Page 1 of 1

Installation using Suite installation wizard

Posted: Tue Jan 19, 2021 12:37 pm
by ngurram
Hello,
Here's my scenario:
- I have used Suite installation wizard to include 4 msi packages that needs to be installed as 4 different features / components.
- These msi packages used for feature installation, were created using wix (by a different team).
- I am trying to create a bootstrapper / wrapper exe that will pull the latest versions of these msi and can be installed as individual components / features with Installaware suite installer.
- I was able to successfully create an installer - works perfectly after modifying to fit my needs - installs / maintenance / uninstall - all of it works fine.
- However when I run upgrade (NeedsUpgrade = true) it upgrades the suite, but not the msi. For example: Let's call my components A, B, C and D. First time I installed the suite the msi included had A1.0, B 1.0, C 1.0 and D 1.0. When upgraded suite was built, the later versions of MSIs are included for some components - like A 1.0, B 1.1, C 1.0 and D 1.1.
- I expected when I run the upgrade, it would upgrade all the components that need upgrade - but in reality it only upgrades the suite installation and not the individual msi.
One other observation I had was - the package code that was included when I added the msi (in wizard screen) - that seem to be dynamic per build. So using that to find and upgrade is not going to work. Apparently Upgrade code stays same (?) but I can't find that code in the registries. So I am lost as to how to get the upgrade of individual msi(s) included into the suite upgraded.

Any help is appreciated since I am stuck and out of ideas at this point.

Thanks in advance.

Re: Installation using Suite installation wizard

Posted: Thu Jan 21, 2021 12:04 pm
by FrancescoT
What you are reporting is a correct and expected behavior.

The GUID Code you specified for each one of the MSI's, it's then used by the generated suite-setup to detect if the respective MSI package is already installed on the target machine. In other words, this only detects if the package is already installed or not, and this approach cannot work if you want to detect if the installed package needs to be updated.

Consequently, when creating the wizard from the suite installer wizard, you may select to use the REGISTRY for the package detection. You can query the target registry to check for an installed package.
This information is stored under:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<PRODUCTCODE>
Then from there, you can check the "Version" value.

Please note that depending on tool used to create the setup package, PRODUCTCODE and UPGRADECODE may have a different meaning.

InstallAware uses the PRODUCTCODE to uniquely identify your installation to Windows Installer. It must be unique in each different product, as well as different versions of the same product. While REVISIONCODE gets regenerated on each build of the setup package (by default), and InstallAware uses this code to identify package upgrades.

Hope this helps you.

Re: Installation using Suite installation wizard

Posted: Thu Jan 21, 2021 7:15 pm
by ngurram
Thanks Francesco. I guess I am out of luck on that one :( . These msi were created by another team using wix and upgrade code doesn't seem to be anywhere in the registries. Looks like, I am going to have to re-create the installer using IA.

Thanks once again.