D. Project Properties and Lists

## D. Project Properties and Lists

Project Properties - Build
property | default value | allowed values | description
`buildTag` | `IB: ${installer_builder_version}-${installer_builder_timestamp}` | string | Optional text that will be shown as part of the output of --version and that can be used to distinguish builds
`outputDirectory` | `` | string | Directory where the installers will be placed once they are built
`enableLinuxLegacySupport` | `0` | 0, 1 | If enabled, the generated Linux installer will support old versions of Linux (prior to Red Hat 9), but it may cause errors on recent versions of Linux with GTK UI mode.
`enableTimestamp` | `1` | 0, 1 | Whether or not to enable or disable generating a timestamp for the installer being built, which is shown on the --version command line option. Disabling this option is useful to guarantee that if all the files of your project remain untouched, the generated installer binaries will be identical for every build.
`osxPlatforms` | `osx-intel` | string | Space separated list of platforms that will be supported when generating OSX bundles. Can be osx-intel, osx-ppc and osx-10.2
`osxApplicationBundleIdentifier` | `com.bitrock.appinstaller` | string | Identifier used to uniquely identify your application
`componentsDirectory` | `${product_shortname}-${product_version}-components` | string | Name of the directory that will contain the component files created by the build process
`componentsUrl` | `` | string | URL to components; will be appended with component file name
`componentsDownloadDirectory` | `${system_temp_directory}` | string | Directory to put downloadable components in
`allowAddRemoveComponents` | `0` | 0, 1 | If enabled, allows adding or removing components by re-running installer or running uninstaller to uninstall parts of application
`createOsxBundleZip` | `0` | 0, 1 | Create a zip archive from OS X bundle to ease shipping of OS X installers
`createOsxBundleDmg` | `0` | 0, 1 | Create a DMG from OS X bundle to ease shipping of OS X installers

Project Properties - CDROM / DVD
property | default value | allowed values | description
`cdromDirectory` | `${product_shortname}-${product_version}-cdrom` | string | Name of the directory that will contain the CDROM files created by the build process
`cdromPlatforms` | `` | string | Space separated list of platforms that will be supported when generating CDROMs. If not specified, launchers will be created for all supported platforms.
`cdromDiskSize` | `700000000` | positive integer or zero | Disk CDROM size (bytes)
`cdromFirstDiskSize` | `650000000` | positive integer or zero | Size for the first CDROM disk. This is necessary because additional resources such as PDF files may be bundled in that first disk.
`compressPackedFiles` | `0` | 0, 1 | Compress files as they are packed into the installer file or CDROM media

Project Properties - Compression
property | default value | allowed values | description
`compressionAlgorithm` | `zip` | zip, lzma, lzma-ultra, lzham, lzham-ultra | Compression algorithm that will be used to pack the files inside the installer. LZMA compression is available only on Linux, Windows and OS X platforms
`lzmaUltraBlockSize` | `80` | string | Specifies block size for lzma-ultra compression in MB; the value should be between 50-250
`parallelDecompressionCores` | `8` | 1, 2, 3, 4, 5, 6, 7, 8 | Limit maximum number of CPU cores to use for LZMA Ultra decompression ; setting to 1 will disable the parallel decompression
`enableUpx` | `1` | 0, 1 | Only available for Windows installers; if disabled, the generated installer will be larger, but compliant with security best practices

Project Properties - Debugger
property | default value | allowed values | description
`enableDebugger` | `0` | 0, 1 | Allows launching debugger application on installation
`debuggerPassword` | `` | string | Password required to allow using the debugger

Project Properties - Encryption & SSL
property | default value | allowed values | description
`enableSslSupport` | `0` | 0, 1 | Allows connecting over HTTPS protocol
`sslCAFile` | `` | string | SSL Certificate Authority file to use for verifying remote peers
`enableEncryption` | `0` | 0, 1 | If enabled, installer payload is encrypted and a password needs to be passed before files can be unpacked and/or installed
`encryptionPassword` | `` | string | If encryption is enabled, password used for encrypting payload of the installer
`requirePasswordOnStartup` | `1` | 0, 1 | If enabled, installer will require entering correct password at installer startup

