Kinook Software Forums

Kinook Software Forums (
-   [VBP] User Tips, Tricks and Samples (
-   -   Changing InstallShield product code (

mweinberger 12-27-2005 06:11 PM

Changing InstallShield product code
Hi guys,

I want to change the product code for an InstallShield project. I can change the code using the function below but am running into a problem on how to update the 'Uninstall' shortcut, which uses the product code. I'm using the IDriver.exe method, as this project is an InstallScript MSI project.

Function InstallShieldChangeProductCode()
'Create the InstallShield Developer automation object
Set objInst = CreateObject("ISWiAuto10.ISWiProject") 'For InstallShield X
'use "ISWiAutomation.ISWiProject" for InstallShield Developer
'use "ISWiAutomation9.ISWiProject" for DevStudio 9
'use "ISWiAuto10.ISWiProject" for InstallShield X
'use "ISWiAuto1050.ISWiProject" for InstallShield 10.5
'use "ISWiAuto11.ISWiProject" for InstallShield 11

'Open the project file
objInst.OpenProject Step.ExpProperty(Builder, "Filename")

'Change the product and package codes.
objInst.PackageCode = objInst.GenerateGUID();
objInst.ProductCode = objInst.GenerateGUID();

'Update the 'Uninstall' shortcut.

'Save changes
end function

Thanks in advance for your thoughts on how to update the uninstall shortcut too.


mweinberger 12-28-2005 11:07 AM

Current thought
In case anybody is following this thread, I'm currently thinking of solving the problem from within InstallShield. The IS project should be able to pull its own product code for the uninstall shortcut argument rather than having it hard coded. I should be able to do something like


rather than


as the argument for IDriver. The specific thought above failed, but I continue to try.

mweinberger 12-28-2005 11:15 AM

I did it!
Cool, I just saved myseslf hours of work on all my projects. The solution is:


You an create an uninstall shortcut that automatically updates, when the producct code changes by using the above code rather than the explict one that the InstallShield product itself creates. For those that use the /x method the principle should be the same.


Martin A. Weinberger

All times are GMT -5. The time now is 01:05 PM.

Copyright 1999-2022 Kinook Software, Inc.