
Enterprise User Manual
Chapter 9
Software Inventory
The Update Software Inventory Operations maintain records of the software packages installed on Client PCs. Enterprise supports this using a Packages Database, which enables it to recognize many common applications automatically; discovery utilities, which assist in the identification of unrecognized applications; and a RuleMaker function, which generates rules for the recognition of applications that are not currently in the database.
The software inventory process consists of three phases:
- A copy of the directory structure, including file sizes, dates and attributes, is taken from the PC's hard disk or server share, including file sizes, dates and attributes. Client PCs capture this information themselves and push the data to an Offline Area at a frequency governed by parameters in the LUCLIENT.INI file.
- For more information, see "Controlling Client Behavior". The LUCLIENT.TXT file in the Client kit also contains details of all settings in the .INI file.
- A Console or Scheduler can then process the pushed data using the rules in the Enterprise Packages Database.
- The processed inventory results can be displayed in the Console, published to the Site Database, and used to create reports.
Collecting Software Inventory Data
Two versions of the Update Software Inventory Operation are supplied with Enterprise:
Update Software Inventory Interactively
Displays the inventory results without saving the data to the Database. Use this Operation when you want to check the results before saving them.
Update Software Inventory
Saves the Software Inventory results to the Site Database. You can submit this Operation as a Scheduled Job.
To collect software inventory data:
- Click an Update Software Inventory Operation.
- Because of the volume of information collected, Update Software Inventory Operations can cause significant network traffic. If you want to schedule the inventory to take place overnight, right-click the Operation and choose Submit Job. For more information, see "Scheduling Operations".
- In the Select Clients dialog, select the Groups or Clients from which you want to collect inventory data, then click the OK button.
Software Inventory Status Values
Each Package Report record in the Software Inventory Results Table has a Status field, which can have four possible values:
New Application
Set when the package is first identified on the PC. It stays at this value until reset to Normal by a subsequent scan. New applications are color-coded green.
Normal
Packages that have been identified on a previous scan and that are still present and unchanged. These packages are reported without any highlight color.
New Version
Set when a new version of an installed application is identified. Packages with this status are color-coded blue. The status remains until reset. New version detection works when multiple versions of packages are defined in one Rule set, but not when packages have different Rule sets for different versions.
Removed
Set when a previously-installed package is no longer detected on a PC. The entry is color-coded red.
Optimizing the Software Inventory Process
The speed of an inventory scan is affected by the power of the Client PC, the Scheduler or Console running the Operation, and the number of files on the Client PC. Slow scans of Online Clients can also be caused by CPU-intensive screensavers.
Larger networks can be scanned more quickly by splitting software inventory Jobs across several Schedulers.
Customizing Software Inventory Operations
The Update Software Inventory Operations have several configurable options which can be used in combination to produce customized variants.
To customize a Software Inventory Operation:
- In the Console, right-click the Update Software Inventory Operation you want to change, and choose Customize. The Customize Software Inventory dialog is displayed.
- Select the Software tab and choose the options you want to use. For more information, see the following section, "Customizable Options for Software Inventory".
- Click the OK button to close the dialog and save your changes.
Customizable Options for Software Inventory
The main customizable options for the Software Inventory Operation are listed below:
Publish results to package report database
Automatically saves the results of the Operation to the Site Database. To avoid corrupting your database, perform a test run against a revised set of Package Rules before selecting this option.
Reset package report status before scan (resets ALL Clients)
Resets the status of all Clients in the database, regardless of whether they are included in a software inventory Operation.
Scan for multiple package Instances per target Client/resource
Finds all copies of an application on each Client PC. Select this option if you want to identify all installed versions of the software package.
Exclude directories from package recognition pass
Skips directories where packages are known not to be installed. Enterprise allows you to define as many Operation variants as you need, so you can define audit and standard versions of your software inventory Operations.
Report directories containing unrecognized applications of type(s)
Lists all directory paths that contain files of the specified types and where Enterprise is unable to identify any package.
Exclude directories from unrecognized application report
Excludes specified directories from the unrecognized applications reports. You can exclude multiple directories by separating their paths with commas.
You can use wildcard (asterisk) characters in a path to exclude all the subdirectories of the path. For example, C:\Windows\* excludes all subdirectories and files in the Windows directory. If you want to exclude subdirectories but not files, enter C:\Windows\*\ .
Using the Packages Database
The Packages Database stores the package definitions, which Enterprise uses to identify installed software applications.
To view the Packages Database
Click the Edit Packages Database Operation in the Console.
To view or update a Package's Details
Right-click the Package and choose Properties from the shortcut menu. This displays the Package Details dialog.
To add a new Package to the Database
Right-click the packages list and choose Add Package from the shortcut menu, or press the Insert key. The Package Details dialog is displayed.
To view or edit Package recognition rules
Double-click the Package, or right-click the Package, and choose Edit Rules from the shortcut menu.
To find out whether a Package is a member of any package policy
Choose Package Policies from the shortcut menu. The Package Policy Manager is displayed, enabling you to view the policies that govern the use of the package.
To create Rules using the Enterprise Browser
You can create a new Package Recognition Rule from the files in a specified directory. To create a rule, click the Browse Clients Operation and navigate to a directory in which the package is installed. Right-click the directory in the Browser Tree and choose Generate package rules from the shortcut menu. The system creates a rule that checks for all the files in selected directory. For more information, see "The Browse Clients Operation".
To remove one or more Packages
Select the Packages, then right-click to display the shortcut menu and choose Delete Package(s). Alternatively, select the Packages you want to remove and press the Delete key.
Adding and Modifying Package Details
Software Inventory Package details are added and modified using the Package Details dialog. This dialog is used to set the name, type and vendor for the Package, as well as any additional comments.
To add entries to the Vendor and Type drop-down lists, type the new information in the Package Details dialog.
- You do not have to complete all the fields in the Package Details dialog. The package name is sufficient to generate a new Package record.
You must add recognition Rules to have a useful Package definition. To do this, right-click a Package in the Packages Database window, then choose the Edit Rules command from the shortcut menu.
Exporting the Packages Database
The Export Database option in the shortcut menu of the Packages Database window enables you to export the Packages Database in text format.
The Enterprise kit contains a standard Packages Database, called LUTPACKAGE.DB, stored in text format. This database contains Vendor and Type information, and rules for recognizing the packages. It is used automatically when initializing a New Site with empty database tables.
When you restart the Console, re-open the Site, and run the RuleMaker, you are prompted to load packages from a text file.
RuleMaker
The Enterprise RuleMaker enables you to define rules that enable software inventory Operations to identify software packages. It includes an editor, and supports nested combinations of Directory and File Rules. It also contains a RuleWizard to help generate rules for new packages.
Enterprise supports multiple version recognition within a single package definition. This reduces the number of records in the Packages Database, and helps Rule maintenance.
To open the RuleMaker:
- Click the Edit Packages Database Operation in the Console. The Packages Database Editor is displayed.
- Right-click the Package Rule you want to edit, and choose Edit Rules from the shortcut menu. The RuleMaker window is displayed.
Package Identification Rules
The following types of Rules can be created using the RuleMaker window.
File Rules
The File Rule allows you to specify one or more key files which must exist for the package to be recognized. You can have several File Rules - all of the files must be present in a directory for the recognition to proceed.
File Rules can be used in conjunction with the Subdirectory Rule, to specify files which are located in lower-level directories.
File name identification can be expanded in the following ways:
- Wildcards - The file identification Rule supports asterisk (*) and question mark (?) wildcards. The single character (?) wildcard is sometimes useful in enabling identification of different country versions.
- File Size - Size values, size ranges and limits can be used for version recognition and language variants, in addition to basic Package identification. The same file can be tested more than once with different checks to identify specific package versions.
- File Date and Time - Date and time can be used to identify application versions (see below), to distinguish different variants of a package, or to apply a range check before applying automatic version recognition (see below).
- File Attributes - Attributes are not often required in normal application package recognition, but can help identify operating system files and files that users have attempted to hide.
Subdirectory Rule
Many applications install files into different subdirectories of the main installation area. The Subdirectory Rule enables you to key onto the structure of the resultant directory tree, and, in combination with further File Rules nested within Subdirectory Rules, to check for files located anywhere in the tree.
Subdirectory Rules are often important in locating optional package components, such as tutorials, network components, libraries, which may be installed on only a few PCs. Knowing the locations of these components can help in supporting selective distribution of updated package components. Deleting a Subdirectory Rule or Nested Subdirectory Rule removes all Rules in that directory and any subdirectories.
Nested Subdirectory Rule
The Nested Subdirectory places a new Subdirectory test below the selected level. Deleting a Subdirectory Rule or Nested Subdirectory Rule removes all Rules in that directory and any subdirectories.
Optional Rules
Package options, such as tutorials and special extensions, can be recognized using Optional Rule block. Optional Rule blocks are built at the end of the main recognition Rules list. If the recognition process reaches any Optional block, the Package has been recognized and will be reported.
All Rules before Optional blocks behave like a logical AND; Optional blocks are handled individually as a logical OR - a Package instance could match none of the available Options, or it could match all of them.
To make sure the Option is recorded in the Software Inventory records, leave the Do not report setting unchecked in the Optional dialog.
RuleMaker does not allow you to insert a Rule above all other Rules, as the new first Rule. However, this is not a problem in practice, as there is usually no reason to order a set of File recognition Rules, for example. If you need to insert a Rule, delete the existing Rules and re-enter them.
Version Recognition Methods
Package versions can be recognized using a sequence of Rules, ending with a Set Version Rule attached to a File Rule.
Multiple Version Recognition
A Rule set can contain several Set Version sequences. This enables one Rule set to identify multiple package versions. The Set Version Rule allows you to progressively develop your estimate of a package version number. It replaces or appends any current estimate of package version number with new information.
For example, a package can be identified as version 4.x, then reset to 4.02, and finally extended to 4.02b. This would take three Set Version Rules, which could appear anywhere in the total set of Rules.
On each occasion, make sure you decide whether to replace the package version string, or append the new version information string to what you have built up already.
Some applications encode the version number in the timestamp of specific files. Enterprise enables you to extract this information using tokens. For example:
- If the file has a timestamp of 04:20:00 (4:20am), $HOURS.$MINUTES returns a version of 4.2.
- If the file has a timestamp of 7:28, the following token values are returned:
- $MINUTES =28
- $MINUTETEN =2
- $MINUTEUNIT =8
- In this case, $MINUTES produces the same result as $MINUTETEN$MINUTEUNIT.
- $MINUTES = 8 (the leading zero is deliberately dropped)
- $MINUTETEN = 0
- $MINUTEUNIT = 8
In this case, $MINUTES (returning a value of 8) is different to $MINUTETEN$MINUTEUNIT (returning a value of 08). If the application followed this convention only after a certain date, apply a date range check before the Set Version Rule.
- Automatic version recognition is a powerful feature that enables you to create Rule sets which are future proof. Several of the Package definitions in the Enterprise Database exploit this technique.
Recognizing Versions using Quiet Option Rule Blocks
Often, it is more convenient to handle version recognition separately from the main package identification process, and the Quiet Option block is useful for this.
Any type of Option block relates to the parent directory being tested for an application match. This means an Option block allows you to input a fresh set of Rules to handle Option recognition.
The Quiet Option means that no Options are written to the Database; instead the Quiet Option Rule block has some other effect, such as setting the version string.
The following example procedure shows how to use the Quiet Option in a recognition rule:
- Create an Option block at the end of the main Rule sequence by right-clicking outside the Rule set. Name the block Set Version 3.3, or Set Version 3.x.
- Set the to not report (this makes it into a Quiet Option) so that it does not generate an `Option found' entry in the Database.
- Create the Rules sequence for the version recognition; the last Rules in the sequence must be a File Rule, with the Set Version Rule attached to it.
- Repeat the above, for as many versions as you can identify, with a new Quiet Option block for each version.
Where multiple version recognition is built into a Package Rule set, the version property must be set to an asterisk character. This can be entered when the package is added to the Database, or by modifying the Package Details.
- Do not define a package as a specific version unless you are sure your Rule set cannot be satisfied by any other version.
If you find a new package on a PC and decide to add it to the Packages Database, leave its version blank until you know how to identify the particular version. You can extend the Rule set at any time. Being too specific about a package version can be misleading if other versions could still pass all of the Rules.Choosing Rules for Package Recognition
Specific Filenames
Choose a filename which is specific to an application rather than general, non-specific names. For example, ``PRINT.DLL'' could be part of any application but ``ACROREAD.EXE'' is specific to Adobe's Acrobat Reader application.
Choosing good files, and placing them at the top of the application's Rule set, helps reduce the scope for misrecognition and makes the scanning process more efficient.
Avoid Too Many File Rules
Avoid using too many File Rules, and using specific dates and times. Too many rules or restrictions can cause restrict the rule set to a specific installation.
For example, keying onto a file such as TUTORIAL.HLP may prevent you from recognizing a package when the tutorial component is not installed.
Flexible File Size Checks
Specify size ranges instead of precise file size checks. A specific file size can fail to recognize an installation where a slightly different variant of a package is installed. For example, applications that are shipped in multiple language variants often differ in size between the U.S. English and the International English versions, and vendor-supplied patches can change the size of a key file.
Using a file size range, or even avoiding size checks altogether, can help you to produce Rule sets which are more reliable as new application versions are released.
Sometimes you can identify an application version reliably by the addition of completely new files. Rather than becoming reliant upon a size change in one of the core application files, you may be able to key onto a file that was not present in previous versions.
Using the RuleWizard
The RuleWizard helps you to create rules that identify software installed on Client PCs. It analyzes the directory where the package is installed for subdirectories and for files of type .EXE, .SYS, .COM, .DLL, .HLP, and .OVL, and creates a set of Rules, which can then be edited. For example, the rules can be expanded to include specific size and date information on the files.
As well as providing a template set of File Rules, the RuleWizard can automatically create a Quiet Option with a Set Version Rule if it finds that all of the identified files share the same date and time stamp. However, a time stamp of 00:00:00 does not generate a Set Version Rule as it usually means the timestamp is meaningless.
The RuleWizard can generate more Rules than are necessary to recognize a Package. You can control this by specifying the maximum number of rules that can be created, and by editing the Rules in the RuleMaker.
To start the RuleWizard:
- Add a new Package in the Packages Database window.
- Double-click the Package to open the RuleMaker window.
- Right-click in the RuleMaker window, and choose the RuleWizard command from the shortcut menu. The system prompts you for the network path of a directory that contains the new application.
- After selecting the other Wizard options, the RuleWizard attempts to connect to the specified location and generates Rules for the Package.
To create new package rules from the Browser:
- In the Console, click the Browse Clients Operation to open the Browser.
- Right-click a directory in the Browser Tree, and choose Generate package rules from the shortcut menu.
- In the New Package dialog, enter a Package Name, and click the OK button. The RuleWizard generates a Rule set for the new Package.
- The RuleWizard uses the default maximum rules settings, and includes subdirectories and Automated version recognition if appropriate.
- You can change the RuleWizard's default settings by customizing the Edit Packages Database Operation.
Testing New Rule Sets
When you generate new package recognition rules, you can test them by selecting another PC where the package is installed and running the Update Software Inventory Interactively Operation.
You can edit the automatically generated Rules at any time, such as when you want to add version recognition.
Publishing Software Inventory Data
When publishing software inventory data, each instance of a Package found on a Client is allocated a record in the Database's Software Inventory Results table. On completion of an Inventory scan, the Publish process compares all the Packages that the scan has identified against the existing records:
- If a Package was not previously installed on that Client, or this is the first time a rule has been defined for the application, a new record is created and its status set to New Package.
- If a new version of a package is identified, the status of the existing record is set to New Version. Any new Options detected are added to the record.
- If there is no corresponding scan result for a Package record, the record status is set to Package Removed.
Viewing Software Inventory Results
The contents of the current Site Database, including software inventory results, can be viewed at any time by choosing Software Details in the Clients View shortcut menu. For example, to highlight the applications found on drive C:, re-order the display by clicking the heading of the Resource column.
![]()
When viewing the Software Inventory Results for an individual Client, the capture date is displayed in the Results window title bar.
The Stored Software Inventory display also uses the Package Report status to highlight packages:
- New packages are displayed in green.
- New versions of packages are displayed in blue.
- Removed packages are displayed in red. You can conceal and reveal removed entries using the shortcut menu.
Displaying Interactive Operation Results
The Update Software Inventory Interactively Operation lists all the Packages found on each Client, ordered by Package name. When viewing the software inventory results for a single Client, the capture date is displayed in the title bar of the Results window. The sort the results, click the various column headings.
Right-clicking enables you to save the results to the Database. As a part of this process, the scan results are compared with existing records, and the new packages, new versions of packages, and removed packages are highlighted.
Software Inventory Reports
Enterprise includes a range of pre-formatted Software Inventory Reports. For example, the Software Inventory Change Summary Report lists Clients where the installed software has changed. For more information, see Chapter 12, "Reports and Database Views".
You can print data in the list views produced for Software Inventory results by choosing Print in the File menu, or by clicking the Print button in the toolbar.
You can print the Job Log list view. The contents of the Event view can also be printed from the File menu but the width of the data in some situations means that truncation is possible. If truncation is likely to be a problem in an Event report, we recommend you save the Event Log to a file.
Using the Software Prompt for Package Report
The Software Prompt for Package Report enables you to select Packages for reporting using a drop-down list.
Note that if you add new packages to the Packages Database, the new Packages are not displayed in the Report's drop-down list.
If you own a copy of Crystal Reports (v7.0 or later), you can update the SwPkgsPrompt.RPT report definition file by performing the following steps.
- Open the file SwPkgsPrompt.RPT in the Crystal Report Designer.
- Choose Parameter Field in the Insert menu.
- Select Package Name, then click Edit.
- Click Set Default Values, then type the new name. Click Add for each Package you want to add to the list.
- After adding your Packages to the list of default values, save the changes to the report definition.
Software Change History
You can view all significant software configuration changes to a Client PC using two methods:
From the Software Details and Software Results Views
The Database Viewer displays the changes affecting the selected PC. The Stored Change History View lists all changes on the selected PC and the Stored Software Changes View lists software changes only.
From the Reports folder in the Console
Crystal Reports is used to run the corresponding reports - Software History Summary and History Summary. These fixed format reports can be run against selected PCs.
Note that if you ran the software inventory interactively and have not yet published the results, any new changes will not appear in these reports.
To remove old changes from the Changes Table (by default, anything older than 60 days), click the Delete Change History Data Operation.
![]() Vector Networks http://www.vector-networks.com Voice: +44 (0) 1827 67333 Fax: +44 (0) 1827 67068 info@vector-networks.co.uk |