Project Properties - Images
property | default value | allowed values | description
`logoImage` | `` | string | 48x48 GIF or PNG logo image that will be placed at the top right corner of the installer. If no image is specified, the default image will be used
`leftImage` | `` | string | 163x314 GIF or PNG image that will be placed at the left side of the installer in the Welcome and Installation Finished pages. If no image is specified, the default image will be used
`splashImage` | `` | string | The GIF or PNG image that will appear when launching the installer
`wmImage` | `` | string | 48x48 GIF or PNG logo image that will be shown in the window manager task bar on Unix systems. If no image is specified, the default logo image will be used
`osxApplicationBundleIcon` | `` | string | ICNS file to include in the Application Bundle
`osxUninstallerApplicationBundleIcon` | `` | string | ICNS file to include in the Uninstaller Application Bundle
`osxDmgBackgroundImage` | `` | string | OS X DMG Background Image
`enableRetinaDisplayImages` | `0` | 0, 1 | Enable Retina Display Images
`windowsExecutableIcon` | `` | string | ICO file with an specific format -see below- to set the icon for the installer executable file on Windows systems.
`windowsUninstallerExecutableIcon` | `` | string | ICO file with an specific format -see below- to set the icon for the uninstaller executable file on Windows systems.

Project Properties - Installation
property | default value | allowed values | description
`requireInstallationByRootUser` | `0` | 0, 1 | Whether or not installation will require super user privileges (root on Linux, Administrator user on Windows and OS X). This setting will prevent the installer from running if the user is not root or Administrator on all operating systems except for OS X. In OS X, the regular authentication dialog window will be shown, asking the user for the administrator password so the installer can be run with root privileges
`requestedExecutionLevel` | `requireAdministrator` | requireAdministrator, asInvoker, highestAvailable | UAC execution level of the application on Windows
`windows64bitMode` | `0` | 0, 1 | Access to the 64bit registry and environment variables by default
`allowComponentSelection` | `0` | 0, 1 | Whether or not to allow individual component selection during installation
`installationType` | `normal` | normal, upgrade | Installation type. Normal is a regular installation process. Upgrade will not create an uninstaller or Start Menu Group.
`rebootRequired` | `0` | 0, 1 | Determines whether or not to ask the user to reboot after installation is completed (Windows-specific option).
`deleteOnExit` | `0` | 0, 1 | Whether or not to delete the installer binary once the installation has completed
`ignoreInvalidOptions` | `0` | 0, 1 | Ignore invalid options from the command line. Useful to share the same option file across installers.
`singleInstanceCheck` | `0` | 0, 1 | Check that only one installer instance is running. This property does not allow variables.
`replaceLockedFilesOnReboot` | `0` | 0, 1 | If set to true, trying to override a locked file on Windows will create a temporary file and mark it to be renamed after rebooting
`showDownloadableComponentsProxyPage` | `1` | 0, 1 | If enabled, installer will show proxy configuration page if one or more downloadable components will be downloaded

Project Properties - Language
property | default value | allowed values | description
`defaultLanguage` | `en` | sq, ar, es_AR, az, eu, pt_BR, en_GB, bg, fr_CA, ca, hr, cs, da, nl, en, et, fi, fr, de, el, he, hu, id, it, ja, kk, ko, lv, lt, es_MX, no, fa, pl, pt, ro, ru, sr, zh_CN, sk, sl, es, sv, th, zh_TW, tr, tk, va, vi, cy, auto | Default language for the installer
`allowLanguageSelection` | `0` | 0, 1 | Allow language selection. If this setting is enabled, the user will be required to specify the language for the installation
`allowedLanguages` | `` | string | Space-separated list of language codes for allowed installer languages
`languageSelectionStyle` | `default` | default, onlyNativeNames, onlyEnglishNames | Configures whether to display languages English name, native name or both in the language selection dialog

