2010-05-03 122 views
1

我正在向我的C#解決方案添加一個部署項目,其中 安裝了一個Windows服務,我一直在試圖找到一個屬性 ,這將使安裝程序提示用戶重新啓動系統一次 安裝已完成。我更喜歡簡單的設置屬性 而不是創造,我在 安裝結束時運行的小型應用程序。 如果有任何代碼重新啓動,然後在那裏我會在安裝程序類使用此代碼 或其他地方?安裝完成後提示重新啓動計算機

回答

3

如果您使用基於MSI的安裝程序(如果您使用的是VS安裝項目,則會出現這種情況),設置REBOOT=Force應該有所斬獲。

在正常情況下,雖然,安裝程序會檢測自身是否需要重新啓動:如果您目前沒有得到重啓提示,這是一個很好的跡象你的服務應該只是罰款而沒有重新啓動。

您可以擴展您的安裝邏輯安裝它(並在必要時啓動任何自動啓動GUI組件)後啓動服務。這比強制重啓更友好,你會做你的一點幫助的Windows擺脫它的「您移動鼠標時,請重新啓動」形象問題......


編輯(2011年12月) @IdentityCrisisUK:參見HOW TO: Control System Restarts in a Setup Project That You Created by Using Visual Studio .NET瞭解設置REBOOT變量的確切步驟。使用Orca是必需的 - 不知道爲什麼「已被排除」,因爲這是一個簡單的後構建步驟...

+0

你有可能擴大你的意思,我不當你說設置REBOOT明白你指的是什麼=力?這是可以在Visual Studio中訪問的安裝項目中設置的一些設置,或者您是否在討論之後編輯創建的MSI文件?我明白爲什麼它可能不是最好的做法,但在這種情況下,這正是我想要做的事情,似乎比我預期的要複雜得多。使用WIX或Orca已被排除。 – identitycrisisuk 2011-11-30 13:56:51

0

使用REIX REBOOT屬性重新啓動安裝程序的Product.wxs文件中的提示。語法是: -

<Property Id="REBOOT" Value="Force"></Property>

相關問題