
I am currently trying to create an installer which I can use multiple times for different data.
I removed maintenance mode and used a constant to declare a version number, so if you run the installer a second time you will only get an uninstall option, but running a newer version of the setup will allow you to run the install as usual. This seems to work nicely.
However, I need to make multiple copies of this setup (which is something I used to do in IS5), so I copy the folder itself, rename the .ipr and ._ip files and the folder itself etc.
I then change the data in the (generically named) file groups, change a couple of constants which are referenced throughout the script, change the project name, some string table entries and a script defined destination folder, so I have a new version of the setup which installs different data (to make this easier to understand, I'm installing digital map data which is used by an application, so what I'm doing is creating individual installers for each country\map rather than one big setup which allows you to choose your map from a list, making them easier to distribute electronically).
Anyway, presumably because the DISK1TARGET or something is somehow identical for both, the second one runs as if in 'update' mode, not displaying SdAskDestPath(), and installing the different data to the same location as the first installer, thinking it's the same setup but somehow subtley different enough for it *not* to ask me to uninstall...

What's odd is that if it thinks it's the same setup, why doesn't it uninstall when I run the second installer? Surely, because the VERSION constant is actually the same in both, it would just uninstall rather than update, because that's what I've set it up to do under those circumstances. The only place UpdateUI() is called (AFAIK) is when the same setup is run a second time and the APP_VERSION contant is greater than it was the last time.
I have to admit that I still don't fully understand the way IS6 works in terms of maintenance mode etc. It really annoys me that I can't do things that I used to take for granted in IS5.
Maybe this is something obvious, but it's driving me mad! All I want is to be able to duplicate this setup (which on its own works just how I want it to) lots of times and only have to change a few vars and constants etc each time.
Hope someone can shed some light. Sorry about the long post
