Issues upgrading InstallShield from 2009 to 2016

329 views Asked by At

I have upgraded InstallShield successfully from 2009 standalone build to 2016 standalone build. Currently using "InstallShield 2016 Standalone build" to build my package. Before creating the package i have kept a check to verify whether "InstallShield 2016 Standalone build" is installed in the system". Below is the .js code.

try
   {
      var testStanAloneBuilder = new ActiveXObject("IswiAuto23.ISWiProject");
      delete testStanAloneBuilder;
   }
   catch (e)
   {
      ErrorExit("ERROR: The required InstallShield Stand Alone Builder is not installed.");
   }

The exception error message received is "Automation server can't create object". Can anybody please let me know if i need to do any post installation settings after installing InstallShield 2016 stand alone build.

2

There are 2 answers

4
Christopher Painter On BEST ANSWER

I haven't used IS in a few years but here's a few tips that should help.

1) The SAB exposes the automation interface as an optional feature to install. It might not be installed.

2) The automation interface only supports 32bit. You'll get errors trying to use it from a 64bit process. (For TFS builds I select x86 msbuild platform ).

3) You should be able to have different versions of the SAB installed on the same build machine. (Or create different classes of machines even better.)

4) I like to setup parallel builds when trying out new versions of InstallShield. You should be able to keep the .ISM at the old schema and build it with both engines. (The newer SAB will upgrade the shema during the build.) Once everything checks out you can update the .ISM to the latest version of InstallSield.

0
Mike On

It would be nice if InstallShield provided a 64bit version of their automation interface, but until then.... try this.
Add a surrogate registry key for the InstallShield automation object by adding these keys. This CLSID is for IswiAuto23.
If you have a different version of the InstallShield automation object installed, then search the registry for the matching InstallShield clsid and update registry accordingly.

[HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{3C44313C-4B47-4C59-BA06-1398FABFCDAD}]

"AppID"="{3C44313C-4B47-4C59-BA06-1398FABFCDAD}"

[HKEY_CLASSES_ROOT\WOW6432Node\AppID\{3C44313C-4B47-4C59-BA06-1398FABFCDAD}]

"DllSurrogate"=""