MSI Plug-in

<< Click to Display Table of Contents >>

RayQC > 8.0 > User Guide > Plug-ins > Internal Plug-ins 

MSI Plug-in

The MSI plug-in deals with functionality required to read information from MSI packages, allows validating MSI packages against ICE rule sets, and is able to extract the files contained within MSI packages.

 

Function Summary

ExtractFiles

GetProperty

GetSummaryInfo

IceValidation

Query

 

Function Details

ExtractFilesData Field

Extracts the file resources from an MSI to a temporary folder and returns the folder name.

Usable in combination with elements of type Data Field.

 

Input parameters

Name

Type

Description & Examples

MSIFile

formatted string

 
 

The name and path of the MSI file.

 

Example:

C:\Temp\Sample.msi

ReUse Data

boolean string

optional

default value: true

The path to the folder that contains the extracted files is determined by the SHA-1 hash value of the MSI file.

 

Options:

enabled: If the temporary extraction folder already exists, it will be reused.

disabled: The temporary extraction folder will be cleared if it already exists, and populated with the current set of extracted files.

MST File

formatted string

optional

default value: none

The name and  path of an optional MST file that may extend the MSI package.

Multiple transform files can be applied using a comma separator.

 

Example:

C:\Temp\German.mst

 

 

GetPropertyMulti-OptionData Field

Looks for the value of a property in an MSI package. This means that according to the given property name, the content of the value column is queried from the Property table of the installer database.

Usable in combination with elements of type Data Field and Multi-Option.

 

Input parameters

Name

Type

Description & Examples

MSIFile

formatted string

 
 

The name and path of the MSI file.

 

Example:

C:\Temp\RayEval.msi

MSTFile

formatted string

optional

default value: none

The name and path of an optional MST file that may extend the MSI package.

Multiple transform files can be applied using a comma separator.

 

Example:

C:\Temp\German.mst

Property

string

Name of the property whose value has to be retrieved.

 

Example:

Manufacturer

 

GetSummaryInfoMulti-OptionData Field

Requests an attribute from the summary information stream of an MSI package.

Usable in combination with elements of type Data Field and Multi-Option.

 

Input parameters

Name

Type

Description & Examples

MSIFile

formatted string

 
 

The name and path of the MSI file.

 

Example:

C:\Temp\RayEval.msi

MSTFile

formatted string

optional

default value: none

The name and path of an optional MST file that may extend the MSI package.

Multiple transform files can be applied using a comma separator.

 

Example:

C:\Temp\German.mst

Attribute

string

Name of the attribute whose value has to be retrieved. This parameter has to be selected from the default pool of attributes:

 

Options:

Author

Comments

CreatingApp

Keywords

LastSavedBy

RevisionNumber

Subject

Template

Title

CharacterCount

CodePage

CreateTime

LastPrintTime

LastSaveTime

PageCount

Security

WordCount

Date/Time Format

formatted string

optional

default value: dd.MM.yyyy HH:mm:ss

If the requested attribute is a date or date-time combination, the selected format schema will be applied.

 

Options:

d.MM.yyyy HH:mm:ss

dd.MM.yyyy

MM/dd/yyyy HH:mm:ss

MM/dd/yyyy

 

IceValidationCheckpoint

Validates an MSI package by applying checks as defined by the rules of the parametrized CUB file.

Usable in combination with elements of type Checkpoint.

 

Input parameters

Name

Type

Description & Examples

MSI File

formatted string

 
 

The name and path of the MSI file.

 

Example:

C:\Temp\RayEval.msi

MST File

formatted string

optional

default value: none

The name and path to an optional MST file that may extend the MSI package.

Multiple transform files can be applied using a comma separator.

 

Example:

C:\Temp\German.mst

Cub Filename

formatted string

The name and path of the CUB file that contains the rules to validate the MSI against.  

 

Example:

C:\Temp\Darice.cub

Suppressed Checks

formatted string

optional

default value: none

Comma separated list of ICE rule names, which are present in the CUB file, but should not be applied during validation.

 

Example:

ICE01,ICE33,ICE64

MaxWarnings

integer

optional

default value: -1

Maximum number of warnings that may occur during the ICE validation without causing the plug-in result to turn false.

 

Options:

-1: The number of warnings that arise during the ICE validation does not have any effect on the checkpoint result.

0: Any CUB rule evaluation that reveals a warning causes the plug-in result to turn false.

Any other integer > 0: As long as the number of warnings that arise during ICE validation is below the entered value, the checkpoint result evaluates to true.

MaxErrors

integer

optional

default value: 0

Maximum number of errors that may occur during the ICE validation without causing the plug-in result to turn false.

 

Options:

-1: The number of errors that arise during the ICE validation does not have any effect on the checkpoint result.

0: Any CUB rule evaluation that reveals an error causes the plug-in result to turn false.

Any other integer > 0: As long as the number of errors that arise during ICE validation is below the entered value, the checkpoint result evaluates to true.

 

QueryMulti-OptionData Field

Executes a reading query on the installer database. The default query schema is defined as:
SELECT item FROM table WHERE key = value

Please note that the supported set of SQL operators and language constructs is limited for installer database queries, which is why the query function is limited to a straight forward select statement.

The result set of the query execution may contain 0,1, or several data objects.

Usable in combination with elements of type Data Field and Multi-Option.

 

Input parameters

Name

Type

Description & Examples

MSIFile

formatted string

 
 

The name and path of the MSI file.

 

Example:

C:\Temp\RayEval.msi

MSTFile

formatted string

optional

default value: none

The name and  path of an optional MST file that may extend the MSI package.

Multiple transform files can be applied using a comma separator.

 

Example:

C:\Temp\German.mst

Select

string

SQL expression that determines the data column that has to be retrieved from the installer database.  

 

Example:

Action

From

string

SQL expression determining the table that contains the information that has to be read.  

 

Example:

CustomAction

Where

string

optional

default value: none

SQL expression that determines a data column that is used as base for the equative result set filtering.

If the Equals parameter is not empty, Where must be provided as well.

 

Example:

Type

Equals

string

optional

default value: none

Value used to filter the query result set. It has to be present within the column specified by the Where parameter.

If the Where parameter is not empty, Equals must be provided as well.

 

Example:

19