簡體   English   中英

Wix Burn安裝程序無提示安裝時無重啟

[英]Wix burn installer no reboot on silent install

我有一個wix捆綁包,可以安裝各種模塊。 其中的一個模塊可能導致系統重啟。 現在,我想發生的方式是,如果它是UI安裝,那么在捆綁軟件安裝結束時,我希望出現提示,如果是靜默安裝,則我想避免自動重啟,因為用戶可能不知道安裝會導致重新啟動。

我查看了各種線程和選項,發現可以通過“ / norestart”參數進行靜默安裝,並且可以避免不進行自動重啟。 因此,如果用戶未通過“ / norestart”參數,並且僅允許通過該參數,我將使無提示安裝失敗。 我希望“ / norestart”可以映射到REBOOT的特定值( https://msdn.microsoft.com/en-us/library/windows/desktop/aa371101(v=vs.85).aspx )但是我觀察到的是,無論是否傳遞“ / norestart”參數,日志中的REBOOT值始終為“ ReallySuppress”,但傳遞參數時不會自動重新啟動,而傳遞參數時則不會自動重新啟動通過。 我對它是如何確定以及如何以編程方式確定它感到困惑。

這來自重新啟動時組件之一的日志(當我不傳遞“ / norestart”參數時)

Command Line: ALLUSERS=1 ARPSYSTEMCOMPONENT=1 MSIFASTINSTALL=7 CWD=<...> REBOOT=ReallySuppress CURRENTDIRECTORY=<...> CLIENTUILEVEL=3 MSICLIENTUSESEXTERNALUI=1 CLIENTPROCESSID=2240

這是從它不重新啟動時開始的(當我傳遞“ / norestart”參數時)

Command Line: ALLUSERS=1 ARPSYSTEMCOMPONENT=1 MSIFASTINSTALL=7 CWD=<...> REBOOT=ReallySuppress CURRENTDIRECTORY=<...> CLIENTUILEVEL=3 MSICLIENTUSESEXTERNALUI=1 CLIENTPROCESSID=1984

任何幫助或指針表示贊賞。 如果您想讓我提供更多信息或不清楚的地方,請告訴我。 在此先感謝您的時間。

參考: https : //msdn.microsoft.com/zh-cn/library/windows/desktop/aa372024(v= vs.85) .aspx

https://msdn.microsoft.com/en-us/library/windows/desktop/aa371101(v=vs.85).aspx

如您所見,總是禁止MSI程序包啟動重新啟動。

您缺少的是Bootstrapper應用程序(例如WixStdBA或自定義/托管BA)可以控制重新啟動。

BA檢查每個MSI軟件包的安裝結果。 如果任何MSI軟件包都需要重啟,則Bootstrapper應用程序將啟動重啟(或者,如果用戶不允許重啟或通過/norestart開關,則不重啟)。

/norestart命令行開關僅阻止Bootstrapper應用程序在包/鏈的末尾啟動重新引導。

我非常確定,如果您想基於/norestart的存在而阻止安裝,則必須使用自定義的Bootstrapper應用程序。

但是,如果您要使用自定義的Bootstrapper應用程序,則最好更改默認行為(即,使/norestart為默認值)。

REBOOT屬性的默認值不是ReallySuppress,因此發生了其他情況。 如果不查看源代碼,任何自定義操作或MSI,很難說出原因。 完整的詳細日志可能表明已設置。 它可能在MSI的屬性表中; 可以通過自定義操作代碼進行設置; 命令行上還有什么? 它需要一些偵探工作。

另一個問題是,完全靜默的安裝不會要求重新啟動,因為靜默意味着它不會要求重新啟動,因此,尚不清楚其他屬性的設置,ScheduleReboot可能性等。 我發現使用傳統的命令行選項(例如/ qb等)更加容易,因為它們傾向於更明確地說明它們的作用。 如果您需要人們對其進行解密,請在其某處發布完整的完整詳細日志。

禁止重新啟動通常不是一個好主意。 需要它們的主要原因是文件需要以需要重新引導的方式進行替換。 這意味着在下一次重新啟動之前,安裝尚未完成,如果嘗試使用已安裝的應用程序使用較舊的文件而不是尚未安裝的較新文件,則可能會導致問題。

暫無
暫無

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

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