Office Update Inventory Tool version 2.2 Checks Installations for Updated Status

The Office Update Inventory Tool version 2.2 allows administrators to check one or more computers in their organization for the status of Microsoft Office 2000, Office XP, and Office 2003 updates. From a central location, administrators can run the tool to report on which updates have been applied, which updates are available to be applied, and which updates can be applied only to an administrative image.

Version 2.2 of the detection engine has been significantly improved to enhance detection support for updates that can be applied to more than one Office product, such as Microsoft Office Professional and Microsoft Office Visio. These modifications also improve the ability for the tool to be integrated with Microsoft Baseline Security Analyzer (MBSA) version 1.2, a component of Microsoft's Strategic Technology Protection Program aimed at identifying common security misconfigurations. Furthermore, it should enhance continued support of the Systems Management Server 2.0 Software Update Services Feature Pack, which is designed to quickly and effectively detect and apply critical security updates for Microsoft Windows and Office.

For more information on MBSA, see Microsoft Baseline Security Analyzer. For more information on the SMS tool, see Software Update Services Feature Pack.


 Important    For Office 2000 installations, this tool detects only SR-1a and later updates.


The minimum requirements for the client computers running the inventory utility include the following:

  • Microsoft Windows 98 or later
  • Microsoft Office 2000 or later
  • Windows Installer version 1.x

Note that Windows Installer 2.0 is required for installation of Office 2000 updates released after Service Pack 3, and Office XP updates released after Service Pack 2.

The minimum requirements for the computer running the conversion utility are as follows:

  • Microsoft Windows Millennium Edition (Windows Me) or later
  • Microsoft Internet Explorer 5 or later

 Note    An Extensible Markup Language (XML) parser is required on each computer that runs the conversion utility. A parser is included with Internet Explorer 5 and later. If you are running earlier versions of Internet Explorer and you cannot install Internet Explorer 5 or later, you can download and install a stand-alone version of the Microsoft XML Parser (MSXML) 3.0 SP4 from the MSDN Web site.



Toolbox     The files for the Office Update Inventory Tool are packaged in two self-extracting executable files (Invcm.exe and Invcif.exe) and are available as downloads. You can find this downloadable file on the Office 2003 Resource Kit Downloads page. On the Downloads page, search for Office Update Inventory Tool Version 2.2. When new Office updates are released, a new version of Invcif.exe is released on the same day as when the updates become available on the Office Update Web site.


Installing the inventory tool

To install the inventory tool, you download the self-extracting executable files to a directory on a computer that has access to the computers you want to assess. Then you double-click the file names to extract the component files.

The following table describes the files included in Invcm.exe.

Files Description
Inventory.exe Program that detects Office updates on client computers and outputs a log file.
Convert.exe Program that converts the log file into XML, comma-separated values (CSV), or Managed Object Format (MOF).
OUdetect.dll Dynamic-link library (DLL) that must be included in the directory from which Inventory.exe is run.

The following table describes the files included in Invcif.exe.

Files Description
Patchdata.xml XML file that contains information about the names, URL location, and other properties of all the update files.
\cifs\Puids.cif and \cifs\Puids.dat Files that contain the detection data, located in the \cifs folder. These two files replace the hundreds of .cif files used by prior releases of the tool (versions 2.0 and earlier).
InventoryCatalog.html Readme file containing information about what updates are detected by the detection data.

Invcif.exe is updated each time Microsoft releases a new update for Office 2000 or later so that administrators have the latest detection information. Therefore, as new update files are released, you will need to download the latest version of Invcif.exe.

For a list of updates detected by the most current detection files, please see Office Update Inventory Tool Catalog.

Using the inventory tool

To use the inventory tool, you first run Inventory.exe to create an inventory, and then run Convert.exe to convert the log information.

About Inventory.exe and Convert.exe

Inventory.exe uses Windows Installer technology to determine which updates have been applied to a computer. By surveying the Windows Installer database, the inventory utility determines the status of each package (MSP file), whether the package can be installed on the client or administrative computer, and whether the package is already applied. The tool creates a log file in an output directory that can be specified by the administrator.

Convert.exe organizes the log data into an XML file, a CSV file for use with Microsoft Excel or Microsoft Internet Explorer, or an MOF file for use with Systems Management Server. The log data reveals the status of each individual update package (MSP file). The convert utility combines this data with data from the XML file that is provided (Patchdata.xml) to produce useful names and other attributes of the updates.

If a more recent version of Inventory.exe or Convert.exe is available, this fact will be indicated in the XML or CSV outputs, along with a URL to download the latest versions. Administrators can run a command-line option that also checks for out-of-date detection data. This is covered in the next section, "Creating an inventory."

Creating an inventory

You run Inventory.exe on every computer to be surveyed. To accomplish this step, you can use a software deployment mechanism such as Microsoft Systems Management Server, or you can place the utility on a network share and have users run it from there. The deployment method you choose depends on the needs of your organization.

Before you run the inventory program, you must create the following directories:

  • A source directory that contains Puids.cif and Puids.dat and can be accessed by the client computers. The \cifs folder can be used as the source directory, as long as it is accessible by all the client computers.
  • An output directory that is accessible by all the client computers.

