- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Cannot install second install instance if first instance has been patched
- 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
I have a test installer and I have created a second instance of it. I also create a test patch for it. The following steps are run:
- Install the release build: msiexec /i TestInstaller.msi /qb
- Install the patch: msiexec /p PatchConfiguration1.msp /qb REINSTALL=ALL REINSTALLMODE=oums
- Attempt to install the instance release build: msiexec /i TestInstaller.msi TRANSFORMS=:InstanceId1.mst MSINEWINSTANCE=1 /qb
- I get an error: A newer version of this application is already installed on this computer.
It will be a requirement for our users to have the option to install and patch one instance at a time. However, from what I'm seeing, msi is requiring you to have both instances installed at the same time, and only then will you be able to update your installs. Is there a way that allows you to install and patch one instance at a time?
Thank you.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
I solved my issue. I needed to have a unique UpgradeCode in my instance. If I plug in a unique UpgradeCode I can install and patch my instances in any order.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Issues with Multi-Instance upgrades are usually caused by shared files between each instance. You may need to make sure that each instance is using isolated files, for example add a different INSTALLDIR property value to each new instance.
Microsoft state that:
"If a product code remains unchanged, only one instance can be installed in the machine context and only one instance can be installed in each user context.
For multiple instances to remain isolated, they must have different product codes and cannot share file data or nonfile data."
https://docs.microsoft.com/en-gb/windows/win32/msi/installing-multiple-instances-of-products-and-patches?redirectedfrom=MSDN
Special Considerations for Multiple-Instance Support:
https://docs.revenera.com/installshield26helplib/helplibrary/MultipleInst-Special.htm
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Thank you for your reply. I am using a different ProductCode for my base install and the instance. The Install directory is also different. In my first iteration, I did have a couple files that both the base and instance installed, but they were installed to their separate install directories. However, in my latest test, I stripped it down as simple as possible. I have:
- First Product that installs one file in its install dir.
- Second Product (which is the instance) installs two files in its install dir.
- My "Common" feature has a release flag "DONOTBUILD" so it's not even getting included.
- Each feature contains its own set of components, each component is set to "Shared".
So, I am not sharing any files or data between the base and instance installers. Yet, if I install First Product, then patch it, I am not able to install Second Product. Here's some screen shots of what I have. If you would like more information just ask.
Thank you.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
I solved my issue. I needed to have a unique UpgradeCode in my instance. If I plug in a unique UpgradeCode I can install and patch my instances in any order.
![](/skins/images/CC38E504FC9E1309DC48ACFEB4925670/responsive_peak/images/icon_anonymous_message.png)