Microsoft KB Archive/169038

From BetaArchive Wiki

Article ID: 169038

Article Last Modified on 10/27/2006



APPLIES TO

  • Microsoft Systems Management Server 1.2 Standard Edition



This article was previously published under Q169038

SYMPTOMS

After installing a service pack for Systems Management Server 1.2, you may see a number of Event ID 132 errors in the Application Event Log. These errors are generated by Inventory Processor because there is a mismatch in the .raw file created by client computers running Windows NT. After reporting the error, the Systems Management Server Inventory Processor service rejects the client's inventory data. You will find the following error in the Invproc.log file:

CMSDObject::ReadData - incorrect dataLength for NT CPU; expected <XX> got <YY>

The event details are:

Event Id: 132 Source: SMS

Length of data given in Inventory Agent output file does not match expected length: <C:\SMS\site.srv\inventry.box\badraws\00000000.RAW>
MachineName = client machine name
SiteCode = xxx
Component = SMS_EXECUTIVE

CAUSE

This error occurs when Windows NT clients have not been upgraded to the Systems Management Server 1.2 Service Pack 2 or later version of the Inventory Agent executable file (either Inv32cli.exe or Invwin32.exe).

File name Service name
Inv32cli.exe SMS Client Inventory
Invwin32.exe SMS_INVENTORY_AGENT_NT


MORE INFORMATION

The inventory agent typically starts every 24 hours to determine whether inventory needs to be taken. If the answer is yes, inventory is taken and a .raw file is created. For computers running Windows NT Workstation, which use Inv32cli.exe, the .raw file is stored on the local hard disk drive. When the user logs on to the network, Systems Management Server moves any .raw files to the logon server. If the client sends a .raw file generated by a pre-SP2 version of Inv32cli.exe, the error described in the SYMPTOMS section occurs.

For other client computers running Windows NT that use Invwin32.exe, the .raw file is not stored on the local hard disk drive, but is created on the Systems Management Server logon server. Again, if the .raw file is created by a pre-SP2 version of Invwin32.exe, the error occurs.

Systems Management Server 1.2 Service Pack 2 and later add extra information gathering for CPU Type. Because of this, it was necessary to increase the size of the CPU record string from 44 bytes to 54 bytes. The Inventory Processor checks the integrity of all data before converting the .raw file to a .mif file. It expects the record length to be 54 bytes and therefore discards the .raw file when it is not. Systems Management Server 1.2 Service Pack 4 once again increases this record to allow improved CPU detection.

After the Systems Management Server client has been updated, the problem does not occur. The client automatically updates its client files when Runsms.bat or Smsls.bat is run from an updated Systems Management Server logon server.

NOTE: The MIPS versions of the following files were not included in Systems Management Server 1.2 Service Pack2.

Client files (in Site.srv\Maincfg.box\Client.src and Logon.srv\X86.bin)

Inv32cli.exe
Invwin32.exe

Server Files (in Site.srv\X86.bin)

Dbcnv12.exe
Dbcnv12a.exe
Invwin32.exe
Invproc.dll

These files have been added to the Systems Management Server hotfix tree and can be obtained through Microsoft Product Support Services.


Additional query words: prodsms invwin32 inv32cli

Keywords: kbinventory kbprb kbsetup KB169038