cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Summary

This article explains how InstallShield Multiplatform (ISMP) package evidence is captured by FlexNet inventory agent.

Synopsis

Q. How is InstallShield Multiplatform (ISMP) package evidence captured by the inventory agent?
A. InstallShield Multiplatform is a package installation technology developed by Flexera Software. It has since been superseded by InstallAnywhere. Formerly, ISMP is known as InstallShield Universal.

To track product installations, InstallShield Universal uses the Vital Product Data (VPD) registry. In versions of ISMP earlier than 10.5, the VPD is implemented using a pipe ("|") separated file called "vpd.properties". For example:

IBM.WICS|4|3|0|0|WICS 4.3.0|1=WebSphere ICS|IBM WebSphere InterChange Server 4.3.0|WebSphere ICS|IBM Corporation|http://www.ibm.com|4.3.0|/opt/IBM/WebSphereICS|0|0|1|IBM.WebSphere.ICS|4|3|0|0|WICS 4.3.0|1|0|false| |true|3|IBM.WICS|4|3|0|0|WICS 4.3.0|1

Version 10.5 and later of ISMP uses a HSQL Database to store the VPD. While the "vpd.properties" file is still used, it now only contains details of the HSQL database. A "vpd.script" file contains the product details and is the the form of SQL statements required to create and populate an INSTALLED_SOFTWARE_OBJECT database table. For example:
CREATE TABLE INSTALLED_SOFTWARE_OBJECT(INSTALLED_SOFTWARE_OBJECT_ID INTEGER NOT NULL PRIMARY KEY,SOFTWARE_OBJECT_UID VARCHAR(255) NOT NULL,INSTALL_LOCATION VARCHAR(255) NOT NULL,INSTANCE INTEGER NOT NULL,VERSION VARCHAR(255),INSTALL_STATUS INTEGER,ACTIVE VARCHAR(255),COMPATIBLE_VERSION VARCHAR(255),PUBLICLY_SHARED VARCHAR(255),VENDOR_NAME VARCHAR(255),VENDOR_WEBSITE VARCHAR(255),NAME VARCHAR(255),DISPLAY_NAME VARCHAR(255),DESCRIPTION VARCHAR(255),UNINSTALL_INFORMATION VARCHAR(255),ISPRODUCT CHAR(5) DEFAULT 'false' NOT NULL,INCLUDES_UNINSTALLER_ENGINE CHAR(5) DEFAULT 'false' NOT NULL,ENGINE_VERSION VARCHAR(255) DEFAULT '1.0.0',CONSTRAINT INSTALLED_SO_ORDER UNIQUE(SOFTWARE_OBJECT_UID,INSTALL_LOCATION,INSTANCE))
	INSERT INTO INSTALLED_SOFTWARE_OBJECT VALUES(1,'9e19032d537d59151b616e1aaa4582a8','/opt/IBM/MBFE',1,'5.0.0.2',3,'true',NULL,'false','IBM Corporation','http://www.ibm.com','rootbean','IBM WebSphere Message Broker File Extender',NULL,'"_uninst" "uninstall.jar" "uninstall.dat" "assembly.dat" "run.inf" "/root/InstallShield/Universal/common/Gen1/engine/1.0/engine.jar" "/root/InstallShield/Universal/common/Gen1/engine/1.0/ext" "" ""','true','true','1.0.1')
	INSERT INTO INSTALLED_SOFTWARE_OBJECT VALUES(2,'c0e608ab498ac40d4d04eca1bb347ab2','/opt/IBM/MBFE',1,'',3,'true',NULL,'false',NULL,NULL,'JPlugin','File plug-in nodes runtime',NULL,NULL,'false','false','1.0.1')
	INSERT INTO INSTALLED_SOFTWARE_OBJECT VALUES(3,'e84e5e4a2f4bf7b692bbe820f9dd8acc','/opt/IBM/MBFE/eclipse',1,'',3,'true',NULL,'false',NULL,NULL,'Eclipse','File plug-in nodes Eclipse components',NULL,NULL,'false','false','1.0.1')

The inventory agent looks for "vpd.properties" and "vpd.script" files using the following techniques:

  • All platforms:
    • During the file system scan based on the IncludeDirectory setting.
    • Look for "$HOME/vpd.properties"
    • Search "$HOME/InstallShield/Universal/"
  • Windows:
    • Look for "%SYSTEMROOT%/vpd.properties"
    • Search "%CommonDir%\InstallShield\Universal\"
  • UNIX:
    • Look for "/usr/lib/objrepos/vpd.properties"
    • Look for "/usr/lib/vpd.properties"
    • Look for "/InstallShield/VitalProductData/vpd.properties"
    • Search "/usr/lib/objrepos/InstallShield/Universal"
    • Search "/usr/lib/InstallShield/Universal"
    • Search "/InstallShield/VitalProductData/InstallShield/Universal"
      Where
  • $HOME is the executing users home directory (%HOMEPATH% on Windows)
  • %SYSTEMROOT% is the Windows system root.
  • %CommonDir% is the CommonFilesDir in "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion".

Once the "vpd.properties" files are discovered, the agent parses them into package evidence records. The pipe separated fields are:

  • Package name: field 8
  • Version: fields 2, 3, 4 and 5 as "..|Major|Minor|Update|Maintenance|.."
  • InstallLocation: field 13
  • ProductCode: field 1
  • Publisher: field 10
  • Summary: field 9

From the example above:

<Package Name="IBM WebSphere InterChange Server 4.3.0" Evidence="ISMP" Version="4.3.0.0">
	<Property Name="InstallLocation" Value="/opt/IBM/WebSphereICS"/>
	<Property Name="ProductCode" Value="IBM.WICS"/>
	<Property Name="Publisher" Value="IBM Corporation"/>
	<Property Name="Summary" Value="WebSphere ICS"/>
</Package>

The discovered "vpd.script" files are also parsed into package evidence records. Values taken from the INSTALLED_SOFTWARE_OBJECT table are:

  • Package name: DISPLAY_NAME
  • Version: VERSION
  • InstallLocation: INSTALL_LOCATION
  • ProductCode: SOFTWARE_OBJECT_UID
  • Publisher: VENDOR_NAME
  • Summary: DESCRIPTION

From the example above:

<Package Name="IBM WebSphere Message Broker File Extender" Evidence="ISMP" Version="5.0.0.2">
	<Property Name="InstallLocation" Value="/opt/IBM/MBFE"/>
	<Property Name="ProductCode" Value="9e19032d537d59151b616e1aaa4582a8"/>
	<Property Name="Publisher" Value="IBM Corporation"/>
</Package>

Was this article helpful? Yes No
No ratings
Version history
Last update:
‎Dec 13, 2018 05:40 AM
Updated by: