Recently at work, I’ve had the pleasure of being allowed to mess around with a spare Windows Server 2003 R2 machine. Its much faster compared to similar hardware running XP, so so far its been a joy to use.
However, as usual, it brings its own problems…
When I wanted to enumerate internal Windows services with sc.exe (a commandline program that allows you to create, delete, list etc services), it failed to run. WTF?
In fact, it did execute, but promptly terminated itself. Running the exe on another machine worked, and XP’s sc.exe worked on the Server 2003 machine as well. So why would this fail?
Process Monitor showed that sc was searching for w03a3409.dll in various PATH places, but not finding anything. Everything (a fantastic file indexer and instant search tool) confirmed that this dll didn’t exist. Searching through the registry however showed it was associated with two hotfixes:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows Server 2003\SP3\KB923561
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows Server 2003\SP3\KB956572
The latter was key – it talked about sc.exe in one of the FAQ answers. I tracked down the installer through Microsoft Download Center (thanks for not directly linking to the installer in the article Microsoft) and installed it on the server (why didn’t it complain that the hotfix had been installed before?).
Low and behold, even before restarting the machine as it requested, sc suddenly worked. Presumably this is another M$ fuckup then… Both before and after this issue, the machine checked out as being completely uptodate according to Microsoft Update.