簡體   English   中英

使用Wix創建的安裝程序無法作為系統安裝

[英]Installer created with Wix fails to be installed as system

我有一個使用Wix Toolset創建的非常簡單的安裝程序。 我的用戶抱怨他們不能以系統用戶身份部署此安裝程序。 他們必須以用戶身份進行操作。 但是,我了解到可以將安裝程序部署為系統用戶。 誰能告訴我在wxs文件中需要做什么,以便他們可以將其部署為系統用戶?

我們通常使用Microsoft SCCM作為SYSTEM部署MSI。 我們使用PSEXEC作為SYSTEM調用CMD提示符,以在將其發送到SCCM之前進行開發測試。 安裝程序作為SYSTEM失敗的原因有兩個:

1)用戶錯誤:我無法告訴您有多少次我看到帶有無效命令行參數的軟件包放入SCCM。 我最喜歡的之一是引號通過電子郵件傳輸變成Unicode引號。 另一種是登錄到不存在的目錄。 另一個是忘記告訴MSI靜默運行。 它只是坐在那里並掛起。 另一個很棒的人輸入了錯誤的MSI名稱。 這特別棒,因為當我請求MSI日志時,它們幾乎給了我一個SCCM日志。 沒有MSI日志表示不是MSI的錯誤。

2)安裝程序設計錯誤:您是否測試了無提示安裝? 您是否有任何有關用戶上下文/環境的自定義操作? 我最喜歡的一個(不是)之一是InstallShield InstallScript定制操作,由於與MSI會話句柄通信的DCOM接口設計不良,該操作會失敗。 自修復以來已經快10年了,但我仍然時不時會遇到安裝程序。 另一個示例假設用戶將擁有對另一台計算機或Internet的權限(SYSTEM通常在公司環境中都不具有)。

我將從使用PSEXEC作為SYSTEM測試開始。 記錄安裝並查看錯誤是什么。 否則,您實際上並沒有給我們提供任何詳細信息以給出具體答案。

您應該讓他們詳細記錄安裝時的情況。 有時存在與用戶特定位置有關的問題,例如,文件進入用戶的個人文件夾,這對系統帳戶意味着什么? 或者安裝或自定義操作可能會假定為用戶映射的驅動器號是系統范圍的(不是-是每個用戶的),並且可能導致錯誤。 克里斯也這么說-上下文很重要。 系統帳戶無權訪問交互式用戶的桌面,網絡,對於非交互式帳戶沒有意義的配置文件位置等。

我也是SCCM用戶,並定期通過SCCM部署應用程序。這個WIX安裝程序也使我發瘋。 但是克里斯托弗的反應幫助了我...

1)如果使用PSexec對Wix安裝程序進行了測試,則它們可能可以工作,SCCM,我不知道它是什么,但是安裝會由於沒有明顯的原因而失敗。 (但由於系統為true,安裝失敗)解決方案:將psexec合並到SCCM中的腳本中...在源文件夾中添加setup.exe和psexec.exe。 在安裝腳本中使用以下語法:

  • 將psexec.exe復制到您的軟件源位置。

    %〜dp0PsExec.exe-接受\\ 127.0.0.1“%〜dp0setup.exe”-安靜

2)@WIX開發團隊:也嘗試使用SCCM進行測試!

3)如果上述方法失敗,您還可以通過以下方法擴展建議:

在安裝腳本中添加以下語法:

c:\windows\system32\net.exe user /add WixHelpInstaller PaSSW0rd
c:\windows\system32\net.exe localgroup administrators WixHelpInstaller /add
%~dp0PsExec.exe -accepteula  -u .\WixHelpInstaller -p PaSSW0rd \\127.0.0.1 "%~dp0setup.exe" --quiet
c:\windows\system32\net.exe user WixHelpInstaller /delete

暫無
暫無

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

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