This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Major Upgrade + ISPreventDowngrade + 4 numbers version
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 23, 2009
02:28 PM
Major Upgrade + ISPreventDowngrade + 4 numbers version
Basic MSI project, InstallShield 2010 (no SP1)
I have confirmed that the ISPreventDowngrade will prevent version 1.0.0.0 to be installed if 1.0.1.0 is installed in both case of minor upgrade and major upgrade.
However, if the version would be 1.0.0.0 and 1.0.0.1, in the case that 1.0.0.1 is a major upgrade from 1.0.0.0, the ISPreventDowngrade won't prevent 1.0.0.0 to be installed on top of 1.0.0.1 afterward. In that case we end up with two entry in the add/remove programs.
Just to clarify things a bit, first I create 1.0.0.0 and then 1.0.0.1 which is a major upgrade from 1.0.0.0. Then I install 1.0.0.0 and upgrade with 1.0.0.1. Once that is done, I can install 1.0.0.0 on top of 1.0.0.1.
Is this a bug or an intended feature? This is pretty problematic for us right now.
Thanks
I have confirmed that the ISPreventDowngrade will prevent version 1.0.0.0 to be installed if 1.0.1.0 is installed in both case of minor upgrade and major upgrade.
However, if the version would be 1.0.0.0 and 1.0.0.1, in the case that 1.0.0.1 is a major upgrade from 1.0.0.0, the ISPreventDowngrade won't prevent 1.0.0.0 to be installed on top of 1.0.0.1 afterward. In that case we end up with two entry in the add/remove programs.
Just to clarify things a bit, first I create 1.0.0.0 and then 1.0.0.1 which is a major upgrade from 1.0.0.0. Then I install 1.0.0.0 and upgrade with 1.0.0.1. Once that is done, I can install 1.0.0.0 on top of 1.0.0.1.
Is this a bug or an intended feature? This is pretty problematic for us right now.
Thanks
(5) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 23, 2009
02:40 PM
the Windows installer engine only uses the first 3 places of the product number.
what this means is that as far as the engine is concerned. Version 1.0.0.0 and version 1.0.0.1 are the same version. All Product version comparisons are based on this limitation of the engine.
what this means is that as far as the engine is concerned. Version 1.0.0.0 and version 1.0.0.1 are the same version. All Product version comparisons are based on this limitation of the engine.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 23, 2009
02:46 PM
Hi Lurean,
Thanks for your reply, it might explain the problem, but if from 1.0.0.0 and 1.0.0.1 it was a minor upgrade, then the ISPreventDowngrade will prevent installing 1.0.0.0 on top of 1.0.0.1. I'm just wondering why it's different in the case of a major upgrade.
Thanks for your reply, it might explain the problem, but if from 1.0.0.0 and 1.0.0.1 it was a minor upgrade, then the ISPreventDowngrade will prevent installing 1.0.0.0 on top of 1.0.0.1. I'm just wondering why it's different in the case of a major upgrade.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 23, 2009
02:47 PM
Or maybe it's not the ISPreventDowngrade that prevent the installation and it's something else, yeah, it seems to pop-up earlier than that...
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 23, 2009
02:56 PM
http://msdn.microsoft.com/en-us/library/aa370859(VS.85).aspx
explains that the 4th field of the ProductVersion property is completely ignored by the Windows Installer Engine.
ISPreventDowngrade I believe relies on this fact and only compares the first 3 fields of the product version to determine if it is a downgrade.
Microsoft recommends not using the "small update" and doing a "minor upgrade" instead.
http://msdn.microsoft.com/en-us/library/aa370579(VS.85).aspx
explains that the 4th field of the ProductVersion property is completely ignored by the Windows Installer Engine.
ISPreventDowngrade I believe relies on this fact and only compares the first 3 fields of the product version to determine if it is a downgrade.
Microsoft recommends not using the "small update" and doing a "minor upgrade" instead.
http://msdn.microsoft.com/en-us/library/aa370579(VS.85).aspx
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 25, 2009
12:31 PM
Actually, one of the requirements for a Major Upgrade is that the ProductVersion must be incremented, which means it must be incremented in the first three fields (since the 4th field of ProductVersion has no practical meaning in Windows Installer). So upgrading from 1.0.0.0 to 1.0.0.1 even when changing the ProductCode is not a valid Major Upgrade.
Stefan Krueger
InstallSite.org
InstallSite.org
![](/skins/images/8CE4FAD0DE6F3A6F9D0567434D2D2DAE/responsive_peak/images/icon_anonymous_message.png)