Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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.

share|improve this question
add comment

2 Answers

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.

share|improve this answer
1  
+1 You may also define properties on the command line: msiexec /i your.msi EXAMPLEPROPERTY=something –  jscott Jul 27 '11 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 '11 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 '11 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 '11 at 9:32
add comment

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

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.