2012-02-01 53 views
0

我的C#應用​​程序的多個開始重新啓動可能安裝幾個補丁的安裝程序。安裝程序關閉後,我的應用程序可能需要爲安裝的每個修補程序多次重新啓動系統。做這個的最好方式是什麼?後製作安裝

目前,我打電話與/f /l論據一次重新啓動關閉程序。

+3

它爲什麼會需要重新啓動多次?爲什麼不安裝所有的補丁,然後重新啓動一次? – 2012-02-01 05:35:07

+2

我同意@ M.Babcock,但我會更進一步。爲什麼用戶模式應用程序*必須重新啓動整個系統?只有Windows組件應該這樣做,甚至他們也不需要它。 – 2012-02-01 05:37:33

+0

@CodyGray - 我原則上同意,但我知道大多數我安裝的應用程序需要重新啓動(無論是否存在)。如果這確實是一個安裝程序,那麼我可以看到他們的觀點......只是沒有多少次肯定。 – 2012-02-01 05:39:39

回答

0

如果這確實是必要的,好像你可以只設置關閉,如果有任何剩餘的修補程序之前,RunOnce註冊表項。

在C#中設置鍵: http://msdn.microsoft.com/en-us/library/h5e7chcf.aspx

運行和RunOnce註冊表項: http://msdn.microsoft.com/en-us/library/aa376977(v=vs.85).aspx

+0

謝謝你的回覆。我在想如果我可以保持在註冊表中所需的重新啓動次數,並且在每次重新啓動時登錄次數減少。 – user1181935 2012-02-01 06:06:20

+0

如果您正確使用RunOnce,則甚至不需要計數。如果需要做另一個補丁,只需在一個補丁完成時進行設置。如果是最後一個,請不要設置它。 – 2012-02-01 06:13:11

2

FWIW,它通常是安裝者重新發布Windows更新是一個壞主意。首先是授權問題(它們通常不是可再分發的),然後就是在創建補丁客戶計算機所有權時創建的兔子洞問題。通常情況下,讓安裝程序檢查會破壞應用程序並在退出安裝程序之前告訴用戶的情況通常會更好。