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: How to make setup that updates existing installation?
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
‎May 07, 2012
06:45 AM
How to make setup that updates existing installation?
I have read a number of posts on the Internet regarding this and I just can't get it to work. Its driving me nuts. Google "InstallShield Another version of this product is already installed" and see for yourself.
OK so I have an application. It is written in C# using VS 2010 Professional. I release new versions of this application (of course) which contain newer versions of the executable and included resource files (*.dll) and other files.
I use standalone InstallShield as I have had problems with it via VS 2010. Don't know why but that is not relevant to this post.
What I would like to do if possible is to get the installer to update an existing installation of my application, if there are no existing installation then just make a new install. The installer should replace older versions of installed files. In "Add/Remove Programs" or "Program And Features" I want a single entry for my application. If I have understood this correctly this should be a "Minor Upgrade". Is this correct?
Whatever I do I get the "Another version of this product is already installed" message dialog.
In my C# solution I increment the version of both these properties :
[code]
[assembly: AssemblyVersion("1.6.25.7323")]
[assembly: AssemblyFileVersion("1.6.25.7323")]
[/code]
so that the next version would be
[code]
[assembly: AssemblyVersion("1.6.26.5414")]
[assembly: AssemblyFileVersion("1.6.26.5414")]
[/code]
The last four digits are not relevant and this I have read over and over again. Only the three first digits matter.
In the InstallShield project I have:
So by generating a new [Product Code] I get the installer to go through although I get multiple entries in "Add/Remove Programs" or "Program And Features". This I do not want nor do I understand whether it makes the installation corrupt or the Windows Installer confused considering it is the same installation directory/folders.
What the h**l am I doing wrong?
Links I have read:
http://kb.flexerasoftware.com/doc/Helpnet/installshield12helplib/MajorMinorSmall.htm
http://stackoverflow.com/questions/994571/preventing-installation-of-lower-version-over-higher-version
http://setupanddeployment.com/installation-environment/automatically-upgrade-older-versions/
(and many more or less relevant webpages on the subject)
InstallShield 2010 - Express Edition
Version 17
Hotfix A
Please someone help!
OK so I have an application. It is written in C# using VS 2010 Professional. I release new versions of this application (of course) which contain newer versions of the executable and included resource files (*.dll) and other files.
I use standalone InstallShield as I have had problems with it via VS 2010. Don't know why but that is not relevant to this post.
What I would like to do if possible is to get the installer to update an existing installation of my application, if there are no existing installation then just make a new install. The installer should replace older versions of installed files. In "Add/Remove Programs" or "Program And Features" I want a single entry for my application. If I have understood this correctly this should be a "Minor Upgrade". Is this correct?
Whatever I do I get the "Another version of this product is already installed" message dialog.
In my C# solution I increment the version of both these properties :
[code]
[assembly: AssemblyVersion("1.6.25.7323")]
[assembly: AssemblyFileVersion("1.6.25.7323")]
[/code]
so that the next version would be
[code]
[assembly: AssemblyVersion("1.6.26.5414")]
[assembly: AssemblyFileVersion("1.6.26.5414")]
[/code]
The last four digits are not relevant and this I have read over and over again. Only the three first digits matter.
In the InstallShield project I have:
- Updated the [Product Version] to reflect what is listed in the AssemblyInfo.cs (AssemblyFileVersion) file for the executable. ("Organize Your Setup" -> "General Information")
- Kept both [Product Code] and [Upgrade Code] intact. ("Organize Your Setup" -> "General Information")
- Created a new [Upgrade Paths] entry named "NewUpgradeEntry1". This entry has the same [Upgrade Code] as the one listed in "General Information". I have tried fiddling with the settings for the "NewUpgradeEntry1" using Min/Max versions, not using them. Doesn't make a difference. ("Organize Your Setup" -> "Upgrade Paths")
- Updated the [Package Code] manually and using the option "Generate Package Code". Still no workyworky.
So by generating a new [Product Code] I get the installer to go through although I get multiple entries in "Add/Remove Programs" or "Program And Features". This I do not want nor do I understand whether it makes the installation corrupt or the Windows Installer confused considering it is the same installation directory/folders.
What the h**l am I doing wrong?
Links I have read:
http://kb.flexerasoftware.com/doc/Helpnet/installshield12helplib/MajorMinorSmall.htm
http://stackoverflow.com/questions/994571/preventing-installation-of-lower-version-over-higher-version
http://setupanddeployment.com/installation-environment/automatically-upgrade-older-versions/
(and many more or less relevant webpages on the subject)
InstallShield 2010 - Express Edition
Version 17
Hotfix A
Please someone help!
(2) Replies
‎Jan 07, 2013
12:14 PM
Did you ever find a resolution to this? I am having a similar problem where I can't seem to figure out how to create a Setup.exe that can also "upgrade" a previous installation.
If I keep the "Product Code" the same, then I get an error stating that another version is already installed. This holds true even if I change the "Product Version" number.
If I change the "Product Code" (leaving the "Upgrade Code" unchanged), and change the "Product Version" as well, then the new installation I create installs. However, it creates a second entry in the "Add/Remove Programs" list, making it look like two versions of my application are installed, when in fact there is only one.
I have also added an entry into the "Upgrade Paths" tab, called it "v2.00+" and in it I have set the "Upgrade Code" to match the upgrade code of the installation, "Min Version" = 2.00.00 (included) and I set "Include Max Version" to No.
I cant think of anything else to try...
Can anyone supply step-by-step directions on how to get InstallShield 2011 Express to "Upgrade" a previous installation? Is it that the Express version of InstallShield doesn't allow for "Upgrades"? Do you have to purchase the Professional version or higher?
If I keep the "Product Code" the same, then I get an error stating that another version is already installed. This holds true even if I change the "Product Version" number.
If I change the "Product Code" (leaving the "Upgrade Code" unchanged), and change the "Product Version" as well, then the new installation I create installs. However, it creates a second entry in the "Add/Remove Programs" list, making it look like two versions of my application are installed, when in fact there is only one.
I have also added an entry into the "Upgrade Paths" tab, called it "v2.00+" and in it I have set the "Upgrade Code" to match the upgrade code of the installation, "Min Version" = 2.00.00 (included) and I set "Include Max Version" to No.
I cant think of anything else to try...
Can anyone supply step-by-step directions on how to get InstallShield 2011 Express to "Upgrade" a previous installation? Is it that the Express version of InstallShield doesn't allow for "Upgrades"? Do you have to purchase the Professional version or higher?