2011-06-06 24 views
3

我們有一個MSI安裝程序(使用Wix創建),它被設置爲能夠執行升級。我們的客戶正在使用它以靜默方式使用運行msiexec的SMS程序包一次性在多臺機器上升級我們的應用程序。如何安排在下一次使用MSI重新啓動時發生安裝?

問題在於,他們的一些用戶在安裝程序運行時仍然會運行我們的應用程序。我們不想將這些用戶踢掉,並且在他們使用應用程序的同時運行安裝程序總是會破壞事情。

我們理想的解決方案是將安裝計劃在下次機器啓動時發生。

這是一個相當龐大的要求清單,但有誰知道我可以如何實現這一目標或我可能看下一個?

+0

無法短信服務器爲您處理它嗎?我的意思是:是否可以配置SMS服務器在系統重新啓動期間運行安裝程序包? – 2011-06-06 17:08:26

回答

0

Windows安裝程序會自動檢測正在使用的文件。另外,靜默安裝過程中,它會自動處理它們:

  • 文件,這是不使用的被覆蓋在使用
  • 文件重啓

後定於更新正如你所看到的,這有些問題,因爲一些文件被更新,一些文件不被更新。

一個好的解決方案是將REBOOTPROMPT屬性設置爲「S」。這樣,目標機器在安裝後自動重新啓動。

不幸的是,MSI軟件包無法檢測到正在運行的進程,停止安裝並在下次重新啓動時安排它。這隻能使用自定義EXE引導程序完成。

+0

S選項不是解決方案 - 此重新啓動對用戶來說是意想不到的 – 2011-08-01 14:16:54

1

您可以在HKLM\software\microsoft\windows\currentversion\RunOnce下將值添加到註冊表中,它將在用戶下次登錄時運行。