All users/Current user installation with/without Administrative privil
Posted 16 September 2014 - 09:40
Posted 16 September 2014 - 11:06
I skimmed your question, bit busy right now. As a first step perhaps you can read this article: Authoring a single package for Per-User or Per-Machine Installation context in Window 7.
Windows Installer features "per-user setups" as an option controlled via the ALLUSERS property. Essentially the value of ALLUSERS and the user rights (whether the user has admin rights) allows redirecting of a bunch of data folders and shortcut locations. The exact details of this redirection is discussed here (referred to as Installation context).
I am not particularly fond of this per-user install concept - I find it conceptually flawed for many reasons, most significantly its poorly understood management and deployment implications: how do you upgrade an application that might be installed several times on the same computer for several users? What if you want to uninstall the application? When installing an update, does it apply for all other installations, or do you upgrade just for the current user?
Edited by Glytzhkof, 16 September 2014 - 11:24.
Posted 17 September 2014 - 17:25
Thank you for your quick and informative response.
I'm already updating the installation context by settings the ALLUSERS and MSIINSTALLPERUSER with the appropriate parameters but:
1. The installation still fails for per-user type in case the "Require Administrative privileges" is set to 'Yes' - it fails with "you do not have sufficient permission..." message and doesn't prompt for administrator.
It seems that the properties (allusers, msiinstallperuser) are not relevant - when the 'Require Admin privileges' is Yes then the user must be an administrator regardless of the installation type. Is this true?
2. The installation still fails for all-users type in case the "Require Administrative privileges" is set to 'No'. It fails with "you do not have the sufficient permission..." message and doesn't prompt for administrator.
It seems the all-users installation is not possible when the "Require Administrative privileges" is set to 'No'. Is this true?
EDIT: These are the log messages that indicate that the installation sets the ALLUSERS + MSIINSTALLPERUSER properties for per-user installation but still prompt for administrator credentials (Require Admin privileges' is No):
Regarding the need for this type of the installation architecture - my customer actually needs both types of installation in one MSI project. I expected it to work with much less effort. Regarding the uninstall/upgrade processes - I don't see it as a technical problem but rather product-related decisions I should make.
Thank you again!
Edited by ori888, 21 September 2014 - 11:50.
Posted 21 September 2014 - 20:55
I have encountered the same problem. Do we have any idea how to solve it?
Posted 22 September 2014 - 16:34
Just a wild guess: did this work before Microsoft's August updates? KB2918614 is known to change the behaviour for updates. Maybe it also affects first time installs? (You could temporarily uninstall that update on a test machine)
Posted 23 September 2014 - 15:33
The machine i'm working with does not contain this update.
Posted 23 September 2014 - 18:52
Thanks for the quick reply. I checked it also and this update isn't present.
Is there any information (such as logs) that I can provide and might help understand why this isn't working?
Posted 23 September 2014 - 22:16
Instead of using Installshield's setup.exe launcher logic, I would use a custom action in the MSI for requiring admin rights to install per-machine. It needs to determine if the user is administrator or not, and determine if the installation is being run per-user or per-machine. Note that Windows Installer will realign or set ALLUSERS depending on whether the user is administrator or not. Try to compile a compressed MSI and not one wrapped in a setup.exe. There has also been some issues with the manifest for the setup.exe not correctly identifying the required admin rights for the UAC, but that should not be an issue if you run the MSI directly.
Edited by Glytzhkof, 24 September 2014 - 11:24.
Posted 25 September 2014 - 07:10
I don't use the setup.exe
My project is a basic MSI without setup.exe but only MSI
And the link you provided about the ALLUSER (and other stuff) is already implemented. Still, it doesn't work. What Ori mentioned in his comments is the same in my project.
Edited by yonishec, 25 September 2014 - 07:13.
Posted 30 September 2014 - 10:10
Does anyone have any idea how can we proceed with this issue?