Project Properties - Logs
property | default value | allowed values | description
`logFileTimeStampFormat` | `` | string | The timestamp format used for the default installation log messages
`installationLogFile` | `` | string | Aternate path to store the installation log file.
`uninstallationLogFile` | `` | string | Alternate path to store the uninstallation log file.
`removeLogFile` | `0` | 0, 1 | This project property controls automatic deletion of the generated log file after installation. It is set to 0 by default. If set to 1, the installer will remove the log file
`removeUninstallationLogFile` | `0` | 0, 1 | This project property controls automatic deletion of the generated log file after uninstallation. It is set to 0 by default. If set to 1, the installer will remove the uninstallation log file
`debugLevel` | `2` | 0, 1, 2, 3, 4 | Sets the execution debug level. Values over the standard provide extra debug in the installationLog when using <runProgram> actions, and values under it prevent arguments to be logged

Project Properties - Look and Feel
property | default value | allowed values | description
`defaultInstallationMode` | `` | string | Default Installation Mode. Available installation modes can be found by running the installer from command line using the --help option
`allowedInstallationModes` | `` | string | Available Installation Mode. Available installation modes can be found by running the installer from command line using the --help option
`unattendedModeUI` | `none` | none, minimal, minimalWithDialogs | Select which UI mode to show during unattended installations. Selecting "none" shows nothing, performing a silent installation. Selecting "minimal" will show a simple graphical progressbar. Selecting "minimalWithDialogs" is the same as "minimal", but allowing also minimal interaction via dialogs such as showInfo and showWarning
`overrideGtkButtonText` | `0` | 0, 1 | Wizard buttons in GTK mode include wording provided by system settings. Enabling this setting will force the wording to be the same as in other modes (Next instead of Forward) . This property does not allow variables.
`enableLinuxXwindowXftSupport` | `1` | 0, 1 | If enabled, the generated Linux installer will support Xft for xwindow mode on Linux, but its size will increase by 500kB
`style` | `standard` | standard, custom | Whether or not to customize the graphical interface. If set to custom, then each screen in the installer will contain a leftImage that can be customized
`width` | `500` | string | Width in pixels of the installer window
`height` | `350` | string | Height in pixels of the installer window

Project Properties - Main
property | default value | allowed values | description
`fullName` | `` | string | The full product name, as it will be displayed in the installer
`shortName` | `` | string | The short version of product name, which will be used for naming certain directories and files. It can only contain alphanumeric characters. This property does not allow variables.
`version` | `` | string | Product version number, which will be used for naming certain directories and files.
`vendor` | `Name of your company` | string | Vendor name that will be used to generate native packages, register the application with the package database or the Windows Add/Remove/Program menu
`installerFilename` | `${product_shortname}-${product_version}-${platform_name}-installer.${platform_exec_suffix}` | string | Name of the installer created by the build process.
`saveRelativePaths` | `0` | 0, 1 | Determines whether or not to convert absolute paths to relative when saving project files. This is important if the same project file is used by multiple developers. The path will be relative to the location of the project file. This property does not allow variables.

Project Properties - Native Packages
property | default value | allowed values | description
`nativePackageName` | `` | string | Name used for the native package. If not present, the shortName project property will be used instead
`release` | `0` | string | Release number that will be used to generate native packages or register the application with the package database
`description` | `One-line description of your software` | string | Description that will be used to generate native packages or register the application with the package database
`summary` | `Place here a detailed description of your software` | string | Detailed description to be used to generate native packages or register the application with the package database
`registerWithPackageDatabase` | `0` | 0, 1 | Whether or not to register the application with the RPM package database on Linux
`rpmSpecFileTemplate` | `` | string | Create RPM using an external spec file
`debianCustomPackageDirectory` | `` | string | Path to a directory containing customized control and helper script for creating the DEB package

Project Properties - OS X Signing
property | default value | allowed values | description
`osxSigningPkcs12File` | `` | string | PKCS#12 File used to look for the signing keys on OS X
`osxSigningPkcs12Password` | `` | string | Password used for unlocking the OS X PKCS#12 File
`osxSigningTimestampServer` | `http://timestamp.apple.com/ts01` | string | Server used to timstamp OS X signatures
`osxSigningIdentity` | `` | string | Signing Identity
`osxSigningKeychainFile` | `` | string | Keychain used to look for the signing identity. If not provided, the standard keychain search path will be used

