When deploying MSIs with a dependency on the various ISScript engines, I have found that many function perfectly simply by splatting the InstallScript (e.g. Corel Draw) and others require a bit more work. Only a small minority contain so much inbuilt logic that they can't be encouraged to behave like a normal MSI.
I use the following tools:
These are the steps I take:
[list=1]
Install the MSI from setup.exe on the VMWare machine. Make sure that logging is enabled. Sometimes the setup.ini file modifies the default logging options so check the commandline section there.
In Prism take a baseline snapshot and save the file onto the host machine. Also copy the MSI logfile to the host machine.
In InstallShield make a new transform for the MSI
Delete all customactions that use the isscriptbridge.dll. The latest AdminStudio doesn't always remove the corresponding entries from the sequences but their validation errors show which ones to clean up.
Revert the VMWare snapshot and run the MSI with the transform and silently with /qb. If you are not familiar with the InstallScript files and registry entries you may want to install the isscript.msi just so it doesn't show as a difference when the snapshots are compared in Prism.
Get Prism to show the differences between the current VMWare environment and the file that was saved in step 2.
I love Prism. I don't trust isrepackager too much and always want a second opinion on the changes that are made. It shows all the differences in a really nice editor and even shows permission changes.
At this point you'll see how much more needs to be done by the transform
Open the logfile, and find the InstallValidate action. It shows which features got installed. Go to the Feature Table and adjust the Level column accordingly
Prism will shows the registry entries that were added by the script. They can be exported as a .reg file to be imported into the transform.
Do not do this for HKCR or HKLM\Software\Classes or you get loads of ICE33 errors. Implement these using the components' Advanced Settings in the usual way.
Replicate any shortcuts that showed up in the shortcuts view
Often packages have folders that have their destinations set by the script so go to the files and folders view and relocate any components that Prism showed as being in the wrong place.
Return to step 1 frequently to see how your work is progressing.
As with any transform for corporate deployment it is worth attacking any entries in the SelfReg and ISSelfreg by deleting all entries and adding the COM using the components’ Advanced Settings.
This technique works for me. I get a nice clean MSI that still resembles the original with all the components remaining intact. So much safer than repackaging.
If you need me to expand on any of the steps, let me know.
looeee