To run the inventory tool, use the following command line on each computer:

inventory /s path to folder containing 
Puids.cif /o output directory

The following table describes the command-line options.

Command-line option Description
Inventory Executable file name for the inventory utility.
/s path to folder containing Puids.cif and Puids.dat

Command to specify the path and folder name for the directory containing Puids.cif and Puids.dat. Example:

/s \\server\share\cifs\

/o output directory

Command to specify the path and folder name for the output directory that will contain the log data. Example:

/o \\server\share\Invout\

This is the same path used as the source directory by the Convert command line.

The inventory program creates a separate file in the output directory for each computer on which the utility is run. This file is given the machine name (NetBIOS name) of the computer, with a .log file name extension. The .log file contains the status of each applicable update for the associated computer, indicated by a number for the status. All correctly written files are terminated by the "END" string.

To display a Help message for the inventory tool, use the following command line:

inventory /?

Administrators can automatically check whether their detection data is up-to-date and download the latest version of that data. They perform this by running the following command line:

inventory /update [<path>]

The /update switch causes a file (Inventorybuild.xml) to be downloaded. This file is used to compare the build version of the detection data on the computer with the latest version available. If a more recent version is available, Patchdata.xml is downloaded into the current directory (or the location specified by <path>), and Puids.cif and Puids.dat are downloaded into the \cifs folder (located in the current directory, or the directory specified by <path>). A new InventoryCatalog.html file is also downloaded to the current directory or the specified location.

Converting the log data

You run Convert.exe to convert the log file information produced by the inventory process into a consolidated report. Before you convert the information, you should ensure the computer running Convert.exe has the following:

  • Internet Explorer 5 installed to ensure XML compatibility.
  • Access to the directory of log files produced from the inventory step and the XML file that is provided with the tool (Patchdata.xml).

To run the conversion, use the following command line:

convert /d source directory /o output path and file name 
/xml path to xml file [/c] [/mof] [/lang language code]

The optional /lang switch allows administrators to define the output language to be English, Japanese, French, or German. The default is English.


 Note    The /c, /mof, and /lang command-line options are optional; they are not necessary in order for the converter to run. If both the /c and /mof command-line options appear on the same command line, the output will be an MOF file.


The following table describes the command-line options.

Command-line option Description
Convert Executable file name for the conversion utility.
/d source directory

Option to specify the path to the folder with the detection logs (.log files). Example:

/d \\server\share\Invout\

This is the same path used as the output directory by the Inventory command line.

/o output path and file name

Option to specify path and file name of the output file. Example:

/o \\server\share\machine.log

/xml path to xml file

Option to output an XML file with the catalog and to specify the path of the XML catalog file that is provided with the tool. Example:

/xml \\server\share\xmlfiles\

If the path is not given, the file is assumed to be in the same folder as the detection logs.

/c Option to output a CSV file.
/mof Option to output an MOF file.
/lang language code

Option to change language text of output. Values are:

English: ENU or 1033

Japanese: JPN or 1041

French: FRA or 1036

German: DEU or 1031

To display a Help message for the converter tool, use the following command line:

convert /?

Assessing the output

The three types of files that can be produced by the conversion utility are XML, CSV (which can easily be imported into several programs, including Excel), or MOF (for use with Systems Management Server). You may specify an output directory by using the /o <path> command-line option.

Several output features are identified in the following sections about using file types. However, one feature should be noted up front — the ability to identify whether your scan used the latest detection data. In version 1.5 or earlier, users could not tell if they were using the latest detection data. As of version 2.1, the output for XML and CSV will include a sentence, if necessary, that reads: "This scan generated with detection information from <date of detection information>. The most recent detection information is available at <name of package> from <URL>."

Using an XML file

The XML file is the default output. Users can take the data in the XML file format and import it into Internet Explorer or Excel for analysis. New attributes have been added to make the XML output more informative: PatchID, BASELINEREQUIRED, URL, and EXPIRED. An example in the XML output could look like this:

<PATCH NAME="Office XP Service Pack 2 (English version)" 
PATCHID="XPSP2_10:1:1033" 
BASELINEIDREQUIRED="XPSP1_10:1:1033" 
URL="http://www.microsoft.com/downloads/details.aspx?
FamilyID=1A8CE553-AB76-4A63-99DA-B4ED914C1514&displaylang=en" 
EXPIRED="False"/>

The following table explains the attributes.

Attribute Definition
PATCH NAME Common name for the update.
PATCHID Attribute that uniquely identifies the update, version, and language identifier (LCID) of the current update. In the above example, the value XPSP2_10:1:1033 identifies the update as Office XP Service Pack 2 for English.
BASELINEREQUIRED Attribute that identifies an update that is required before the current update can be installed. In the above example, the value XPSP1_10:1:1033 identifies Office XP Service Pack 1 for English as the baseline. The baseline parameter will not be included if there is no baseline requirement, or if the baseline update is already installed.
URL Path to the Microsoft Download Center details page for the update.
EXPIRED Attribute that indicates whether a patch has been "expired" because of a later, more updated release. Values are True or False.

