簡體   English   中英

使用管理員權限在Wix MSI中運行.exe

[英]Run .exe inside Wix msi with admin rights

我正在通過Wix中的CustomAction運行.exe文件。 可執行文件正在運行,但沒有管理員權限。 似乎我在做所有正確的事情,但不確定出什么問題。 這是我的自定義操作的示例

<CustomAction Id="RunExe" FileKey="Setup" ExeCommand="-switch" Execute="deferred" Return="check" Impersonate="no"/>

<InstallExecuteSequence>
<Custom Action="RunExe" Before="InstallFinalize">NOT Installed</Custom>  
</InstallExecuteSequence>

實際的問題是通過ExeCommand執行的.exe無法訪問注冊表項(HKCU \\ SOFTWARE \\ Microsoft \\ Windows \\ CurrentVersion \\ Explorer \\ Shell文件夾)。

以管理員身份運行msi可解決問題,但我需要一個解決方案,其中WIX本身應能夠以admin或atleast身份運行命令,以提示用戶。

每台計算機安裝中的延遲自定義操作會隨着系統帳戶的運行而提高。 不清楚您對HKCU密鑰的訪問是什么意思,但是與系統帳戶一起運行的可執行文件的HKCU密鑰是系統帳戶的HKCU,而不是安裝用戶的HKCU。 如果您確切地說出要實現的目標,這將有所幫助,因為您可能根本不需要代碼。 如果您使用WiX / MSI的注冊表功能,安裝將為安裝用戶更新HKCU,因此這可能是根本不需要代碼的情況。

還不清楚為什么以管理員身份運行MSI可以解決問題,因為在安裝InstallPrivileges的情況下,每台計算機安裝中已經提高了自定義操作。 在安裝上下文中沒有足夠的信息,但是我的猜測是您可能在不提升InstallPrivileges的情況下進行每用戶安裝-這是MSI在安裝用戶帳戶下運行CA的一種情況除非您按照您說的那樣提升整個安裝-否則以管理員身份運行MSI。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM