Customizing the Toolkit

Aside from customizing the “Deploy-Application.ps1” script to deploy your application, no configuration is necessary out of the box.

The following components can be configured as required:

AppDeployToolkitConfig.xml - Configure the default UI messages, MSI parameters, log file location, whether Admin rights should be required, whether log files should be compressed, log style (CMTrace or Legacy), max log size, whether debug messages should be logged, whether log entries should be written to the console, whether toolkit should re-launch as elevated logged-on console user when in SYSTEM context, whether toolkit should fall back to SYSTEM context if failure to launch toolkit as user, and whether toolkit should attempt to launch as a non-console logged on user (e.g. user logged on via terminal services) when in SYSTEM context.

AppDeployToolkitLogo.ico - To brand the balloon notifications and UI window title bars with your own custom/corporate logo, replace the AppDeployToolkitLogo.ico file with your own .ico file (retaining the file name)

AppDeployToolkitBanner.png - To brand the toolkit UI prompts with your own custom/corporate banner, replace the AppDeployToolkitBanner.png file with your own .png file (retaining the file name). The file must be in PNG format and must be 450 x 50 in size.

CompressLogs (option in AppDeployToolkitConfig.xml) - One of the Toolkit Options in the AppDeployToolkitConfig.xml file is CompressLogs. Enabling this option will create a temporary logging folder where you can save all of the log files you want to include in the single ZIP file that will be created from this folder.

To enable the CompressLogs, set the follow option in AppDeployToolkitConfig.xml to True:


When set to True, the following happens:

  • Both toolkit and MSI logs are temporarily placed in $envTemp$installName which gets cleaned up at the end of the install.
  • At the end of the install / uninstall, the logs are compressed into a new zip file which is placed in the LogFolder location in the config file.
  • The Zip file name indicates whether it is an Install / Uninstall and has the timestamp in the filename so previous logs do not get overwritten.
  • If your package creates other log files, you can send them to the temporary logging FOLDER at $envTemp$installName.