The XML file follows this format:

<?xml version="1.0" ?> 
<INVENTORY>
  <MACHINE=machine1.corp.microsoft.com>
    <ADMINAPPLICABLE>
      <PATCH NAME="Office XP Service Pack 2 (English version)"  
      PATCHID="XPSP2_10:1:1033" 
      BASELINEIDREQUIRED="XPSP1_10:1:1033" 
      URL="http://www.microsoft.com/downloads/details.aspx?
      FamilyID=1A8CE553-AB76-4A63-99DA-B4ED914C1514
      &displaylang=en" 
      EXPIRED="False"/>
      <PATCH NAME=". . ." /> 
    </ADMINAPPLICABLE>
    <INSTALLED> 
      <PATCH NAME=". . ."/> 
       ....
     </INSTALLED> 
     <APPLICABLE> 
      ....
     </APPLICABLE>
   </MACHINE> 
   <MACHINE> 
     <ERROR>Incomplete detection information</ERROR> 
   </MACHINE> 
....
</INVENTORY>

The following table describes the XML tags.

XML Tag Description
<INSTALLED> Updates applied to the client through a client update or an administrative image.
<APPLICABLE> Updates available for Microsoft Office that are not yet installed.
<ADMINAPPLICABLE>

These updates are required, but you cannot install them by applying client binary updates to the client computer because the client has recached and reinstalled against a patched administrative image.

To apply the update, you can install the full-file version of the update directly on the client computer. You can also apply the full-file version of the update to the administrative image and perform a recache and reinstall operation on the client computer.

<ERROR>

The XML file was not successfully created.

This can be the result of a loss of network connection to the output directory, the directory being full, the detection being stopped in the middle of writing, or other causes.

Using a comma-separated values file

The CSV file is output by using the /c command-line option. Users can take the data from the CSV file, import it into Excel or Microsoft Access, and sort the data in any way they choose.


 Note    If both the /c and /mof command-line options appear on the same command line, the output will be an MOF file.


The format of each line in a CSV file begins with the computer name and is followed by names of patches that have been applied. For example:

jobrown1.corp.yourcorp.com, Outlook 2002 Update: August 16 2001, Outlook 2002 Update: June 21 2001, Word 2002 Update: June 21 2001, Office Web Components 2002 Update: August 9 2001


 Important    The CSV file lists patches that have been applied by either an administrative or a client update. No differentiation is made between these updates. Furthermore, no information is included in the CSV file about updates that are available from Microsoft, but have not yet been applied to the computer. For a more detailed analysis, you should use an XML file.


Using an MOF file

The MOF file is output by using the /mof command-line option. This file is only used for integration with Systems Management Server (SMS). For more information on the MOF language, see MOF Data Types.

The output for MOF files has been improved by adding patch description information in the summary property. The brief patch description contains information such as what issues are fixed by a patch and what products are targeted by a patch.

Here is an example of the MOF output format:

instance of Win32_PatchState
{
  Product = "Office";
  Title = "Visio Professional 2002 Service Release 1";
  LocaleID = "1033";
  Status = "Installed";
  ScanAgent = "Office Update Inventory Tool";
  ScanDateTime = "20030326091218.000000+***";
  Type = "Office";
  InfoPath = { "http://office.microsoft.com/downloads/2002/v10r1pen.aspx" };
  BinPath = { "http://download.microsoft.com/download/Visio10Professional/
    V10R1PEN/2002/W98NT42KMeXP/EN-US/V10R1PEN.exe" };
  Summary = "Microsoft Visio® Professional 2002 Service Release 1 (SR-1) Update 
    is a planned service release providing the latest product updates to 
    Visio Professional 2002. Updates include Microsoft SharePoint™ Portal Server integration, 
    Hebrew composition support, UML reverse engineering support for Visual Studio .Net, 
    and ClearType® control, as well as several security fixes. 
    Note  For important information on deployment, administrators should first 
    refer to the Microsoft Knowledge Base Article, 
    (Q310474): How to Obtain and Install the Latest Visio 2002 Service Release."
};

 Note    If both the /c and /mof command-line options appear on the same command line, the output will be an MOF file.


Inventory tool release history

  • Inventory Tool version 2.2 (released February 14, 2006) contains Inventory.exe File Version 11.0.0.7929.
  • Inventory Tool version 2.1 (released July 27, 2004) contains Inventory.exe File Version 11.0.0.6623
  • Inventory Tool version 2.0 (released Nov 11, 2003) has Inventory.exe File Version 11.0.0.5626
  • Inventory Tool version 1.5 (released Aug 22, 2002) has Inventory.exe File Version 1.0.0.4009

Related Links

For information about baseline images and client patches, see Distributing Office 2000 Client Updates to Users in the Office Resource Kit Journal.

For general information on applying an administrative update (full-file update), see Deploying Product Updates from an Administrative Installation Point in the Office XP Resource Kit.

For information or downloads for administrative update files, see the Office Admin Update Center. For information and downloads for client update files, see the Downloads page of Microsoft Office Online.