An change to the Service Control APIs produced a MSI 3.0 behavior change.
BeforeBefore 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 ChangeWith 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 ChangeGiven 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]