我通過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帳戶運行。 –