View Full Version : Choosing Best IS Version?

08-05-2004, 02:54 PM
I have an unusual installer project I'm trying to tackle. The instalation itself is quite simple, a self-contained download-MSI just putting a new application in Program Files, but I also want to copy data from a separate CD-ROM.

Specifically, I wrote some updates for the old Quake II to work correctly in Windows XP as a restricted user.

The installer is to install the new program code and support files from a self-contained MSI into %programfiles%, but it is then supposed to copy game data from the original Quake II CD-ROM and, optionally, from any mission pack CD-ROMs. Because I'm not redistributing original game data, I need to know which CD-ROM drive to read that game data from, as well as know what drive letter it is to program the Start Menu shortcut arguments (+set cddir [x]:\install\data)

I was able to hack together a self-contained MSI using the tools included in Visual Studio NET 2002, use one of the included dialogs to prompt the user for a CD-ROM drive letter, and write a custom action EXE that prompted for and copied game data. There were two problems with that approach:

* The installer required .NET Framework to be installed, even though the game itself doesn't need it.
* The uninstall routine does not pass installation information or arguments (such as [INSTALLDIR]) to any custom action used for un-installing. As a result, original game data is left behind after an uninstall.

I don't want to make people download .NET just for a lousy installer. I also don't want to leave old data behind after an uninstallation - the modified game does not store any kind of files in %programfiles%. And the download must be a self-contained MSI file - no self-extracting executables, no loose files save those from the original game CD-ROMs, no special IS code, and no .NET. The only prerequisite should be Windows Installer 2.0.

Is the Express version adequate to achieve what I want to do, or do I need the Professional version which would let me create custom dialogs and such?

I have an example of what I want to do here:
But that installer needs .NET Framework to run.

Mike Marino
08-12-2004, 09:10 PM
Sounds like you could do the main install with Express X. You would need to write a custom action to do the file copy from the CD-ROM however. This could be in VB Script or C++.

Try the Eval. When you build make sure you select the SingleImage option and set "Include Setup.exe" to No. This will give you a single MSI file to distribute.

Christopher Painter
08-12-2004, 09:47 PM
It sounds like you havn't bought InstallShield yet. It may make sense to hire someone to do the install for you.