MAKEMSI quickly and reliably creates MSI files in a non-programmatic way
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
[Bottom][Contents][Prev]: Lack of decent driver support[Next]: Cabinet File Size Limitations
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
\->Windows Installer FAQ (the basics)->Limitations (areas of improvement)->Can't query whether Per User or Per Machine!

Can't query whether Per User or Per Machine!

Windows Installer makes a lot of the difference between a per-user or per-machine installation and while the developer of an msi can influence the the install type, they can not control it.

If you wish to conditionally allow the installation based on type of need to alter behaviour then you need to know which type it is. Windows Installer neither provides the mechanism nor documents the solution!

This solution (condition) has been proposed:

#define  CONDITION_PER_MACHINE  Version9X or (ALLUSERS=1) or (ALLUSERS=2 and Privileged)

I don't think the above is correct and my current theory is that this should be used:

#define  CONDITION_PER_MACHINE  Version9X or (ALLUSERS = 1)   ;;True if per-machine install.
#define  CONDITION_PER_USER     not (<$COND_PER_MACHINE>)     ;;They are mutually exclusive conditions

This relies on the fact that all Win9X installs are per-machine and an ALLUSERS value of "2" will be translated by Windows Installer to be null or 1.


Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.Please email me any feedback, additional information or corrections.
See this page online (look for updates)

[Top][Contents][Prev]: Lack of decent driver support[Next]: Cabinet File Size Limitations


MAKEMSI© is (C)opyright Dennis Bareis 2003-2008 (All rights reserved).
Saturday May 28 2022 at 3:11pm
Visit MAKEMSI's Home Page
Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.