Question

My WiX XML file installs app that contains windows-service named OLOLO_SERVICE (for example). I want to stop this service when installing/reinstalling my app.

I use CustomAction with ExeCommand='sc stop OLOLO_SERVICE'.

<CustomAction Id='EnsureThatServiceIsStopped' Directory='INSTALLLOCATION' 
Impersonate="no" Execute="immediate" ExeCommand="sc 
stop OLOLO_SERVICE" Return="ignore" />

Inside <InstallExecuteSequence> tag is action

<Custom Action='EnsureThatServiceIsStopped' Before='InstallValidate' />

But this doesn't works, uninstaller shows this window "For uninstallation continue you should stop following executables" (maybe not 100% correct, because in my russian Windows 7 it is written in russian).

I think that possible reasons for this are

  • script runs before admin rights taken (and stopping service fails because it needs admin privilegies)
  • script runs after validation (and validation fails when checking installed executables)

Plesae help me, I want to stop service using batch 'sc stop OLOLO_SERVICE'

PS. I decided to simplify a question: I want my WiX to execute 'sc stop OLOLO_SERVICE' with administrator privilegies and before checking for running applications

Était-ce utile?

La solution

You don't need to do this in a batch file, you can use the ServiceControl element:

<ServiceControl Id="ServiceControl_OloService" 
                Name="OLOLO_SERVICE"
                Stop="both"
                Remove="uninstall"
                Wait="yes" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top