cancel
Showing results for 
Search instead for 
Did you mean: 
DataAnalyzer
Pilgrim

Re: Upgrading a Product with a New Product Name Fails

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?
0 Kudos
Dan_Galender
Occasional contributor

Re: Upgrading a Product with a New Product Name Fails

What project type is this?
0 Kudos
DataAnalyzer
Pilgrim

Re: Upgrading a Product with a New Product Name Fails

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.
0 Kudos
Dan_Galender
Occasional contributor

Re: Upgrading a Product with a New Product Name Fails

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.
0 Kudos
DataAnalyzer
Pilgrim

Re: Upgrading a Product with a New Product Name Fails

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.
0 Kudos
Georg1
Pilgrim

Re: Upgrading a Product with a New Product Name Fails

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.
0 Kudos