I have been trying recently to create a simple installer using Visual Studio .Net 7.1 setup project.
All i needed my installer to do was to run a simple program from a shell. I didn’t need any program folders, registry keys and of course no entry into the Add Remove programs. Such thing is simply impossible! I ended up creating a dummy installer class, to use it as a custom action during install. What i did in that installer class was simply to throw an InstallException so that the installation rolls back and thus not getting the entry of my installation into Add Remove programs.
Next problem was that i didn’t want the user to know about this intended failure. I tried to play with the installers gui but things there are sort of ‘hardcoded’ so you can’t change the messages of your installer’s Finish screen. One sollution that came to me was to erase all dialogs (since i required no input from the user during installation).
All the above was quite a mess for a simple almost do-nothing installer. Among other things, due to the use of the installer class i created, the user of the installer was also required to have the .Net Framework 1.1 on his system!!!
Finally i used Inno Setup and everything was ready in minutes. In specific the functionality in wanted (no entry in Add Remove programs) was simply one checkbox.
What a mess…