Currently I have to uninstall the old version of my service before I install the new version. I am pretty sure this has something to do with it not being smart enough to update or remove the old service entries before adding the new ones.
Is there a way to have the installer skip registering the service if it already exists? (I can assume the installation folder and service name do not change between versions.)
Also, is there a way to automatically stop the service when uninstalling?
I am using MSI packages and the Visual Studio setup project.
To check for updates manually, select the Start button, then select Settings > Update & Security > Windows Update >, and then select Check for updates.
Navigate to the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services. Backup the services key. Identify the service that you want to delete. Left-click on that service and press delete on the keyboard.
I've done this with WiX, which generates .MSI files using the ServiceInstall & SeviceControl commands:
<Component Id='c_WSService' Guid='*'> <File Id='f_WSService' Name='WSService.exe' Vital='yes' Source='..\wssvr\release\wsservice.exe' KeyPath="yes" /> <ServiceInstall Id='WSService.exe' Name='WSService' DisplayName='[product name]' Type='ownProcess' Interactive='no' Start='auto' Vital='yes' ErrorControl='normal' Description='Provides local and remote access to [product name] search facilities.' /> <ServiceControl Id='WSService.exe' Name='WSService' Start='install' Stop='both' Remove='uninstall' Wait='yes' /> </Component>
This stops the service, installs the new version and re-starts the service.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With