Calling InstallShield installers
Posted: Tue Jul 12, 2011 8:32 am
This is a bit of a tricky problem but just in case someone has some advice. To start with, I must apologise for talking about InstallShield here.
The environment I'm working in is a hierarchy of InstallShield installers, each one of which calls the next. For instance A->B->C->D.
I am trying to replace these one at a time with InstallAware installers, so we can migrate over. Starting with position 'C'.
When each InstallShield installer calls another, it uses DoInstall(... installer.inx) rather than just running a setup.exe. The reason why this is done is that you can't normally have two InstallShield installers running at the same time as there is one common installation engine.
From my 'C' installer, I don't know of a way to call Setup.inx, so I am just running the Setup.exe. However, I then get an error from the InstallShield installer:
"The InstallShield Engine (iKernel.exe) could not be installed.
IKernel.exe could not be copied to 'C:\Program Files\Common Files\InstallShield\Engine\6\Intel32'."
I believe what's happening is that it's trying to overwrite the working copy of the InstallShield installer engine, and failing as it's already open.
One thing which would help me overcome the problem would be the ability to launch an InstallShield .inx from within an InstallAware installer.
At the moment I'm using 'Run Program' on the setup.exe and waiting for it to finish. In my InstallAware project settings I have 'Elevate Administrators Only (highest available)'.
Note that this problem is occurring in a situation where I'm trying to phase out InstallShield and replace it with InstallAware, one installer at a time. Thanks for any ideas which would help me achieve this.
The environment I'm working in is a hierarchy of InstallShield installers, each one of which calls the next. For instance A->B->C->D.
I am trying to replace these one at a time with InstallAware installers, so we can migrate over. Starting with position 'C'.
When each InstallShield installer calls another, it uses DoInstall(... installer.inx) rather than just running a setup.exe. The reason why this is done is that you can't normally have two InstallShield installers running at the same time as there is one common installation engine.
From my 'C' installer, I don't know of a way to call Setup.inx, so I am just running the Setup.exe. However, I then get an error from the InstallShield installer:
"The InstallShield Engine (iKernel.exe) could not be installed.
IKernel.exe could not be copied to 'C:\Program Files\Common Files\InstallShield\Engine\6\Intel32'."
I believe what's happening is that it's trying to overwrite the working copy of the InstallShield installer engine, and failing as it's already open.
One thing which would help me overcome the problem would be the ability to launch an InstallShield .inx from within an InstallAware installer.
At the moment I'm using 'Run Program' on the setup.exe and waiting for it to finish. In my InstallAware project settings I have 'Elevate Administrators Only (highest available)'.
Note that this problem is occurring in a situation where I'm trying to phase out InstallShield and replace it with InstallAware, one installer at a time. Thanks for any ideas which would help me achieve this.