Directing Installer Debug Output

InstallAnywhere 2017

Edition • Merge module support is available in the Premier edition of InstallAnywhere.

At the project level, InstallAnywhere enables you to write debug information to the console or to a file.

The Output Debug Information action has a similar capability but produces different output and enables you to select the output data that you want to include. Use an Output Debug Information action to obtain feedback on the logic of your installer. Configure the log-related settings in your project to debug errors and failures in the installer’s run time that may be dependent on the environment of the target system.

To direct debug output to the console:

1. In the Advanced Designer, on the Project page, click General Settings. The General Settings view opens.
2. In the Log Settings area, in the Send stderr to and Send stdout to settings, enter the following value:

console

To direct debug output to a file:

1. In the Advanced Designer, on the Project page, click General Settings. The General Settings view opens.
2. In the Log Settings area, in the Send stderr to and Send stdout to settings, enter a file name or a limited set of InstallAnywhere variables.

Note • The default location for debug output that is sent to a file is the directory in which the installer resides.

The values that you enter in the Send stderr to and Send stdout to settings can include three types of InstallAnywhere variables: environment variables ($lax.nl.env.*$ and $lax.nl.env.exact_case.*$), Java system properties ($prop.*$), and directory separators variables ($/$). These variables can be useful when you intend to direct debug output to a custom file location.

Note the following information when you are working with debug output settings on the Project page:

Use only the permitted types of InstallAnywhere variables (LAX environment variables, Java properties, and directory separator variables). If you use variables other than the types that are permitted, they resolve to empty strings at run time.
macOS or OS X and Pure Java installers do not support LAX environment variables ($lax.nl.env.*$ and $lax.nl.env.exact_case.*$). They do support Java properties ($prop.*$) and directory separator variables ($/$).
If the location to which the installer attempts to write the stderr and stdout is not writable, the installer creates these debug files in a temporary location. In this case, the installer writes lax‑<random_number>‑err.txt and lax‑<random_number>‑out.txt to the target system’s temp directory.
Because these files are not removed by the uninstaller, consider clearing the Send stderr to and Send stdout to settings before the final build of the product installer. As an alternative, leave the output intact to make post-development debugging easier.
If your project includes one or more merge modules, the stderr and stdout settings of the parent project override the stderr and stdout settings in the merge modules.

See Also