これに関連するstackoverflowに関するいくつかの関連する質問がありますが、私が観察している特定の動作には対応していないようです。Windowsサービスは停止せず、アンインストール時に削除されません(Wix)
私はWix 3.0 .wxsファイルで次のように定義されたWindowsサービスを持っています。
<Component Id='Service' Guid='3c658a54-b236-11e0-bbf6-039615e482ae' >
<File Id='ServiceEXE' Name='m_agent_service.exe'
Vital='yes' Source='..\m_agent_service.exe'
KeyPath='yes' />
<ServiceInstall Id='MerakiServiceInstall'
Vital='yes'
Name='MerakiPCCAgent' DisplayName='Meraki Client Insight Agent $(env.VERSION)' Description="Meraki Client Insight Monitoring and Management Service"
Type='ownProcess' Interactive='no' Start='auto' ErrorControl='normal'>
</ServiceInstall>
<ServiceControl Id='MerakiServiceControl'
Name='MerakiPCCAgent'
Start='install' Stop='both' Remove='uninstall'
Wait='yes' />
</Component>
.MSIをインストールすると、サービスがインストールされ実行されています。すばらしいです。
その後、(msiexec/xを実行するか、またはコントロールパネルからソフトウェアの追加と削除を使用して)アンインストールすると、サービスは実行され続け、が削除されません。実際には、サービス自体のログから、サービス停止コードが呼び出されていないことがわかります。 (私は「SC停止」を使用する場合、例えば、私はきれいに実行されているサービスのシャットダウンコードを参照ください。)ここで
がします。msiexec/xのアンインストールログからのいくつかの顕著な部品です:
MSI (s) (14:04) [11:33:54:692]: 1 application(s) had been reported to have files
in use.
Info 1603. The file C:\Program Files\Meraki\PCC Agent 1.0.67\m_agent_service.exe
is being held in use by the following process: Name: m_agent_service, Id: 3120,
Window Title: '(not determined yet)'. Close that application and retry.
MSI (c) (40:78) [11:33:54:692]: File In Use: -m_agent_service- Window could not
be found. Process ID: 3120
MSI (c) (40:78) [11:33:54:692]: No window with title could be found for FilesInUse
[...]
Action start 11:33:57: UnpublishFeatures.
MSI (s) (14:04) [11:33:57:379]: Doing action: StopServices
MSI (s) (14:04) [11:33:57:379]: Note: 1: 2205 2: 3: ActionText
Action ended 11:33:57: UnpublishFeatures. Return value 1.
Action start 11:33:57: StopServices.
MSI (s) (14:04) [11:33:57:379]: Doing action: DeleteServices
MSI (s) (14:04) [11:33:57:379]: Note: 1: 2205 2: 3: ActionText
Action ended 11:33:57: StopServices. Return value 1.
Action start 11:33:57: DeleteServices.
MSI (s) (14:04) [11:33:57:379]: Doing action: RemoveFiles
[...]
MSI (s) (14:04) [11:33:57:645]: Product: Meraki Client Insight Agent -- Removal
completed successfully.
MSI (s) (14:04) [11:33:57:645]: Windows Installer removed the product. Product N
ame: Meraki Client Insight Agent. Product Version: 1.0.67. Product Language: 103
3. Removal success or error status: 0.
作成しているサービスは、他のファイルやアセンブリに依存していますか?いいえ、ありがとうございます。その場合は、サービスのプロセスIDを取得してプロセスを終了する必要があります。サービスをアンインストールすることができます –