我通过Wix中的CustomAction运行.exe文件。可执行文件正在运行,但没有管理员权限。似乎我正在做的一切正确,但不知道发生了什么问题。这里是我的自定义操作在管理员权限中运行Wix msi中的.exe
<CustomAction Id="RunExe" FileKey="Setup" ExeCommand="-switch" Execute="deferred" Return="check" Impersonate="no"/>
<InstallExecuteSequence>
<Custom Action="RunExe" Before="InstallFinalize">NOT Installed</Custom>
</InstallExecuteSequence>
实际的问题是,这是.exe文件通过ExeCommand执行是无法访问注册表项(HKCU \ SOFTWARE \微软\的Windows \ CurrentVersion \ Explorer的\壳牌的样本文件夹)。
以管理员身份运行msi解决了问题,但我需要一个解决方案,其中WIX本身应该能够以管理员身份运行该命令或至少向用户发出提示。
谁的HKCU你会期望升高EXE将能够访问? –
每次用户登录系统时都会创建HKCU,并且始终适用于当前登录并使用系统的用户。 –
是的,但Execute =“deferred”和Impersonate =“no”的自定义操作可能不会以登录用户的身份运行。它可能以SYSTEM帐户运行。 –