[wix-users] [WIX]: UAC Prompt issue when InstallScope="perUser"

Phil Wilson phil.wilson at mvps.org
Fri Sep 4 10:57:45 PDT 2015


This question is essentially the same text that you posted on 8/31 but with
a different subject line. You haven't said why the responses to that were
such that you re-posted the same question. It was also pointed out that if
you were to say what key you want to write then there may be a way to do it
with Windows Installer, as Rob says. 

In a per machine install with InstallPrivilege elevated you will get a UAC
prompt for the install, and the custom action will run elevated if it's
impersonation=no, but it cannot simply write to HKCU for the installing user
because it will be running with the SYSTEM account. If you run with
impersonation=no you will run with the user's account, but the account
profile (i.e. the user's registry hive) will not be loaded, so you still
can't write to HKCU. 

Converting to a per user install is not a good strategy to make it work,
basically because per machine installs are recommended over per user. In any
case it still will most likely fail. Your custom action will run with the
installing user's account but again you may not be running with the user's
profile actually loaded into the process (because loading the user's profile
for every CA exe would really slow things down) so it's likely you still
can't write to that HKCU key. You could write to HKLM in a per machine
elevated install with an impersonation=no custom action, but you still may
not be able to write to HKCU. 

So I suspect you are up the proverbial creek without a paddle and it might
be better to state your actual problem detail rather than ask why your
attempted solution is failing. Reading between the lines of your post, maybe
you want to know where the MSI has been extracted to and will therefore
install from, and if so the SourceDir property will tell you that as soon as
the install starts up. 

Phil 


-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of
Rob Mensching
Sent: Friday, September 04, 2015 9:44 AM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] [WIX]: UAC Prompt issue when InstallScope="perUser"

Why write a custom action to write registry keys? Windows Installer writes
registry keys (and rolls them back!) quite well.

_______________________________________________________________
 FireGiant  |  Dedicated support for the WiX toolset  |
http://www.firegiant.com/

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of
Griesshammer, Christoph (GE Healthcare)
Sent: Friday, September 4, 2015 8:39 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] [WIX]: UAC Prompt issue when InstallScope="perUser"

When you have Impersonate="no" for your custom action, it does not request
elevation. Set it to yes and you should see the prompt.

Christoph

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of
Dileep S
Sent: Friday, September 04, 2015 10:30 AM
To: WiX Toolset Users Mailing List
Subject: [wix-users] [WIX]: UAC Prompt issue when InstallScope="perUser"

Hi All,

I have created a sample C++ exe to write Registry Key in the following
location:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion

I have packaged this "Sample.exe" using WIX script.

<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine"
InstallPrivileges="elevated" />

I have written custom action in *.WXS file as below:

<CustomAction Id="InstallDRV" Directory="INSTALLDIR" Execute="deferred"
ExeCommand="[$(var.RootDirID)]$(var.EXEFileName)" Impersonate="no"
Return="asyncNoWait" />


"Sample.exe" should write the registry key which was specified after
extracting the MSI package.

*Issue:*
After extracting the MSI package, "Sample.exe" launches and written a
registry key in the below location not in the specified location:
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows NT\CurrentVersion\Windows

How to resolve this issue?

I have modified the InstallScope="perUser" as below <Package
InstallerVersion="200" Compressed="yes" InstallScope="perUser"
InstallPrivileges="limited" />

But Issue is UAC prompt is not appearing.

How to display UAC prompt, when InstallScope="perUser"

Please help me to resolve this issue.


Thanks in advance.

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant
https://urldefense.proofpoint.com/v2/url?u=http-3A__www.firegiant.com_&d=BQI
CAg&c=IV_clAzoPDE253xZdHuilRgztyh_RiV3wUrLrDQYWSI&r=-l6_npd-dx-ekbVSbypvaw-I
cErQ11UE3f78jQgrCDw&m=feEYlrG-Ucnk3Gw0-eySWQZlUxb75TYiqKKVnSMdeXo&s=cB6c5iBO
L02T5EDwOFgUHK3l8_KB4XB54BGjE7PpAJE&e= 

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant
http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant
http://www.firegiant.com/




More information about the wix-users mailing list