好吧,我知道如何使用WiX來部署服務,但我試圖解決以下困境。我想在主要升級時保留服務配置(例如登錄憑證等)(以便用戶不必重新定義服務設置)。爲此,InstallExecuteSequence裏面,我用:WiX 3.7:安裝Windows服務以正常升級和無縫卸載的正確方法是什麼?
<DeleteServices>NOT UPGRADINGPRODUCTCODE</DeleteServices>
我有的ServiceControl的停止屬性設置爲都。但是,當我卸載應用時,如果服務正在運行,會發生以下警告:
「安裝程序必須更新在系統運行時無法更新的文件或服務如果您選擇繼續,重新啓動將需要完成設置。「
如果我選擇繼續並且不重新啓動,服務和所有應用程序文件都會被刪除,所以此消息看起來完全是虛假的。如果我在運行卸載程序之前手動停止服務,則不會顯示警告。
我做錯了什麼?我需要做些什麼來避免此警告,同時確保在主要升級時服務不會被刪除(並重新創建)?
嗯......DeleteServices元素似乎沒有After或Before屬性。唯一支持的屬性是Sequence和Suppress。我檢查了Orca中的MSI文件,並且StopServices操作的序列號爲1900,而DeleteServices和RemoveFiles分別爲2000和3600,因此從序列角度看它們都很好。 –