簡體   English   中英

MSI安裝程序:通過基於服務的安裝程序中的CustomAction幫助運行基於UI的EXE

[英]MSI Installer: Help running a UI based EXE with a CustomAction from a service based installer

我已經使用由“ SYSTEM”帳戶下運行的第三方安裝程序服務運行的Wix Toolset 3.8創建了MSI安裝程序包。 我的問題是,當嘗試使用自定義操作從我的MSI安裝程序啟動並運行已安裝的可執行文件時,它也以SYSTEM帳戶而不是當前登錄的管理員帳戶運行。我花了很多時間在網上和我所讀的內容,指定Impersonate =“ yes”將在啟動安裝程序的帳戶下運行該特定的自定義操作,但問題出在這里。 由於第三方安裝程序服務是從SYSTEM帳戶運行的,因此指定Impersonate =“ yes”只會在SYSTEM帳戶下運行自定義操作,對嗎? 至少那是我的測試所顯示的。 我的MSI安裝程序的背景知識:

InstallScope="perMachine"

<CustomAction Id="StartAction" 
              Directory="FOLDER" 
              ExeCommand ='cmd.exe /c start MYEXE.exe /tray' 
              Execute="immediate" 
              Impersonate="yes" 
              Return="check"/>

 <InstallExecuteSequence>
      <Custom Action='StartAction' Before='InstallFinalize'>NOT Installed</Custom>
 </InstallExecuteSequence>

我為Execute嘗試了“遞延”和“立即”,並將“模擬”設置為“是”和“否”。 有什么辦法可以使這項工作嗎? 我考慮過使用runas命令,但我不知道啟動安裝的用戶帳戶的密碼。

謝謝!

EXE文件在做什么? 您對應用程序有控制權,以便可以將邏輯從該外部EXE移到主應用程序的啟動邏輯中嗎?

除此之外,您可以通過ActiveSetup注冊這樣的EXE文件以使每個用戶運行一次。 您也可以在這里找到我的另一個答案

這里是指向ActiveSetup的解釋的另一個鏈接(我更喜歡上面的解釋): http : //www.ewall.org/tech/msi/self-healing

另請參見以下答案: 阻止MSI在SYSTEM上下文中啟動EXE

暫無
暫無

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

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