A WRITEPROFILE element specifies profile (INI) data which should be added to a profile when a package is installed.

This can only be specified in a PCK block and defines that if the package in which the WRITEPROFILE element appears is selected for installation, the specified data should be added to the profile.

This element is optional, but can appear more than once per PCK block. If several WRITEPROFILE elements appear, they are processed in the order in which they are specified.

The data is automatically removed again on de-installation of the profile. As a result, you do not have to specify a separate CLEARPROFILE element for the data added with WRITEPROFILE. In other words, WRITEPROFILE includes CLEARPROFILE.

Syntax:

<WRITEPROFILE
    PROFILE="profile"
    APPLICATION="app"
    KEY="key"
    DATA="string"
/>
This is an empty element and must therefore be terminated with a "/" character.

Attributes:

PROFILE="profile"
Required. The profile (INI) file to work on. This can be "USER" or "SYSTEM" for the user or system profiles (usually OS2.INI and OS2SYS.INI) or an explicit full path specification of an INI file.

This supports macro resolution.

APPLICATION="app"
Required. The application to add data to in profile.
KEY="key"
Required. The subkey of app to add data to in profile.
DATA="string"
Required. The string data to write into the specified key. If the key exists, its contents are overwritten. Otherwise the key is added to the profile.

WarpIN does not support writing binary data to profiles, but strings only. If you need binary data, your application must do this by itself, or specify a program using the EXECUTE attribute which does this on install.

WarpIN will always add a terminating null byte to the string.

This supports macro resolution.

Example: This will store the path where package 1 was written to in an entry in the user profile (usually OS2.INI).

<WRITEPROFILE
    PROFILE="USER"
    APPLICATION="SuperWord"
    KEY="InstallPath"
    DATA="$(1)"
/>