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
- :
- HELP! Downgrade and major upgrades
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
‎Sep 14, 2009
08:19 AM
HELP! Downgrade and major upgrades
We created our installer with using IS2009 Premier Edition, the project type is InstallScript MSI project.
We released version 1.0 (sent to customers).
Now we're in process of release version 2.0, it will be the major upgrade (new Product Code, the same Upgrade code).
We found a very bad thing: our 1.0 version can be installed over 2.0 - it creates two items in ARP and both version became nonworking in this case.
I did some research and found that it should be a special item added to Upgrades view to make it work properly, ISPreventDowngrade.
Here is the quotation from IS2008 or IS2009 documentation:
"When you create a new Basic MSI or InstallScript MSI project, InstallShield automatically adds support for preventing the current installation from overwriting a future major version ISPreventDowngrade".
But it is not true for the InstallScript MSI project type!!!
It works only for Basic MSI.
So, I have two questions:
Is this a InstallShield bug?
How can I fix it considering that I cannot change installer script of my 1.0 version?
thanks.
We released version 1.0 (sent to customers).
Now we're in process of release version 2.0, it will be the major upgrade (new Product Code, the same Upgrade code).
We found a very bad thing: our 1.0 version can be installed over 2.0 - it creates two items in ARP and both version became nonworking in this case.
I did some research and found that it should be a special item added to Upgrades view to make it work properly, ISPreventDowngrade.
Here is the quotation from IS2008 or IS2009 documentation:
"When you create a new Basic MSI or InstallScript MSI project, InstallShield automatically adds support for preventing the current installation from overwriting a future major version ISPreventDowngrade".
But it is not true for the InstallScript MSI project type!!!
It works only for Basic MSI.
So, I have two questions:
Is this a InstallShield bug?
How can I fix it considering that I cannot change installer script of my 1.0 version?
thanks.
(3) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 15, 2009
03:29 AM
Why dont you get your installed version from registry, compare it with your current version, give appropriate message and abort. You can do this check in your OnBegin().
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 15, 2009
05:45 AM
J_anitha wrote:
Why dont you get your installed version from registry, compare it with your current version, give appropriate message and abort. You can do this check in your OnBegin().
because, as I already mentioned, we already released version 1.0 and I cannot change its code.
The real problem is the InstallScript MSI project BY DEFAULT does not include downgrade protection in case of major upgrade. If its minor upgrade, it works fine, it says "higher version is installed" and exits. If I install v1.0 over v2.0 and it's major upgrade, it does not recognize that higher version is installed and installs v1.0 along to v2.0 which makes both versions nonworking.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 18, 2009
03:08 AM
After couple of days fighting with the problem I found a solution. I installed 1.0 version and found all the registry keys that are added by installation, then I created .reg file to imitate that 1.0 version 999 is installed.
My 2.0 installer adds these registry values and this makes 1.0 installer believe that higher version is installed and prevent downgrade.
It works, by I really disappointed by the InstallShield default behavior, it should be done without any manual work or at least it should be some highlighted item in the project wizard.
My 2.0 installer adds these registry values and this makes 1.0 installer believe that higher version is installed and prevent downgrade.
It works, by I really disappointed by the InstallShield default behavior, it should be done without any manual work or at least it should be some highlighted item in the project wizard.
![](/skins/images/8CE4FAD0DE6F3A6F9D0567434D2D2DAE/responsive_peak/images/icon_anonymous_message.png)