Project Properties - Readme & License
property | default value | allowed values | description
`readmeFile` | `` | string | Path to the README file that can be shown to the user after installation is completed
`readmeFileEncoding` | `iso8859-1` | iso8859-1, iso8859-2, utf-8, cp1251, cp1252, ascii, macRoman, unicode | Encoding of the README file
`licenseFile` | `` | string | Path to the license file that the user must accept in order to install the software
`htmlLicenseFile` | `` | string | Path to the HTML license file that the user must accept in order to install the software (only allowed in qt mode)
`licenseFileEncoding` | `iso8859-1` | iso8859-1, iso8859-2, utf-8, cp1251, cp1252, ascii, macRoman, unicode | Encoding of the license file
`wrapLicenseFileText` | `1` | 0, 1 | Wrap license file text displayed to the user

Project Properties - Rollback
property | default value | allowed values | description
`enableRollback` | `1` | 0, 1 | Enable temporary backup of existing files that are overwriten by the current installation. They will be restored if the installation fails
`rollbackBackupDirectory` | `` | string | Path to a directory where existing files will be stored if enableRollback property is enabled
`overwritePolicy` | `always` | always, never, onlyIfNewer | Whether or not to overwrite an existing destination file

Project Properties - Slideshow
property | default value | allowed values | description
`slideShowTiming` | `5` | string | Seconds for each slide during the installation
`slideShowLoop` | `1` | 0, 1 | Show slides continuously during the file copying step
`showFileUnpackingProgress` | `1` | 0, 1 | Whether or not to show detailed information about the file unpacking progress during GUI installation

Project Properties - Splash Screen
property | default value | allowed values | description
`disableSplashScreen` | `0` | 0, 1 | Disable the initial splash screen.
`splashScreenDelay` | `0` | positive integer or zero | Extra display time of the splash screen

Project Properties - Uninstaller
property | default value | allowed values | description
`uninstallerName` | `uninstall` | string | Name of uninstaller, without platform prefix (such as .exe)
`uninstallerDirectory` | `${installdir}` | string | Directory where the uninstaller will be created
`createUninstaller` | `1` | 0, 1 | Create uninstaller
`askForConfirmationOnUninstall` | `1` | 0, 1 | Ask for confirmation before starting uninstallation
`deleteLockedFilesOnReboot` | `1` | 0, 1 | During uninstallation certain files may not be removed because they are in use. This property controls whether or not they should be removed the next time Windows reboots

Project Properties - Unix
property | default value | allowed values | description
`defaultUnixOwner` | `` | string | Default Unix owner for files and directories
`defaultUnixGroup` | `` | string | Default Unix group for files and directories
`defaultUnixDirectoryPermissions` | `755` | string | Default Unix directory permissions in octal form
`defaultUnixFilePermissions` | `644` | string | Default Unix file permissions in octal form

Project Properties - Windows ARP Menu
property | default value | allowed values | description
`windowsARPRegistryPrefix` | `${project.fullName} ${project.version}` | string | Key name in which the application Add/Remove entry information will be stored
`createWindowsARPEntry` | `1` | 0, 1 | Whether or not entries in ARP on Windows should be created
`productDisplayName` | `${product_fullname}` | string | Application or Company name that will be shown in Add/Remove Programs on Windows
`productDisplayIcon` | `` | string | Application Icon (.ico format) that will be shown in Add/Remove Programs on Windows
`productUrlInfoAbout` | `` | string | Application or Company URL that will be shown in Add/Remove Programs on Windows
`productComments` | `` | string | Comments for the application that will be shown in Add/Remove Programs on Windows
`productContact` | `` | string | Contact info for the application that will be shown in Add/Remove Programs on Windows
`productUrlHelpLink` | `` | string | Application help or support URL that will be shown in Add/Remove Programs on Windows

