Wix/Msi Tip: Use ALLUSERS property

2007-01-11 14:14:46 by Kjell-Åke Gafvelin

If you create a installation package do not forget to set the ALLUSERS property. If you do not set the ALLUSERS property it will default to per-user installtion.

The values for ALLUSERS property is:

  • 1 for per-machine installation.
  • 2 for per-user installation.

I created an installation package for the project that I am working on at the moment. The installation package installs a service and a web-application and both uses some shared .NET components that I install into the GAC. I had'nt set the ALLUSERS property in the installtion package so when we installed it we got very strange problems, which turned out to be normal due to the fact that it was a per-user installation. The first thing we noticed was that for some reason when we performed an upgrade the installer did not remove some components from the GAC and sometimes it did not even install the new ones either. I am not 100% sure that this is fixed now either but we'll see, otherwise I have to see what will happen if I move the action MsiUnPublishAssemblies after the action StopServices. The other thing we noticed was that depending on who was logged in we had different versions installed if we looked in Add/Remove Programs, this was at least fixed by setting the ALLUSERS property to 2.