Service Control API change plus cascaded MSI 3.0 behavior change

An change to the Service Control APIs produced a MSI 3.0 behavior change.


Before XP SP2 and MSI 3.0 the Service Control APIs used to send us a shutdown message and we’d ignore it and continue to run without telling the Service Control APIs that we’d ignored their message.

Service Control API Change

With XP SP2, the Service Control APIs null out the contextual details unless we tell them we’re ignoring their request so a second request to shut down the service would just kill us the MSI service outright.

MSI 3.0 Change

Given the XP SP2 change, MSI 3.0 altered its response to service shutdown messages to tell the Service Control API it was continuing to run.

How this can affect you?

If you had applicaiton code that was shutting down the MSI service through the service control APIs written before MSI 3.0, you may be getting different return codes from the service control APIs which could cascade into your application.

[Author: Robert Flaming]

This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at