Visual Studio 2003

First time I ever used Visual Studio 2003 was in May 2006. Up until that date I keept using that good old Visual Studio 6.0. It took me like 3 years to get down to it. Software is such a fast moving industry wink !!!

MSI installer / Setup Project

Nowadays they have that nice MSI installer system on Windows. Using Visual Studio 2003 you can create a Setup Project to produce an MSI installer. Once you get use to it, it seems an easy way to produce MSI. Once you get use to it smile . In fact there are a few things that are quite frustrating at first.

Conditional shortcut installation

In my first Setup Project I just wanted to install shorcuts conditionally. Believe me or not but doing that is not intuitive at all. It took me some looking up on the internet until I found that page. Shortcuts to a file are installed if the file itself is installed. So you have to fill in the condition property in the file itself rather that in the shortcut directory. As a result if you have various shorcuts to the same file that you want to install conditionally you have to have multiple times the same file in your Setup Project. Hope it all makes sense to you. Mmmmh probably not...

Launching an EXE after installation

I also wanted to launch an EXE at the end of the installation process. There again it's a very common thing to do for an installation program but the solution I came up with is not so straight forward. Mind you there might be an easier solution. By adding an item in the Custom Actions page you can easily execute a program you are installing. Now the problem is that the installer actually waits for that program to finnish before completing. So what I wrote a launcher executable to launch the program I just installed. So my launcher executes, launches the installed progam and complete so the installer itself can complete. The launcher takes the full path to the program to execute as an argument. This is done by using [TARGETDIR] in the argument property of the Custom Action object.

Killing a process upon uninstallation

If the program you are uninstalling is a resident executable you surely want to terminate that process upon uninstallation. Here again I used Custom Actions to do that and wrote an EXE to kill the process. The process name is given using the argument property in Custom Action object.