Page 1 of 1

Installing multiple products with one project

Posted: Mon Feb 14, 2011 6:58 am
by abenedik
I decided to use InstallAware because its script is great to customize the installers.

I am having 5 different products. The installer for all the products should be the same except installed files, product name, product code, version and some other properties.

I wanted to create one InstallAware project that would be customized by compiler variables.

After some searching on your forum I created a project and 5 batch files to build the setup with different compiler variables.
I have used compiler variables for Product Code and Version and set them into Project properties UI Page.

The setup run without problems when installing the first product. But when installing the second product I got an error in the "Apply Install" step - a message box with "Error" text is displayed and the installer terminates. The log file shows error code 1603 - very common problem as seen on your forum.

After a few more days and almost giving up I have found out in Orca that all 5 installers are using the same UpgradeCode!!! I came from Visual Studio Setup projects and there UpgradeCode uniquely identifies all version of one product - it must be different for different products! I searched documentation and forum and did not find any clue how to set UpgradeCode. Than just by chance I found the following:
InstallAwareUpgradeCode1.JPG
InstallAwareUpgradeCode1.JPG (59.66 KiB) Viewed 3024 times
The entered UpgradeCode is the code that is the same for all my products - as seen in Orca.

That was a breakthrough - after I have added a new compiler variable to specify UpgradeCode, the installers for all the product start to work.
This screenshot shows the final version of the settings:
InstallAwareUpgradeCode2.JPG
InstallAwareUpgradeCode2.JPG (35.98 KiB) Viewed 3024 times

This solution works for me. I hope it is the correct way of creating installers for different products and with similar user interface and licensing logic.
If it is the correct way, I would really advice you to improve documentation for this (maybe with a blog post with included sample project).

Now that I have found out the solution, I am wondering what the UpgradeCode means - now I have 3 product guids - ProductCode, RevisionCode and UpgradeCode? Could you please clarify this.

Andrej

Re: Installing multiple products with one project

Posted: Tue Feb 15, 2011 3:50 pm
by giaviv
Dear Andrej,

I am quoting InstallAware's help files which explain this quite well:
The product/revision codes specified on the project options dialog are used by Windows Installer to uniquely identify your installation. If you author two installations that use the same product and revision codes, Windows Installer will treat both as installations of the same product. Therefore, pay attention to the following:

For different products, always use different product and revision codes. Whenever you generate a new project, InstallAware will automatically generate a new product and revision code for you.
For different versions of the same product, including product updates, you may use identical product codes, however you must use a different revision code. Having identical product codes but different revision codes between installer packages indicates that one of the packages is an upgrade.
And regarding Upgrade Code:

Upgrades Product with Product Code:
If your installation upgrades a previous version, enter the product code of that version here.