2011-05-09 27 views
4

當安裝一個MSI包,獲得升級將自動強制其他組件的任何共享文件/使用該文件服務重新啓動。這是使用Windows的  Vista及更高版本上的Restart Manager完成的。如何強制的MSI,無需重新啓動任何要安裝的組件 - 但強制重新啓動,而不是

在我的情況,正在升級的文件,一個是屬於這實際上是運行安裝服務的文件。此服務控制何時重新啓動機器,但由於重新啓動,它不會從MSI進程返回代碼,表明它需要重新啓動。因此機器不會重新啓動,導致系統處於故障狀態。

我需要一些方法來防止被重新啓動該控制服務,而是允許它重啓整個系統來代替。 Windows安裝程序可以在下次重新啓動時調度要複製的文件,但如何在這些共享文件的情況下強制執行此操作?

回答

2

您可以通過調度ForceRoboot動作強制重新啓動系統。您可以調整此操作的執行以滿足您的需求。

+0

問題的完成並不是強制重新啓動,而是阻止服務重新啓動。它看起來像MSIRESTARTMANAGERCONTROL屬性:http://msdn.microsoft.com/en-us/library/aa370377%28v=vs.85%29.aspx是這種情況的適當標誌。我們禁止UI和重新啓動(我們控制這些)。 – 2011-05-09 19:38:07

+1

雖然該屬性是一個相當重的手段,但我寧願說「不要重新啓動*這個服務」而不是「不要重新啓動*任何東西*」 – 2011-05-09 19:40:39

相關問題