Package Validation and Testing

<< Click to Display Table of Contents >>

RayPack > 7.3 u6 > User Guide > PackDesigner > MSI / MST / RPP Based Projects > Advanced Mode > Tables 

Package Validation and Testing

This view allows to execute validation rule checks for the currently loaded project. Please note, that this only applies to MSI / MST and RPP based projects.

 

Package validation includes validation against rules defined by so called Internal Consistency Evaluators (= ICE). It offers full MSI validation as well as Windows Logo checks and Merge Module specific validation. RayPack offers Logo Checks that are specialized for applications targeting Windows XP, Vista and 2000.

 

validation button

 

In RayPack, users have access to standard ICE validation and custom ICE validation:

Standard ICE Validation

Standard ICE validation refers to the application of standard ICE rule sets delivered by RayPack, such as Full MSI, Merge Module, Windows XP Logo, Windows Vista Logo, and Windows 2000 Logo. The CUB files containing the ICE rules can be accessed from the Validation folder within the RayPack application directory (typically something like C:\Program Files (x86)\RayPack\).

 

These sets are by default available in the main list of validation options when the user clicks on the validation button within the TABLES editor interface of PackDesigner's Advanced Mode. When a user clicks on one of the entries of this option list, validation according to the ICE rules bundled inside the specific rule set is executed. Please refer to Working with validation results for information on how to handle validation results.

 

Users have several options to modify the actual behavior of standard ICE validation:

 

Ignore ICE rules from the standard validation procedures
The settings section allows to edit RayPack profiles. Within the advanced tab of the PackDesigner profile properties section, users may enter a list of ICE rules, packaging projects should not be validated against. If a standard validation rule set contains one or more of the ICE rules that have been added to a profiles ignore list, the standard validation procedure ignores these rules whenever that profile is active.

 

Modify the set of default ICE validation procedures
The validation options menu within the TABLES editor displays the RayPack standard validation rule sets by default. However, users may manually change the XML file that controls the checks displayed here. To do so, users have to open ICE.xml from the Resources folder of the current RayPack installation, usually available here: C:\Program Files (x86)\RayPack\Resources\ICE.xml.
 
The XML file contains a section <Cubs>, which lists the RayPack standard ICE validation rule sets. Users may either remove single leaves from this node, or simply change the value for the IsVisibleInMain property from true to false. Either way, the rule set is no longer visible in the main validation rule set list within the  RayPack user interface. The set of visible/available Cubs is global, which means that all RayPack users use the list given within the same ICE.xml file.
 
Another way to modify the standard list, is to add further CUB files to it. Even though CUB files may not be created with RayPack, there are several tools available which can be used for that purpose. Any valid CUB file may be added to the Standard validation list by simply adding a new leaf to the <Cubs> node:
 
Tag: Cub
Properties:
- IsVisibleInMain (true or false)
- Path (name of CUB file from the default validation source folder without extension or full path to the CUB file)
- Name (Label for the validation rule set that will be displayed in RayPack)
- Description (Textual description of rule set purpose)
 
Please note that the Cubs node is read top down for the definition of the Standard Validation Options menu - newly added rule sets will be displayed in RayPack at the very same position the they hold within the <Cubs> node.
 
Each ICE rule may be extended with a description. Therefore, if users manually add further CUB files with individual ICE rule index values, the list of ICE rule descriptions can actually be extended as well. For each ICE rule, there is the option to add a leaf to the <Description> node of the ICE.xml file:
 
Tag: Rule
Properties:
- Id (the unique identifier of the rule, e. g. "ICE999")
- Description (A textual description of the issue checked by the specific rule)

 

papercliper

Note:

Changes to the ICE.xml should not be made while the RayPack application is running. Please close an open RayPack project and exit the application before the .xml configuration resource is edited. Finish the changes and launch RayPack to see the changes take effect on the validation behavior and user interface.

 
 

Modify the CUB files of standard validation procedures
Even though it is not recommended to do so, packagers may edit the CUB files delivered along with RayPack, and directly manipulate the scripted logic behind each and every single rule. Since this kind of manipulation is neither visible in RayPack nor noticeable for other packagers working with the same packaging machine, this kind of manipulation should be handled with explicit care and consideration. If a standard CUB has to be changed, it would be better to make a copy of the RayPack original CUB, hide the original from display (as described above), and integrate the manipulated copy instead. By giving the individual copy a special, descriptive name, all users will have the chance to recognize that the ICE rule set they are currently working with is not the same as the one delivered by RayPack in the first place.
 

Change the actually validated content source
Whenever a user works on an RPP file and triggers custom validation, he is able to select which source RayPack will actually use for the validation run:
 

oCurrent Project
The actual Installer database contents of the currently opened RPP file are validated. For most purposes, this quick option should be sufficient, since the structure of the RPP database and a later MSI target package database are almost the same
 

oBuilt package
RayPack generates a temporary MSI from the currently opened RPP on the fly. By validating this temporary MSI, packagers can be sure that the analyzed structures are the same as of an MSI that would be generated from the RPP for QA or deployment reasons. For example, there are authentic values given within the Media table, which is not necessarily the case for validations of of the current RPP.
Since building a temporary MSI may take a few moments, it is recommended to go for current project validations first and switch to built package validations later, after the quick validation procedures have been solved.
 

oCustom MSI
Using this option requires to pick an already existing MSI file from the local file system. The contents of the MSI installer database tables will be loaded into a temporary session clipboard, but not directly within the RayPack application. Therefore, when the validation has finished with errors or warnings, it is not possible to jump directly to the reason for the issue, since the validated MSI source is not opened in RayPack. However, it might be necessary to validate any given MSI file, e. g. to compare validation results, or verify that a specific file has been built correctly.

Custom ICE Validation

Besides the Standard ICE validation options outlined above, RayPack offers an interface for totally custom ICE validation procedures. To call the dialog for custom validation:

 

1.Users open the ICE validation options menu from the TABLES editor in PackDesigner's Advanced Mode with a click on the validation icon in the upper left area of the application window.
 

2.The last item from the now visible option list is Custom and advanced validation - clicking it displays the custom validation interface.

 

Within the custom validation interface, users may load custom CUB files from a local or shared directory resource, or customize the set of active ICE rules for a given standard rule set. Custom settings to the list of applied and ignored ICE rules last as long as the current instance of the RayPack application runs. Once RayPack is closed and relaunched, the definitions made within the active settings profile are applied.

 

To load a custom CUB file, users click on the browse button [...] at the upper right area of the custom validation dialog. Once a CUB is selected from the system explorer, it is automatically added to the list of selectable rule sets prepared in the selector control on the left hand side of the browse button.

 

When a rule set is selected, the list of ICE rules it contains is loaded into the details pane below. All rules with an active checkbox to their left are used when the VALIDATE NOW button is clicked. All rules that do not have an active checkbox are ignored. To make life a bit easier for RayPack users, the interface contains ALL and NONE buttons, allowing to select or deselect the whole set of rules currently displayed in the details pane.

 

Clicking on VALIDATE NOW executes validation according to the list of currently active ICE rules for the selected rule set. Please refer to Working with validation results for information on how to handle validation results.