After you install SMS 2003 SP3, the Wmiprvse.exe process may generate high CPU usage on client computers during hardware-inventory operations


Consider the following scenario:
  • You install Microsoft Systems Management Server 2003 Service Pack 3 (SP3).
  • The SMS 2003 SP3 Asset Advisor performs hardware-inventory operations.
In this scenario, the Wmiprvse.exe process on client computers in the organization may generate high CPU usage. Sometimes, the CPU usage may spike to 100 percent.


This problem may occur if the following conditions are true:
  • A file that is listed in one of the startup locations on the client computer contains multiple non-English languages. For example, a program file that includes mixed languages is listed in the following startup location on the client computer:
  • The current user locale on the client computer does not match any of the languages that are used in the file from the startup location (the file that is described in the previous bullet).
  • The SMS_AutoStartSoftware class is enabled in the Sms_def.mof file.

    Note For more information about how to determine whether this class is enabled, see the "Workaround" section.
The SMS_AutoStartSoftware class does not handle these conditions correctly. In this scenario, the SMS_AutoStartSoftware class enters a loop. Therefore, the inventory operation generates high CPU usage on the client computer.

Note The SMS_AutoStartSoftware class is included with SMS 2003 SP3.

The following three classes may also cause this problem when they process a file that includes multiple non-English languages and when the current user locale does not match any of the languages in the file:
  • SMS_BrowserHelperObject
  • SMS_InstalledSoftware
  • SMS_SoftwareShortcut


The following file is available for download from the Microsoft Download Center:

Download Download the 937882 package now.

For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:
119591 How to obtain Microsoft support files from online services
Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.

Installation instructions

This hotfix must only be installed on affected SMS Client computers. SMS site servers or servers that are hosting an SMS role, such as a Server Locator Point (SLP), a Client Access Point (CAP), or a Management Point (MP), do not require this hotfix.

To simplify the distribution of this hotfix, the hotfix installer automatically creates a package and a program that contain the SMS2003AC-SP3-KB937882-x86.msp file. The SMS2003-SP3-KB937882-X86-ENU.exe file only creates the package and the program. Before you can successfully install the hotfix package on SMS Advanced Clients, you must create an advertisement and target all SMS 2003 SP3 Advanced Clients for distribution. To do this, follow these steps:
  1. Double-click the SMS2003-SP3-KB937882-X86-ENU.exe file, and then follow the instructions to create the Package and the Program.
  2. Click Start, click All Programs, click Systems Management Server, and then click SMS Administrator Console.
  3. In the SMS Administrator Console, expand Packages, right-click KB937882 - Advanced Client Hotfix - 1C1, point to All Tasks, and then click Distribute Software.
  4. Follow the instructions in the Distribute Software Wizard to advertise and deploy the hotfix package.

    For more information about the methods that you can use to install this hotfix package, see the dialog box titled Applying hotfixes to SMS Advanced Clients in the Distribute Software Wizard.
Note You do not have to perform an SMS site reset after you install this hotfix.

If you want to manually install the hotfix on an SMS Client computer, you can install the SMS2003AC-SP3-KB937882-x86.msp file from the command line on the SMS Client computer, as follows:

msiexec.exe /P SMS2003AC-KB891073-X86.msp /L*v %temp%\SMS2003AC-KB891073-X86.log /q REINSTALL=ALL REINSTALLMODE=mous

The %temp%placeholder is the location of the installation log file, and the SMS2003AC-KB891073-X86.log placeholder is the name of the installation log file.

This fix applies only to environments that use the United States English version of SMS 2003 SP3. This fix is already included in SMS 2003 International Client Pack 1 (ICP1) and in SMS 2003 International Client Pack 2 (ICP2) in the international version of SMS 2003 SP3.


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More Information

You may also experience this problem after you deploy the updated version of the AssetAdvisor.dll file that is included in this hotfix. For example, consider the following scenario:
  1. You deploy the updated version of the AssetAdvisor.dll file to client computers by using SMS 2003. Therefore, these client computers no longer experience the problem that is described in the "Symptoms" section.
  2. You join a new client computer to the domain.
  3. The client computer receives the SMS client-agent push installation.
In this scenario, the client computer may start the hardware-inventory operation before the client computer receives the updated AssetAdvisor.dll file.

Note Generally, hardware inventory starts within approximately 10 minutes of the SMS client installation. However, it could take approximately one day for the client computer to receive the updated AssetAdvisor.dll file from SMS 2003. For example, it could take approximately one day for the collection-update process, for the client policy update, and for the run-advertisement operation to finish.

Therefore, if the client computer contains the affected software, the client computer may experience the problem that is described in the "Symptoms" section.

More Information

Log-file information

When this problem occurs, the following log-file information is generated during the hardware-inventory collection operation:
<date and time> 1520 (0x05F0) Collection: Namespace = \\.\root\cimv2\sms; 
Query = SELECT __CLASS, __PATH, __RELPATH, BinFileVersion, BinProductVersion,
Description, FileName, FilePropertiesHash, FilePropertiesHashEx, FileVersion,
Location, Product, ProductVersion, Publisher, StartupType, StartupValue FROM
SMS_AutoStartSoftware; Timeout = 600 secs. InventoryAgent
<date and time> 1520 (0x05F0) Unknown error encountered processing an instance
of class SMS_AutoStartSoftware: 800706BE InventoryAgent

Successfully Completed Inventory for SMS_InstalledSoftwareAssetAdvisor<date and time>2636 (0x0A4C)
Start Inventory for SMS_AutoStartSoftwareAssetAdvisor<date and time>2716 (0x0A9C)
Trying to collect data from CAA_Autostartsoftware classAssetAdvisor<date and time>2716 (0x0A9C)
Collecting AutostartSoftwares from HKEY_CURRENT_USERAssetAdvisor<date and time>2716 (0x0A9C)
Collecting AutostartSoftwares from HKEY_LOCAL_MACHINEAssetAdvisor<date and time>2716 (0x0A9C)
Start Inventory for SMS_SystemConsoleUserAssetAdvisor<date and time>2820 (0x0B04)
For more information, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

When you install this update, an error message that resembles the following listed may be logged in the Execmgr.log file:

Request in running or report status found for program Install SMS Advanced Client SP3 Hotfix KB937882 package $PackageID$ execmgr 8/14/2007 1:36:23 PM 4024 (0x0FB8) Service stopped while program Install SMS Advanced Client SP3 Hotfix KB937882 is running execmgr 8/14/2007 1:36:23 PM 4024 (0x0FB8) OpenProcess failed for process 2700, error 80070057 execmgr 8/14/2007 1:31:27 PM 1292 (0x050C) Cannot continue monitoring the program after service restart because the process exited. Assume failed execmgr 8/14/2007 1:31:27 PM 1292 (0x050C)
You can safely ignore this error message. The Execmgr.log file process creates a new patch process and monitors the status of the child patch process. However, the child patch process must stop the parent process to install the files that are included in the update. After the child patch process is complete, the process of the Execmgr.log file starts again. The Execmgr.log file process tries to resume the original parent process that started the patch process. However, this parent process has already ended. The process of the Execmgr.log file returns the error because it is unable to resume this parent process.