
Enterprise User Manual
Chapter 10
Software Inventory
The Software Inventory function in PC-Duo Enterprise maintains continuously accurate information on the deployment of identified and authorized applications. This calls for a powerful and flexible approach to identifying applications, which must at the same time operate without any disruption to the PC users.
In support of this main function, PC-Duo Enterprise features a comprehensive Packages Database, listing all of the applications which PC-Duo Enterprise can recognize automatically. It also provides discovery utilities to assist in the identification of unrecognized applications, and automated generation of rules for applications which are not currently in the Packages Database.
PC-Duo Enterprise offers integration with Microsoft's SMS, with the generation of SMS MIF data to supplement and extend the SMS database detail.
PC-Duo Enterprise presents a complete, flexible and non-intrusive alternative to the SMS Software Inventory method, and uses standard SMS techniques for transferring the extra information to the SMS database.
The Software Inventory Process
The Software Inventory process consists of several phases:
- A complete copy of the directory structure is taken from the PC hard disk or server share, including file sizes, dates and attributes. Client PCs capture this directory information themselves and push the data to an Offline Area at a frequency governed by parameters in the LUCLIENT.INI file. For more information on configuring the frequency of data collection, see "Controlling Client Behavior". The LUCLIENT.TXT file in the Client kit also contains details of all settings in the .INI file.
- A PC-Duo Enterprise Console or Scheduler can then process the pushed data using the rules in the PC-Duo Enterprise Packages Database.
- The processed inventory results can be displayed at the Console, published to the Site Database, and used for change and exception reporting.
Performing a Software Inventory
Two Software Inventory Operations are supplied in PC-Duo Enterprise:
Software Inventory
Displays the scan results without publishing the data to the Database. This is useful in test situations, where you want to check the results of a scan before publishing them.
Software (Publish)
This publishes the Software Inventory results to the Database. This operation variant is often submitted as a Scheduled Job.
To Perform a Software Inventory Operation:
- In the Console, select the Group or Nodes you want to inventory.
- Double-click on a Software Inventory Operation.
Alternatively, if you want to submit the operation as a scheduled Job, right-click on the operation and choose Submit Job. The Submit Job dialog is displayed, enabling you to configure the Job information.
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. Records with this status are color-coded green in Software Inventory results.
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 and the Host, and the number of files on the PC. However, slow scans of Online Clients can also be caused by CPU-intensive screensavers.
Larger Host systems can be scanned more quickly by splitting Software Inventory Jobs across several Schedulers.
Customizing the Software Inventory Operation
The Software Inventory Operation has several configurable options, which can be used in combination to produce customized variants.
To Customize the Software Inventory Operation:
- In the Operations View, right-click on the Software Inventory Operation you want to change, and choose the Customize command. The Customize Software Inventory dialog is displayed.
- Select the Software tab and check 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. Select:
Publish results to package report database
To automatically save the results of the operation to the 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 nodes)
To reset the status of all nodes in the database, irrespective of whether they are included in a software inventory.
Scan for multiple package Instances per target node/resource
To find 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
To skip directories where packages are known not to be installed. For maximum thoroughness, you can choose not to exclude any directories. PC-Duo Enterprise allows you to define as many operation variants as you need, so you can setup audit and regular versions of your software inventory operations.
Report directories containing unrecognized applications of type(s)
To list all directory paths that contain files of the specified types and where PC-Duo Enterprise is unable to identify any package.
Exclude directories from unrecognized application report
To exclude 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 is the name given to PC-Duo Enterprise's list of package definitions, which are used to identify applications.
To view the Packages Database
Select the Operations View's Software tab, then double-click the Packages Db Editor Operation.
To view or modify a Package's Details
Right-click on the Package and choose the Properties command from the shortcut menu. This displays the Package Details dialog.
To add a new Package to the Database
Right-click to display the shortcut menu, then choose Add Package. Alternatively, press the Insert key. The Package Details dialog is displayed.
To view or edit Package recognition rules
Double-click on the Package. Alternatively, right-click on the Package, then choose Edit Rules from the shortcut menu. You can also select the Package and press Enter. Any of these methods open the RuleMaker window.
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 PC-Duo Enterprise Browser
You can create a new Package and recognition rules for a directory in the PC-Duo Enterprise Browser window - right-click on a directory (in the left pane of the Browser) and choose the Generate package rules command from the shortcut menu.
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 entries into the appropriate box 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 on a Package in the Packages Database window, then choose the Edit Rules command from the shortcut menu.
Exporting the Packages Database
The Packages Database window's shortcut menu features an Export Database menu command, which enables you to export the Packages Database in text format.
PC-Duo Enterprise ships with the standard Packages Database stored in text format as LUTPACKAGE.DB. This text database contains all the Vendor and Type information and the 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 Operation, you are prompted to load packages from a text file.
Using RuleMaker
The RuleMaker window enables you to define Rules to identify software packages. It features a graphical editor, and supports nested combinations of Directory and File Rules. It also contains a RuleWizard to automate the generation of Rules for new packages.
PC-Duo Enterprise supports multiple version recognition within a single package definition. This reduces the number of records in the Packages Database, and helps facilitate a consistent approach to the task of maintaining the Rules for multiple package versions.
To display the RuleMaker window:
- Double-click on the Package Db Editor Operation in the Console's Operations View to open the Packages Database window.
- Right-click on the Package whose rules you want to edit.
- Choose the Edit Rules command 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 are all available. They can be used for version recognition, for language variants, in addition to basic Package identification. The same file can be tested more than once with different checks, which can be used to identify specific versions of packages.
- File Date and Time - Date and time can often be used to identify application versions (see below), or to distinguish different variants of a package, or to apply a range check before applying the automatic version recognition technique described below.
- File Attributes - Attributes are not often required in normal application package recognition, but can help identify files that users have attempted to hide and operating system files.
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 any combination of Rules embedded in an 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 in one set of Rules
A Rule set can contain several Set Version sequences, so one Rule set can recognize 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.
So, a package version 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 follow a useful convention of encoding the version number in the timestamp of specific files. To exploit this, PC-Duo Enterprise supports the use of tokens representing the file creation date and time to construct a version template. For example, $HOURS.$MINUTES would generate a version of 4.2 if the creation time on the selected file is 04:20:00 (4:20am).
If you have a timestamp of 7:28, the following token values will be returned:
In this case, $MINUTES would give the same result as $MINUTETEN$MINUTEUNIT.
With a timestamp of 7:08, the following token values would be returned:
Therefore, $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 which enables you to create Rule sets which are future proof. Several of the Package definitions in PC-Duo Enterprise's Database exploit this technique and we encourage other application vendors to timestamp their files with the version number. Easing the management of their applications reduces the costs associated with a vendor's products.
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 back to the root of the search, that is to the parent directory which is being tested for an application match, so an Option block allows you to input a fresh set of Rules to handle Option recognition.
The Quiet Option means that no actual Options are written to the Database; instead the Quiet Option Rule block has some other effect, which is invariably setting the version string.
An example of the Quiet Option usage:
- Create an Option block at the end of the main Rule sequence (remember to right click outside the Rule set), and name it, for example, ``Set Version 3.3'', or ``Set Version 3.x''.
- Set it 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 in its Properties 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
It is better to choose a filename which is specific to an application than to use 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 Rule set for an application, helps to reduce the scope for misrecognition and to increase the efficiency of the scanning process itself.
Avoid Too Many File Rules
Avoid using too many File Rules, and being too restrictive on file sizes, dates and times. Too many rules or restrictions can lead to your being dependent on something that is specific to one installation of an application and failing to report valid installations that are subtly different.
For example, keying onto a file such as TUTORIAL.HLP may prevent you from recognizing a package which doesn't install an optional tutorial component.
Flexible File Size Checks
Using precise file size checks, rather than size ranges can fail to recognize an installation where a slightly different application variant has been 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.
Vendor-supplied patches can sometimes provide a new version of a key application 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 an application version can be identified 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 the appearance of a file which was not present in previous versions.
Using the RuleWizard
The RuleWizard automates the process of providing an outline set of Rules for a new Package. It analyzes the target directory for subdirectories and for files of type .EXE, .SYS, .COM, .DLL, .HLP, and .OVL, then builds a set of Rules up to the maximum number specified. The Rules provided by the Wizard can then be edited. For example, all the File Rules it provides can be expanded to include any mix of size and date information.
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 often generates more Rules than are necessary to recognize a Package, but you can streamline your Rules using the RuleMaker.
To Start the RuleWizard:
- Add a new Package in the Packages Database window.
- Double-click on the Package to open the RuleMaker window.
- Right-click in the RuleMaker window, then 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.
Adding Packages and Rules from a Browser Window
To create a new Package and associated from a directory in a PC-Duo Enterprise Browser window:
- Right-click on a directory in the left pane of a Browser window,
- Choose the Generate package rules command 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.
Automated version recognition is applied if appropriate. The RuleWizard uses its default settings of a maximum Rules quota of 10, and include subdirectories.
Testing a New Rule Set
When a new Rules have been generated, you can test them by selecting another PC where the package is installed and running a Software Inventory (Display) Operation.
You can edit the automatically generated Rules at any time, such as when you to introduce version recognition in those cases where the application vendor doesn't allow the date and time template method to be used.
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 current Database contents, including software inventory results, can be viewed at any time using the Software Details option in the Nodes View shortcut menu. For example, to highlight the applications found on drive C:, re-order the display by clicking on the Resource column heading.
Stored Software Inventory Details
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
When the Software Inventory Operation is run interactively, it displays a list of all the Packages found on each Node, ordered by Package name.
When viewing the Software Inventory Results for an individual Client, the capture date is displayed in the Results window title bar. The list of results can be sorted by clicking on the various column headings.
Right-clicking enables you to Publish results into the Database. As a part of this Publish process, the scan results are compared with existing records, and the New Package, New Version, and Package Removed are highlighted.
Software Inventory Reports
PC-Duo Enterprise offers a range of pre-formatted Software Inventory Reports. For example, the Software Inventory Change Summary Report highlights Nodes which have changed their recognized Package results. For more information about PC-Duo Enterprise Reports, see "To generate a report".
You can print data in the list views produced for Software Inventory results using the File, Print menu command, or the Print button in the toolbar.
The Job Log list view can also be printed. The contents of the Event view can be printed from the File menu but the width of the data in some situations means that truncation is possible.
You can also save the Event Log to a file. This is recommended if you need to save an Event report where truncation is a problem.
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 facility.
Note that if you add new packages to PC-Duo Enterprise's Packages Database, these new Packages are not presented for selection in this Report's drop-down list.
If you own 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 the Insert, Parameter Field menu command.
- Select Package Name, then click Edit.
- Click on Set Default Values, then type the new name and 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
All the significant software configuration changes that have occurred to a PC can be viewed at any time using two methods:
From the Software Details and Software Results views
PC-Duo Enterprise's DBViewer is used to view the changes affecting the selected PC. The Stored Change History view lists all changes on the selected PC and Stored Software Changes view lists software changes only. As with all DBViewer-based views, the view supports features such as column ordering, and customizable HTML export.
From the Reports tab in the Operations view
Crystal is used to run the corresponding reports - Software History Summary and History Summary. These are fixed format reports, and they can be run against multi-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), double-click the Purge Old Change History Data Operation in the Console.
![]() Vector Networks http://www.vector-networks.com Voice: +44 (0) 1827 67333 Fax: +44 (0) 1827 67068 info@vector-networks.co.uk |