How can I do a Minor Upgrade
Posted: Thu Aug 09, 2007 2:29 pm
What I really want to do is what Microsoft refers to as a "Minor Upgrade". This is supposed to be an upgrade in which the Product Version number is changed, features and/or components can be added or updated, but the Product Code is not changed. I always thought that Windows Installer would handle this right from the MSI file and just "do the right thing" automagically. Based on what I've been reading in these forums, I must conclude that either this type of update is, in fact, not impossible, or else no installer tool actually supports it (including IA).
One might think that a patch could solve this problem, but after reading IA's docs and quite a few posts, I've determined that this is not true. Patches have two fundamental limitations that make them useless for me (and IMHO, seriously limit their usefulness in general): 1. They require previous installation media (unacceptable for our user base) and, for all practical purposes, won't work with compressed self-extracting EXE installers. 2. They cannot change the version number of installed products (effectively transforming it into the newer product).
So, it appears I have no alternative than to do a complete uninstall/reinstall cycle to accomplish something as simple as replacing a single file with a newer version, and updating the version number that appears in add/remove programs. IA gives me the flexibility to deal with this and to hide it from the user, but it still forces me (the developer) to do extra work on the script and more extra work to preserve state across the uninstall/reinstall cycle - work I would not have to do if I could just replace a couple files and be done with it.
If I've missed something here, I'd sure like to know about it. Thanks.
One might think that a patch could solve this problem, but after reading IA's docs and quite a few posts, I've determined that this is not true. Patches have two fundamental limitations that make them useless for me (and IMHO, seriously limit their usefulness in general): 1. They require previous installation media (unacceptable for our user base) and, for all practical purposes, won't work with compressed self-extracting EXE installers. 2. They cannot change the version number of installed products (effectively transforming it into the newer product).
So, it appears I have no alternative than to do a complete uninstall/reinstall cycle to accomplish something as simple as replacing a single file with a newer version, and updating the version number that appears in add/remove programs. IA gives me the flexibility to deal with this and to hide it from the user, but it still forces me (the developer) to do extra work on the script and more extra work to preserve state across the uninstall/reinstall cycle - work I would not have to do if I could just replace a couple files and be done with it.
If I've missed something here, I'd sure like to know about it. Thanks.