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
- :
- Upgrading a Product with a New Product Name Fails
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 21, 2018
02:09 PM
Upgrading a Product with a New Product Name Fails
We have a product "MyProduct Basic" that people install.
We create updates for the product and just change the version number in InstallShield, When the setup program is run, if it detects it's installed, it upgrades it. If not, it performs the full installation. Works great!
We created a new Product Configuration with a new name (e.g MyProduct Pro). We want that setup to be similar to the upgrade and the Basic version if it's already installed. Because the product name changed, that doesn't happen even though I have it using the same product GUID (or not). Neither works..
Is there a way to update the existing installation and change the name so it replaces the existing program on disk and in the Windows Control Panel Add/Remove Programs list?
Without that, we are forced to tell the user:
1. Uninstall the existing version and install the new one, or
2. Have our setup program keep the old program name (so Basic stays forever) which would confuse people if they go to the control panel list since the thought they own the Pro version. For new installations, it would say Basic when it should be Pro, so that's unacceptable.
Not sure what I'm missing to handle this. Thanks in advance.
.
We create updates for the product and just change the version number in InstallShield, When the setup program is run, if it detects it's installed, it upgrades it. If not, it performs the full installation. Works great!
We created a new Product Configuration with a new name (e.g MyProduct Pro). We want that setup to be similar to the upgrade and the Basic version if it's already installed. Because the product name changed, that doesn't happen even though I have it using the same product GUID (or not). Neither works..
Is there a way to update the existing installation and change the name so it replaces the existing program on disk and in the Windows Control Panel Add/Remove Programs list?
Without that, we are forced to tell the user:
1. Uninstall the existing version and install the new one, or
2. Have our setup program keep the old program name (so Basic stays forever) which would confuse people if they go to the control panel list since the thought they own the Pro version. For new installations, it would say Basic when it should be Pro, so that's unacceptable.
Not sure what I'm missing to handle this. Thanks in advance.
.
(15) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 22, 2018
02:56 PM
To change the product name, you'll want to create a Major Upgrade. Change the ProductName, change the ProductCode, change the ProductVersion, and author a Major Upgrade item in the Upgrades view.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 22, 2018
05:09 PM
DanGalender wrote:
To change the product name, you'll want to create a Major Upgrade. Change the ProductName, change the ProductCode, change the ProductVersion, and author a Major Upgrade item in the Upgrades view.
Thanks. Glad to know it's possible. I must be misunderstanding something.
Where is the Major Upgrade Item? Is it under the Product Configuration or Releases? How do I link the two Product Configurations to each other?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 22, 2018
06:20 PM
Look in the Upgrades view (Between Path Variables and Releases) and read the topic "What is a Major Upgrade?"
If both versions were created by the same project, the linkage is done through the Upgrade Code.
If both versions were created by the same project, the linkage is done through the Upgrade Code.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 24, 2018
01:36 PM
Thanks. I see the Upgrade code in the Media/Upgrades section.
How is that different from the Upgrade Code in the Releases?
Is there only one Upgrade code for all Releases or do I use the same Product Code and Upgrade Codes in the Releases (General tab) to tie them together?
And if so, does it need to be the same Upgrade Code as the one in the Upgrades page.
Thanks.
How is that different from the Upgrade Code in the Releases?
Is there only one Upgrade code for all Releases or do I use the same Product Code and Upgrade Codes in the Releases (General tab) to tie them together?
And if so, does it need to be the same Upgrade Code as the one in the Upgrades page.
Thanks.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 24, 2018
02:16 PM
If you don't change it (and you shouldn't), The UpgradeCode will remain the same across all releases and versions of your projects. You use it in the Major Upgrade field so that the upgrade process can find older versions of your product that have been installed on a given machine when installing this version.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 24, 2018
03:07 PM
Thank you. I've confirmed that we can get the setup to kick into upgrade mode by using the Upgrade Code, but it triggers an Error 1316: The specified account already exists.
Seems like I ran into this error 3 years ago when I tried this and discovered it was tied to changing the product name: https://community.flexerasoftware.com/showthread.php?219059-Error-1316-The-specified-account-already-exists
Not sure how to get around since we need to change the product name.
That said, maybe this other issue can fix that. When a Major Upgrade occurs, we need to run the code we currently have in the OnFirstUIBefore function. We have code to prompt the user to enter their new Serial Number that we need to validate for the upgrade. That function is skipped during an update. Can we set something so that it's run only for new installations and Major Upgrades?
Seems like I ran into this error 3 years ago when I tried this and discovered it was tied to changing the product name: https://community.flexerasoftware.com/showthread.php?219059-Error-1316-The-specified-account-already-exists
Not sure how to get around since we need to change the product name.
That said, maybe this other issue can fix that. When a Major Upgrade occurs, we need to run the code we currently have in the OnFirstUIBefore function. We have code to prompt the user to enter their new Serial Number that we need to validate for the upgrade. That function is skipped during an update. Can we set something so that it's run only for new installations and Major Upgrades?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 24, 2018
03:45 PM
Did you change the ProductCode in the project when you changed the product's name?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 24, 2018
07:00 PM
The product configuration has a Product Code GUID for the new release that is the same as the Product Code for the previous version. But the names are different.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 25, 2018
09:45 AM
Please read that topic I referred you to "What is a major upgrade?" in the Upgrades view. The first sentence under the heading "How do you get a major upgrade to work?" states that the ProductCode must be changed for a major upgrade to work (emphasis mine). Changing the product's name is permitted in a major upgrade, but not necessary. Changing the ProductCode is necessary.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 25, 2018
01:05 PM
Thanks. Sorry for not picking up on that. We'll go ahead and try that.
How about running the OnFirstUIBefore function during the Major Upgrade?
How about running the OnFirstUIBefore function during the Major Upgrade?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 25, 2018
01:16 PM
What project type is this?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 26, 2018
09:38 AM
This is an MSI project. It installs a Windows program.
I created a new build with a different product code but same Upgrade Code as the previous installation. For whatever reason, the Upgrade Code GUID was already defined for the version we've already released. When the setup program ran, it treated it like a new product rather than trying to upgrade it.
I created a new build with a different product code but same Upgrade Code as the previous installation. For whatever reason, the Upgrade Code GUID was already defined for the version we've already released. When the setup program ran, it treated it like a new product rather than trying to upgrade it.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 26, 2018
10:04 AM
Yes, unless you change the UpgradeCode (which you should not do), the project will remain the same as you continue to upgrade the product that your installer installs.
Basic MSI projects do not run the events like "OnFirstUIBefore".
What a major upgrade does is to implicitly uninstall the old version and then installs the newer version, so yes, it presents the same user interface as a first-time installation--that's how it upgrades existing versions of your product on those computers. This type of upgrade is the only one that will allow you to change the product's name. I can't urge you strongly enough to very carefully read the entire topic I've referred to several times now called "What is a major upgrade?". In it it says, in part, that a major upgrade will look the same as a fresh installation when run on a system with an earlier version installed on it. It then goes on to explain the uninstallation process that a major upgrade implicitly performs.
Basic MSI projects do not run the events like "OnFirstUIBefore".
What a major upgrade does is to implicitly uninstall the old version and then installs the newer version, so yes, it presents the same user interface as a first-time installation--that's how it upgrades existing versions of your product on those computers. This type of upgrade is the only one that will allow you to change the product's name. I can't urge you strongly enough to very carefully read the entire topic I've referred to several times now called "What is a major upgrade?". In it it says, in part, that a major upgrade will look the same as a fresh installation when run on a system with an earlier version installed on it. It then goes on to explain the uninstallation process that a major upgrade implicitly performs.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 27, 2018
12:17 AM
I'm not sure what a "Basic" MSI project is. I use an ISM file and it has the OnFirstUIBefore event.
I've read and re-read the "What is a major upgrade?" section and still can't seem to get it to work.
When I keep the same Upgrade Code and change the Product Code, the installation runs, but it installs but doesn't uninstall the previous version.
If I keep the same Product Code, it triggers the Error 1316 I mentioned earlier.
Are there any sample ISM files I can use to see how it works?
I'm stuck with a situation where the existing Product Configuration already has a product and upgrade GUID that I presume overrides the values at the General Information level. So when I'm setting those values, I'm doing it at the Product Configuration, not overall General Information section. Should I change something at that level?
Thanks in advance for your patience with me.
I've read and re-read the "What is a major upgrade?" section and still can't seem to get it to work.
When I keep the same Upgrade Code and change the Product Code, the installation runs, but it installs but doesn't uninstall the previous version.
If I keep the same Product Code, it triggers the Error 1316 I mentioned earlier.
Are there any sample ISM files I can use to see how it works?
I'm stuck with a situation where the existing Product Configuration already has a product and upgrade GUID that I presume overrides the values at the General Information level. So when I'm setting those values, I'm doing it at the Product Configuration, not overall General Information section. Should I change something at that level?
Thanks in advance for your patience with me.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 27, 2018
04:47 AM
As I understand your old product has some features and these are installed after the upgrade but shouldn't - that's why you think it's not uninstalled?
This might be related to the changed product code. Dan already descriped the behaviour but is missing one point I think. In case of the major upgrade the installer trys to migrate the feature states of the old installation. As long as this is possible the previously installed features are re-installed - so in case of a custom installation where the user picks specific features these are installed without the need to select them again. This means it is not exactly uninstall and new install.
With our setup we had the issue this doesn't work and the user was forced to select the features again after a major upgrade. This was caused through "breaking changes" which caused the migration of old feature states to fail and then you have a full uninstall and new install with all the dialogs involved.
In our case we removed old components from the installation. If you can't do that, change or remove a feature name which existed in the old installation should have the same effect.
Perhaps try something along those lines.
This might be related to the changed product code. Dan already descriped the behaviour but is missing one point I think. In case of the major upgrade the installer trys to migrate the feature states of the old installation. As long as this is possible the previously installed features are re-installed - so in case of a custom installation where the user picks specific features these are installed without the need to select them again. This means it is not exactly uninstall and new install.
With our setup we had the issue this doesn't work and the user was forced to select the features again after a major upgrade. This was caused through "breaking changes" which caused the migration of old feature states to fail and then you have a full uninstall and new install with all the dialogs involved.
In our case we removed old components from the installation. If you can't do that, change or remove a feature name which existed in the old installation should have the same effect.
Perhaps try something along those lines.