Windows Installer and Setup with .NET


Viviana Vc

Hi all,

My company until now had an InstallShield script based setup used to
install our product on users machine.

Now it was taken the decision of doing this using Windows Installer. As
I have no experience with this I started to read in MSDNL most of the
things I found related somehow to the subject.

I have several questions:
1) I started to read the "An Installation Example" from
in order to start a sample. This one states that "you need a software
tool capable of creating and editing a blank Windows Installer
database", database which I assume will be later part of the generated
..msi file.

On the other hand I created using VC++ .Net 2003 a "setup and Deplyment
Projects" -> "setup Wizard" project which by building generates the
setup.exe and the associated .msi file (see;en-us;307353).

Does this mean that:
- Setup package created using Visual Studio .NET
- setup package created using "a software tool capable of creating and
editing a blank Windows Installer database"
are 2 different ways of creating a setup project?
If yes what is the difference, what are the pros and cons for each
They are both "windows Installer" packages right? or am I missing

I would preffer the first method as it seems I don't need any additonal

2) The design for my installer is pretty simple (it has to be
- installation should run only for Win2000 SP3 and up and XP
- it has to be run only by a user with full admin rights
- has one component as all the files need to be installed at once
- several sub-components containg files that need to install in
different subdirectories in the Program Files\My App directory
- user decides the target directory (where the app will be installed)
- some registry entries
- some shortcuts
- run some exe's that just got installed just before the installation
procedure ends
- on uninstalling run some exe's and depending on their return values
abort the uninstaller or continue
- on uninstalling delete some directories that were created while the
product ran on that computer
- on uninstall show the user a dialog with 2 radio buttons and depending
on his choise one exe will be executed or another

Is this doable using the methods described at point 1)?

Sorry for the long post,
Thanks a lot in advance,



Phil Wilson

If the tool builds an MSI file, it's building a Windows Installer setup. The
MSI SDK is another way of creating an MSI file, but it can be complicated to
manually create all the associations between files, installer components
etc. A VS 2003 setup project sounds like it might be enough for what you
want to do. List of tools here:

Viviana Vc

Thx for the answer. I will read the suggested link.

So now I think I understood:
- Orca
- VS .NET "Setup and Deplyment Projects"
are both used to generate .msi files which means creating a Windows
Installer setup.

The difference is that:
- Orca is very primitive and tedious to use
- VS .NET is easy to use but somehow more limited than Orca

So the choises would be:
- use VS .NET if the requirements of the installer are not too wide as
then VS .NET might not be able to cover those
- use Orca if you have the nerves
- buy InstallShield or Wise if you want something easy-to-use and which
covers all the possible needs

Am I correct here? Any other choises?
Thank you,

Phil Wilson

That's right, but don't overlook some of those other tools listed on that
page. Wix is free, fully-featured, but you do need to know the guts of
Windows Installer. Advanced Installer is another alternative too.

Viviana Vc

Thank you for your answer. I went over the link you suggested and I have
one more question and you might already know the answer ...

One requirement for our installer is to be created on runtime and the
creation to be automated. In other words as part of the build process
of the whole project might be patching the installer with some data for
instance changing the name of the application or adding a new file into
an already existing component or similar stuff.
For instance we have now an InstallShield Professional 7.0 project which
consists from 2 files: .ipr (generated by the wizard) and .rul
(containing the script) files, and these both are text file so changing
something in those files before building the project is doable on the
fly and is automated.

AFAIK, the same could be done with VS .NET Installer as this one is a
..vcproj file which is text so can be changed also on the fly and then
it is build and generates a .msi file.
On the other hand, I can't use Orca because this one starts from a .msi
file and generates a .msi file so being a binary file I can't do
changes in that file on the fly so it's not an option.

So my question is: do you know from the whole installer list here which
ones meet my requirement? Meaning generates a text file which can be
changed in an automated way and then by building it the .msi file is


Dennis Bareis




Viviana Vc

Thanks for the answer. I'll give it a try ...

Any others from there that meet my requirement so I could give it a try?


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question