cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Matronix
Level 6

Major Upgrades - How to automatically update the product code?

Not exactly sure if this is the correct way to do this, but this is how we are doing it currently.

We want a Major upgrade every release and to for the install to uninstall all of the product and put the new product into place. To get that result we change the version number and product code but leave the upgrade code the same.

Currently we are manually changing the product code each release before we start our automated builds. Is there a way (by command line?) to generate a new Guid or pass in a new Guid? We currently pass in the product version with -y
Labels (1)
0 Kudos
(6) Replies
Not applicable

I used VBScript to do this. First I changed the ISM file format to XML , so that I can easliy use DOM objects to do all required actions.
0 Kudos
HenryL
Level 5

You can do this via the IS Automation Interface.
1. Create an IswiAuto15.ISWiProject/SAAuto15.ISWiProject object (take IS2009 for example).
2. Call the GenerateGUID method to generate a new GUID.
3. Pass the value to ProductCode property.
0 Kudos
Matronix
Level 6

1) How do I convert my ISM to XML? I have been looking all over for this.

2) Automation Interface?
0 Kudos
RobertDickau
Flexera Alumni

General Info > Project Properties > Project File Format is where you choose between Binary (MSI) and XML formats. The project file ends with the .ism extension, regardless of format, and the InstallShield Automation interface works with the project file in either case.

Please see the help topic References > Automation Interface for more information about that.
0 Kudos
Matronix
Level 6

I just found the converting to XML part right before you posted.

The Automation Interface thing I am still a little confused on. this is a dll that you can interface with and I can use it in my build process by calling functions in the dll with scripts? Does this support C#?
0 Kudos
RobertDickau
Flexera Alumni

Right, the Automation interface is for manipulating a project from outside the InstallShield environment. The examples are set up to use VBScript, but you can use C/C++, Perl, .NET languages, etc., with a bit of translation. Searching these forums and the KB will turn up examples.
0 Kudos