Best Practices

<< Click to Display Table of Contents >>

RayPack > 7.3 u6 > User Guide > Settings > Designing 

Best Practices

Portable Executable Files

40font

This setting determines how PE files are handled when added to the project using the PackDesigner. Please note that this setting only effects projects that are compiled as MSI files or when editing / creating an MST file.

 

Create components according to Best Practices

When this option is checked, files are added to the project and they are PE files. Then they will be assigned to their own component and the file will be assigned as the KeyPath of the component.

 

Portable executable file extensions

The predefined PE file types (.exe, .dll, .ocx), along with the file extensions .chm and .hlp are set as standard. In this field it is possible to add custom file extensions to ensure that the file type(s) are assigned to their own component and set as the KeyPath of the component. This ensures that files that are critical to the correct operation of an application are always present (see the self-repair functionality of the Windows Installer).

 

Font file extensions

The standard font files extensions (.ttf, .otf) are set as standard. In this field it is possible to add custom font file extensions to ensure that the file type(s) are assigned to their own component with a correct attribute set (reference counting) and registration in the Installer's Font table. This ensures that the fonts are correctly installed and only uninstalled if other programs installing them are already removed.

 

Components in User Profile

40compoprofile

 

These settings determine how RayPack should treat the folders created in the user profile part (for example in the AppDataFolder directory).

If the checkbox is ticked, for each folder created in the user profile RayPack will:

 

1.Create a component,

2.Create a registry key in the HKEY_CURRENT_USER node,

3.Set the registry key as a KeyPath of the component,

4.Create folder operations CreateFolder and RemoveFile for the folder.

 

These actions ensure that the package passes ICE validation, but may create additional overhead and boilerplate MSI elements (additional components and registry which are not part of the product itself).

 

Additional settings allow a full control on naming convention for the created registry key. It is possible to define the key, name and value. MSI properties enclosed in square brackets are allowed, as they will be written directly into the MSI. Additionally, a special placeholder $(ComponentId) can be used. The token resolves to the name of the component that controls the installation of the registry key.