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>
Related Articles
A network drive mapped in VMware Tools is accessible only to Standard users, blocking access for InstallShield running as … 19Number of Views What Is the InstallShield Wizard? 6Number of Views Impact on InstallShield and InstallShield for AdminStudio (KB2962872) 10Number of Views ndtrack.exe does not generate .ndi file in the specified folder when it was specified as '-o MachineZeroTouchDirectory="C:\"' 5Number of Views If TIMEOUT or TIMEOUTALL isn't Specified in the Options File, is the Returned Timeout Value Always 0? 5Number of Views
Hi, I am Reva - Ask me anything.
No new updates
Thanks for the feedback!
Your feedback has been saved.Rate this response:
Add Additional feedback ( Optional )
Are you sure you want to cancel
the case creation?
Are you sure you want to cancel the case creation?
Are you sure you want to close this case
| Products | Region | Phone Numbers |
|---|---|---|
| FlexNet Operations FlexNet Embedded FlexNet Publisher FlexNet Connect FlexNet Code Insight InstallAnywhere InstallShield |
North America * |
+1 630-332-2513 (toll) +1 877-279-2853 (toll-free in North America) |
| Europe * |
+44 1925 944367 (toll) +44 800 047 8642 (toll-free in Europe) |
|
| Japan * | +81 3-4540-5335 (select option 2) | |
| Australia * |
+61 3 9895 2177 +61 1800 560 603 (toll-free in Australia) |
|
|
Usage Intelligence (formerly
Revulytics) Compliance Intelligence |
Please use the Case Portal to submit your support ticket or reach out to your Revenera contact. | |
Case id: 00001065
Activity: Status change: 2 hours ago