KB Highlight: WMICore update for Windows 2000 SP4

If you like to live on the cutting edge of the previous version of Windows, there’s a problem that seems to creep up that I’ve seen in a couple of environments before.

VBScript not working in a hanging-kind-of-way (possibly including ASP, definitely logon scripts, and typically just about any general scripty bits) is usually a dead giveaway that you’re running into this problem:

A deadlock occurs when a program that uses WMI calls the LoadLibrary() or the FreeLibrary() function in Windows 2000

Assume that a Microsoft ASP.NET program or a program that uses a Windows Management Instrumentation (WMI) provider makes direct or indirect calls to the LoadLibrary function or to the FreeLibrary function to load a DLL. Then, the DLL calls the RegisterTraceGuids or the UnRegisterTraceGuids function in the DllMain export function. In this scenario, a deadlock may occur in the ASP.NET program or in the program that uses a WMI provider.

For example, Microsoft Internet Explorer, Control Panel, and the Add/Remove Programs tool may stop responding (hang) after you install Microsoft Windows 2000 Service Pack 3 (SP3) or Service Pack 4 (SP4). When you stop the Remote Registry service, this permits the programs that have stopped responding to resume. This issue may occur in environments where a remote performance monitoring solution, such as PerfMan or SiteScope, is installed.

Also, when this issue occurs, Microsoft Visual Basic scripts may not run correctly, and you receive no error message. Additionally, the Task Scheduler tool may not run.

If you’ve just made some sort of monitoring change (or just implemented some monitoring or management software) and now logon scripts, ASP, ASP.Net or similar aren’t working quite right any more, I’d suggest trying this on an expendable test machine first. It can save you time.

On the subject – the hotfix article itself is a “call PSS” distribution fix, but a quick search of KB reveals that there’s a publicly downloadable version of that wmicore.dll update included in the Update Rollup for Windows 2000 Service Pack 4-based Server Clusters (885912).

If it fixes the problem, yay! If not, it’s not your problem, so keep troubleshooting.

Comments (0)