2016-09-15 89 views
0

我在寫一個Wix安裝程序。此安裝程序的第一步是停止Windows服務。我發現InstallExecuteSequence中的Wix元素StopServices似乎正在做我想要的,但我找不到任何示例用法。具體來說,我不明白如何指定服務名稱。如何在wix安裝開始時停止服務?

如何在我的Wix安裝開始時停止服務(並在最後重新啓動它)?

+0

也許檢查這些帖子:http://stackoverflow.com/questions/4590089/wix-servicecontrol-stop-a-service-on-uninstall-but-dont-start-it-on-install和http:// blog.tentaclesoftware.com/archive/2009/01/01/21.aspx –

回答

0

服務的內部名稱(與顯示名稱相對)將起作用。在Windows 10任務管理器中,它們是「服務」選項卡中的名稱 - 顯示內部名稱。在服務小程序(運行services.msc)中,服務的屬性將顯示名稱和顯示名稱。如果您使用WiX ServiceInstall安裝服務,則內部名稱是您在此使用的名稱。

服務在一個MSI用於安裝一個具有一個內部名稱和顯示名稱,如則ServiceInstall表:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa371637(v=vs.85).aspx

這基本上是的參數傳送到createService API的列表:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms682450(v=vs.85).aspx

對服務執行操作的API和安裝程序使用內部名稱(ServiceInstall和ServiceControl中的名稱),因爲顯示名稱是localizab但內部名稱保持不變。

+0

我不清楚你的意思是服務的內部名稱。我在哪裏指定這個名字?另外,如果它很重要,這是一個Windows服務器2008年 –