4

I'm trying to streamline the installation of a package that requires a registry change after installation. I wanted to instead be able to just add the registry change into the MSI (I did not write the code, I'm simply trying to edit the existing MSI) and have it deployed remotely and just be done with it.

Can anyone provide some good examples on how to perform this? Also, any recommendations for books dealing with modifying MSIs or a site that gives some in depth explanation over what Microsoft provides would be greatly appreciated.

Thanks,

LazarusG
  • 150
  • 1
  • 5
  • 16

3 Answers3

5

The MSDN has a step by step example of how to create a MSI package using ORCA. One of the step is how to add registry information. You can find it here

Ciprian
  • 3,533
  • 1
  • 18
  • 22
  • This did help, and I was able to get the issue resolved, the only problem was finding the right component to have it run under. I basically just tried to go through and find out which component seemed to be creating the most registry keys and then use that one. It worked after a couple of tries, but is there an easier way? – LazarusG Mar 13 '12 at 01:43
  • This is from the MSDN article on component rules: "Add registry keys to the components. Any registry key that points to a file should be included in that file's component. Other registry keys should be logically grouped with the files that require them." – Ciprian Mar 13 '12 at 06:40
1

What you are looking for is called a transform. See:

Basic Patch and Transform Concepts in ORCA

Basically you use ORCA ( or InstallShield Tuner or similar tools ) to create a transform with your registry values then save it to an MST file. From there you can say:

msiexec /i foo.msi TRANSFORMS=foo.mst

And you'll see your expected behavior without modifying the original MSI. Also if the vendor ships a new MSI there's a good chance you'll be able to appy the MST to the new MSI. ( YMMV depending on what changed from release to relase in the MSI. )

BTW, while it's important for Setup Developers to understand transforms, your question is typically see as an IT Deployment question and possibly belongs over on ServerFault.

Also I should note that InstallShield has a Transform project type allows you to use the full UI of InstallShield to author the MST without dealing directly (unless you need/want to ) the underlying MSI tables.

Christopher Painter
  • 54,556
  • 6
  • 63
  • 100
-1

You can use Setup And Deployment project in Visual studio. http://support.microsoft.com/kb/307353

http://msdn.microsoft.com/en-us/library/aa266445%28v=vs.60%29.aspx

hamid reza mansouri
  • 11,035
  • 2
  • 22
  • 32
  • I should have added that I did not write the program, nor have access to the code, just simply trying to edit an existing MSI file. – LazarusG Mar 11 '12 at 07:57
  • Setup And Deployment projects have been killed by Microsoft due to their poor quality and will not be in the next release of Visual Studio. – Christopher Painter Mar 12 '12 at 13:18