Widziałem kilka powiązanych pytań dotyczących stackoverflow, które odnoszą się do tego, ale żaden z nich nie wydaje się odpowiadać na konkretne zachowanie, które obserwuję.Usługa Windows nie zatrzymuje się i nie jest usuwana podczas deinstalacji (Wix)
Mam usługę Windows zdefiniowaną w następujący sposób w pliku Wix 3.0 Wix.
<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>
Po zainstalowaniu .MSI usługa jest instalowana i uruchomiona. Wspaniały.
Po odinstalowaniu (przez uruchomienie msiexec/x lub użycie Dodaj/Usuń oprogramowanie z Panelu sterowania), usługa nadal działa i nie jest usuwana. W rzeczywistości dziennik tej usługi informuje mnie, że żaden z kodów zamknięcia usługi nie został wywołany. (Kiedy używam "stop SC", na przykład, ja zrobić zobaczyć kod wyłączanie usługi uruchomione czysto.)
Oto najistotniejsze części z msiexec/x Uninstall log:
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.
Czy usługa, którą tworzysz, zależy od innych plików lub złożeń? Jeśli tak, to musisz uzyskać identyfikator procesu usługi, a następnie zabić proces. wtedy możesz odinstalować usługę –