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

Single transform for Multiple MSI's, Is it possible?

I have an setup.exe with me. During installation it extracts MSI from it and the installation starts with those extracted MSI. I have to create a transform that would install all the Extracted MSI. Is it possible to create a transform that customizes all the MSI's. If possible let me know how that can be done.
(2) Replies
This may be just semantics or just a language thing, but transforms don't install .msi files. Transforms are added to the command line when the .msi is passed to the Windows Installer service.

Based on that, my thinking is that you've got a couple (or more) .msi packages that you want to make changes to. The changes are identical for each .msi file (and don't include adding/removing files). You can create a single transform (.mst) that can be applied to each .msi. You'll need to launch each msi with the TRANSFORM command line individually.

The easiest way to do this is through Orca:

1. Create your transform in whatever manner you find convenient with any of the .msi packages. When you're done the transform can only be applied to the .msi package that it was created with. The remaining steps fix that.

2. Open the original .msi within Orca. Use Transform->Apply Transform... to apply the transform back to the .msi package.

3. Select Transform->Transform Properties...

4. Under validation, uncheck 'Same Product Code'

5. Select File->Save Transformed As... and give the transform a new name.

That's it. The saved transform can now be applied to multiple .msi packages. Keep in mind that this is safe for relatively minor changes.

Hope that helps,
You can do what is recommended above to you in InstallShield 12 and earlier or InstallShield Tuner as well. All you have to do is go to Project / Settings in InstallShield 12 or earlier and De-Select the following:

  • Match Product Code
  • Match Upgrade Code
  • Match Language


Also Make sure that Product Version is set to None.