Summary
This article explains how InstallShield Multiplatform (ISMP) package evidence is captured by the FlexNet Inventory Agent.
Synopsis
InstallShield Multiplatform is a package installation technology developed by Revenera and used by various software publishers to developer software installers. It has since been superseded by InstallAnywhere. Formerly, ISMP was known as InstallShield Universal.
To track product installations, InstallShield Universal uses the Vital Product Data (VPD) registry.
ISMP versions prior to 10.5 store VPD data in a file named vpd.properties. Data is stored in a pipe ("|") separated text file format. 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
ISMP versions 10.5 and later store VPD data in a HSQL database. While the vpd.properties file is still used, it now only contains details of the HSQL database. A file named vpd.script contains the product details in 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 FlexNet Inventory Agent looks for vpd.properties and vpd.script files using the following techniques:
- All operating systems:
- Under directories specified by the IncludeDirectory preference.
- $HOME/vpd.properties
- $HOME/InstallShield/Universal/
- Windows operating systems:
- %SYSTEMROOT%/vpd.properties
- Under the %CommonDir%\InstallShield\Universal\ directory
- UNIX-like operating systems:
- /usr/lib/objrepos/vpd.properties
- /usr/lib/vpd.properties
- /InstallShield/VitalProductData/vpd.properties
- Under the /usr/lib/objrepos/InstallShield/Universal directory
- Under the /usr/lib/InstallShield/Universal directory
- Under the /InstallShield/VitalProductData/InstallShield/Universal directory
Where:
- $HOME is the executing user's home directory (%HOMEPATH% on Windows)
- %SYSTEMROOT% is the Windows system root.
- %CommonDir% is the CommonFilesDir in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion.
Once a vpd.properties file is discovered, the agent parses details from it into package evidence records.
Relevant 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
The example above would produce the following details in an inventory NDI file:
<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>
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
The example above would produce the following details in an inventory NDI file:
<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
SMTP connection error during scheduled report export in Snow License Manager 105Number of Views How To Return To The Online Activation Method From The Offline Activation Method 24Number of Views How to Activate an InstallShield Node-Locked License 12Number of Views View all support tickets from your organization in the Flexera Community Case Portal 101Number of Views How and where to enable the option "Show InstallScript Project types" to create InstallScript Projects in InstallShield Ed… 13Number 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. | |
Revenera Assistant
Case id: 00001065
Activity: Status change: 2 hours ago