Project Properties - Windows Registry
property | default value | allowed values | description
`installationScope` | `auto` | auto, user, allusers | Whether or not to install Start Menu and Desktop links for All Users or for the current user. If set to auto, it will be installed for All Users if the current user is an administrator or for the current user otherwise.
`startMenuGroupName` | `${product_fullname}` | string | Group Name that will appear in the Start Menu Programs folder. If empty, the folder will not be created.
`windowsSoftwareRegistryPrefix` | `${project.vendor}\${product_fullname}` | string | Key under HKEY_LOCAL_MACHINE\Software in which application values will be stored

Project Properties - Windows Resources
property | default value | allowed values | description
`windowsResourceProductName` | `${product_fullname}` | string | Product Name for resources embedded in Windows executable
`windowsResourceProductVersion` | `${product_version}` | string | Product Version for resources embedded in Windows executable
`windowsResourceOriginalFilename` | `setup.exe` | string | Original Filename for resources embedded in Windows executable
`windowsResourceFileDescription` | `` | string | File Description for resources embedded in Windows executable
`windowsResourceFileVersion` | `1.0.0.0` | string | File version for resources embedded in Windows executable
`windowsResourceCompanyName` | `${project.vendor}` | string | Company Name for resources embedded in Windows executable
`windowsResourceInternalName` | `` | string | Internal Name for resources embedded in Windows executable
`windowsResourceLegalCopyright` | `Copyright ${project.vendor}` | string | Legal Copyright for resources embedded in Windows executable
`windowsResourceComments` | `` | string | Comments for resources embedded in Windows executable
`windowsResourceLegalTrademarks` | `` | string | Legal Trademarks for resources embedded in Windows executable

Project Properties - Windows Signing
property | default value | allowed values | description
`windowsSigningTimestampServer` | `` | string | Server used to timstamp Windows signatures
`windowsSigningPkcs12File` | `` | string | PKCS#12 File used to look for the signing keys on Windows
`windowsSigningPkcs12Password` | `` | string | Password used for unlocking the Windows PKCS#12 File

Project Lists
list name | description | allowed childs
`functionDefinitionList` | Define extra actions | `<actionDefinition>`
`componentList` | Depending on the complexity of your software, you may need to split your installation files into several components. The ability to enable and disable components allows your installer to provide as many setup combinations as you need. | `<component>`, `<componentGroup>`, `<include>`
`preBuildActionList` | Actions executed before generating the installer file | `<action>`
`postBuildActionList` | Actions executed after the installer has been built | `<action>`
`preInitializationActionList` | Actions executed directly after loading the project information | `<action>`
`initializationActionList` | Actions executed when the installer has started | `<action>`
`preInstallationActionList` | Actions executed before the first page of the installer is displayed | `<action>`
`readyToInstallActionList` | Actions executed right before the file copying step starts | `<action>`
`postInstallationActionList` | Actions executed after the installation process has taken place, but before the uninstaller is created and the final page is displayed | `<action>`
`postUninstallerCreationActionList` | Actions executed after the uninstaller has been created and before the installation complete page is displayed. | `<action>`
`preUninstallationActionList` | Actions executed before the uninstallation process takes place | `<action>`
`postUninstallationActionList` | Actions executed after the uninstallation process has finished | `<action>`
`customLanguageFileList` | Language files for customizing the installer translation | `<language>`
`finalPageActionList` | Actions executed after the installation has completed and the final page has been displayed | `<action>`
`installationAbortedActionList` | Actions executed if the installation is aborted | `<action>`
`licenseFileList` | License files to be accepted by the user during the installation | `<licenseFile>`
`parameterList` | Pages that are displayed to the user through the GUI and text interfaces | `<parameter>`
`platformOptionsList` | Platform-specific project options | `<platformOptions>`
`preShowHelpActionList` | Actions executed before help text for the installer is displayed. Useful to customize the text for specific operating environments. | `<action>`
`readmeFileList` | Text files to be displayed after the installation | `<readmeFile>`
`slideShowImageList` | Images to be displayed during the installation | `<slideShowImage>`

C. Parameters |  | E. Component and Folder Properties and Lists