2010-09-24 67 views
0

我有一個運行程序的WiX安裝程序,該程序下載我的代碼的最新版本並安裝三個Windows服務。我有一個自定義操作運行另一個程序,該程序在InstallInitialize之後關閉並卸載卸載期間的服務。卸載程序還會刪除所有下載的文件和目錄。但是,當我使用RmeoveFile操作刪除文件時,它會提示用戶關閉服務,因爲它必須檢測到衝突。我想避免這種情況,因爲我的自定義操作無論如何都會這樣做。如何防止彈出窗口在卸載前要求關閉服務

所以我需要一種方法來做到以下任一操作:

  1. 運行自定義操作(因此我的計劃,關閉了服務)安裝程序之前,做任何檢查它,告訴它該服務需要關閉。

  2. 通知安裝程序自動關閉服務而不提示用戶這樣做。不幸的是,安裝包不包含服務,它們被我的應用程序下載,所以我不知道我該怎麼做。

這些事情都可以完成嗎?

回答

1

簡單的修復方法是擺脫自定義操作。 Windows Installer可以被告知管理它沒有創建的服務。只是作者ServiceControl這樣的元素:

<Component... 
    <ServiceControl Id="sc1" Name="fooservice" Remove="uninstall" Stop="uninstall"/> 
</Component> 
+0

那會不會提示用戶關閉服務嗎? – 2010-09-24 19:43:49

+0

它不會提示,它會做。 – 2010-09-24 20:13:14