A Windows Service is a special type of Windows application which starts with Windows, runs all the time and can run in the security context of any user, including the SYSTEM security context. Using the Software Update Wizard as a Windows Service is a good idea because, running in the SYSTEM security context, it is able to update files which the logged on user may not have rights to.
Windows Services are generally administered from the Windows Services console (services.msc) but can also be controlled programmatically. The additional tasks associated with installing, controlling and uninstalling a Windows Service are:
Note that Windows 98ME does not support service applications.
As described on the deployment page, the supplied wuwinstaller.exe, located in the installation folder of the Developer Edition Software Update Wizard, handles all elements associated with installing / uninstalling the Software Update Wizard on a client machine. Installing / uninstalling the Software Update Wizard correctly is not trivial, as it involves:
However, the information here is provided in case you choose not to use the supplied installer.
The default and recommended installation folder for WebUpdateSvc4.exe, the Software Update Wizard service application, is the Windows\System32 folder. That is where the supplied wuwinstaller.exe installer will install it to.
When the Software Update Wizard is used as a Windows Service application on Windows 2000 or later it needs to be added to Windows list of service applications and started. The Software Update Wizard executable, WebUpdateSvc4.exe, responds to the following, case-sensitive command line arguments:
Install the service. After you've called your service with this switch, it should exist in the Services control panel applet.
Uninstall the service. If the service is currently running, then stops it first and then uninstalls it.
Start the service. The service must previously have been installed before you can start it. Note that you cannot use -i and -s together. Call first with the '-i' argument and a second time with '-s'.
|End (i.e. stop) a currently running service, but leave it in the database of Windows Service applications.|
|-I||Installs and starts the service. The equivalent of 'WebUpdateSvc -i' followed immediately by 'WebUpdateSvc -s'.|
|-U||Stops and uninstalls the service. The equivalent of 'WebUpdateSvc -e' followed immediately by 'WebUpdateSvc -u'.|
Specify a user account and password for the Service to be installed and run under. If you do not specify a user account the service will be installed under the SYSTEM user context - the default for most service applications.
If you use the option to run under a specified account you must specify the domain and user account name:
.\pete installs the service under the account pete on the local machine. mesh\pete installs the service under the account name pete on the domain mesh.
Note that you must provide all the authentication details to one WebUpdateSvc4.exe call, as shown here:
WebUpdateSvc4.exe -i -l .\pete -p secret
Therefore the -i flag instructs WebUpdateSvc.exe to install itself.
The -l flag installs under the account pete on the local computer, using the password secret specified following the -p flag.
Please see the additional notes on running under a user account below.
|-v||Show the 'About' box for the Software Update Wizard service application.|
|-Register||Lets you register the Software Update Wizard when you have purchased a full version serial number.|
Note that these arguments are case-sensitive.
When you deploy the Software Update Wizard Service application you must install it as a service on the target machine and start the service.
The following commands will install and start the service:
Because other software may also use the Software Update Wizard to deliver automated updates your installer must install the Software Update Wizard files in the Windows / System32 folder as Windows shared files.
Our client installer, wuwinstaller.exe, takes care of this for you, but if you are installing the Software Update Wizard components using your own installer you are responsible for taking care of share file counts.
Most installers should have this option built in - you just have to remember how to use it!
In addition to deploying WebUpdateSvc4.exe in the System32 folder, you will also need to include WuWUI.exe and wuw4.dll in your installer. These files must be installed into the Windows folder on the target computer.
Finally, remember to install your Software Update Wizard licence file, WebUpdateSvc4.lic, into the same folder as the application which initiates application update requests - your application's install folder.
Your uninstaller must decrement the shared file count in the registry as described above and only uninstall the service once the shared file count reaches zero.
You uninstaller can then stop and remove the service, using the following commands:
Windows is very particular about service applications, mainly for legitimate security reasons.
Therefore, when you run the Software Update Wizard as a service in the (default) SYSTEM security account the following limitations apply:
If you choose to run the Software Update Wizard under a specific user account context, using the flags -l and -p as shown above then the following limitations will apply: