1

How can we have single MSI file with different configuration for each user.

So when I push it, the configuration will be according to the username.

This is for a custom utility application.

2 Answers 2

2

I'm not an expert with this, but to get you in the right direction:

You will need a "transform file", which has the .mst extension. The MST file basically overwrites or sets properties in the MSI file.

You should check out this article, it explains it pretty well: http://www.frickelsoft.net/blog/?p=240.

You can use ORCA (a free tool from Microsoft) to create the MST, but there should be a few commercial software products as well. You apply the transformation file, using msiexec, with the /t switch, e.g. msiexec /i your.msi /t transform.mst.

4
  • 1
    +1 You may also define properties on the command line: msiexec /i your.msi EXAMPLEPROPERTY=something
    – jscott
    Jul 27, 2011 at 18:53
  • THanks for your reply guys, but will this do the trick, it seem like its msi editor which will change the msi file it self, so basically i will have package for each change
    – Eddy
    Jul 27, 2011 at 19:10
  • It's my understanding that the MSI file remain unchanged, but the transformations you specify in the MST file will be applied after/during the installation of the MSI.
    – Lucky Luke
    Jul 27, 2011 at 21:11
  • @Eddy Open the MSI in Orca. Select Transform -> New Transform. You can then save the resultant changes as a separate .MST file.
    – jscott
    Aug 13, 2011 at 9:32
1

What constitutes the configuration differences between each user? Is it a single xml file with settings? Some registry values? Something else?

Setting up configuration isn't really an MSI setup task, but a post install administrator task. I would not use MSI to manage this if I could help it. It is slow and error prone work. In the past I have written executables myself which will do post-setup work based on the environment I am in. Typically such an executable will take a file installed by the MSI and process it for each individual user. You can run such an executable once using Microsoft's ActiveSetup feature. See my answer here: MSI package for reg deployment

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .