View Full Version : Product and upgrade codes

11-20-2001, 08:53 AM
We are using InstallShield Express 3.03 and I am a bit confused about when to change product and upgrade codes. We have a product which we release once a month or so, each time with a higher version number. I understand that we should keep the upgrade code to be able to upgrade a prior installation - but what about the product code. Should it be unique for each version or only for the product?

If the latter is true, then is it so that every version released of our product should have the same product code and upgrade code. If so, are there any drawbacks using this method rather than generating a new GUID for each release?


11-20-2001, 04:02 PM
I can't get upgrades to work unless I change the product code (gen a new GUID), increase the version number and leave the upgrade code alone.

It seems weird to me that the version number OR the GUID is not enough but no, it must be both.

When you upgrade, do you also distribute the complete installation file? If I just want to update one file in the setup, I can't just send out one compiled msi file because the previous installation gets completely uninstalled! I can't believe I have to keep distributing a 15Mb setup file to make this updating work. (I also don't want to make all files "permanent" because sooner or later the user would like to uninstall the application completely.

What do you distribute with your updates?

11-20-2001, 05:43 PM
This is a limitation of the Windows Installer. The Upgrade Paths property directly exposes the Upgrade Table of the msi. This is meant for Major upgrades only. It's functionality is such that it uninstalls the previous version and installs the newer version (which means you have to distribute the entire setup even to change one file).

The method of replacing/adding specific files without distributing the rest of the setup is to use Patching. Unfortunately Express does not support Patching. You will have to use InstallShield Developer 7 for that functionality.

11-20-2001, 05:57 PM
Thanks Chandima,
Seems I've wasted a few dollars here (just purchased Express_:( ). Even if I go the upgrade path now I'm out of pocket about $300.

Can you tell me what would happen if you just overwrote the one file with e.g. a Package for the Web package. Would that get the whole MSI setup out of whack? Would it destroy the possibililty of doing a proper uninstall or a major upgrade at a later date with MSI?


11-21-2001, 08:52 AM
The best thing to do would be to actually try it out. My initial thoughts are that it wouldn't uninstall this file because the msi (Windows Installer file) has version information and size information. Maybe if the names are the same it still might uninstall it. If not it might just remove all the other files but not this one (because it doesn't quite recognize it). If this is the case you can always delete the file through a Custom Action. The worst that could happen would be give a cryptic error and roll back the uninstallation. This can be bad. But if it's just one file it wouldn't hurt to try.

11-21-2001, 02:38 PM
Thanks Chandima
It seems to work fine on NT at least - I haven't tried 2000. But I've tested updating the exe file several times over the top of an existing one then using the standard uninstall and there are no error messages and all files are deleted (except data files, of course, which are created post install)