Setting installed directory in Registry

Meanie

Member
Joined
Jan 4, 2003
Messages
23
When installing my app with the Windows Installer, how can I set a registry key to have the value of the install path as specified by the user?
 
Inno Setup.

My first attempt and writing an installer for my app with Inno worked out so much better than the hour or so I spent trying to figure out the Windows Installer.

Not that Im bagging the Windows Installer, it seems pretty powerful. But I wasnt exactly happy with the fact that it generate 5 different files that need to be distributed together just to ensure compatibility with everyones system (InstMsiA.exe, IstMsiW.exe, Setup.exe, Setup.ini, and the .msi file). The overall size was just too big to distribute (3.56 mb) when Inno gave me a simple 330kb file that did everything Windows Installer did (and was a *hell* of a lot faster at doing it too)
 
Im guessing inno setup didnt include the windows installer bootstraps that install the latest version. The only file you actually *need* from the windows installer project is the .msi file, if youre willing to forget about the user having windows installer installed.
 
True

Though what I dont get is why you need to install the installer just to install the program? Shouldnt the whole thing be self-extracting anway? And why generate an INI file? If the Setup app can find the INI file, couldnt it just find the MSI file and any other installer-required files by itself?

I still dont have a complete understanding of Windows Installer, especially whole bootstrap thing, but the only installer I need is one that suits my purposes. And at the moment Inno does the job just fine.
 
My knowledge of windows installer is by no means comprehensive, but I do know a bit. All you actually NEED to run a windows installer package is the .msi file. These are essentially executable, in that the MSI files are run by the windows installer program. All the other files created (the .ini, setup.exe, and the two bootstraps) are meant for people without windows installer on their machine.

Windows Installer was first packaged with Windows 2000, and that version has been included with every Windows since (ME, XP). However, with .NET there came an updated version of it, so users need this updated version to install packages created with the .NET Setup and Deployment project wizard. This is why people usually include the bootstrap, because without it users wont be able to run the install package.

However - I dont bother with the bootstrap, because when I deploy applications I rely on the fact that dotnetfx.exe (the .net runtime redistributable) installs the latest windows installer on to the machine. I use an autorun menu to give the user two choices, to install the .net framework and then install my application. Once the .net framework is installed the windows installer runtimes will be updated and they can run my .msi file.
 
Back
Top