Background info about packages

Packages created with the Packaging PowerBench are "self-contained", i.e. they contain everything that is required to run the package later. In addition to any source files for the application to be installed, this includes the script itself as well as the runtime module (including license), the App Deployment Toolkit and any auxiliary files.

When you create a new package, the selected template and the entire directory structure below "Common Runtime Files" are copied into the package directory, creating an independently executable package.

Within the PPB application window, after all data in the package directory has been merged and a complete package has been created, you can access the package directory by clicking the "Open Package Directory" button in the "Start" tab or by using the context menu of the "Script.ps1" tab.

Note: If you work with temporary evaluation licenses, the packages created with this license are also only executable until the license expires.


At first glance, the multiple presence of the ADT and runtime module in each packet may seem like a waste of disk space and network resources. But this approach has several advantages:

  • Packages are "atomic" and do not rely on the presence of an agent, client, or client-side requirement to be installed separately.
  • Such packages are maximally transportable and can be transferred from one environment to another (e.g. from packaging to integration environment and from the latter to production environment) without having to take boundary conditions into account.
  • When the underlying runtime components are updated (that is, either a new version of the ADT or a new PPB version), the existing packages are not affected - they are executed with the previous runtime components without modification, so there is no risk that the new version will "break" a working package.
  • The space required by the runtime components per package is very manageable (approx. 1.8 MB in the current release) and practically negligible in relation to the size of the source files of typical applications.
  • Common software distribution systems use technologies such as deduplication or single instance store, so that the data is effectively stored only once on the target systems anyway.

Since the Packaging PowerBench is based on the App Deployment Toolkit, source files required by the package should be copied to the "Files" subdirectory of the package directory. The use of the "Extern$" subdirectory known from DSM is not recommended, first because it does not conform to the ADT standard, and second because the $ character has a special meaning in PowerShell and its use can easily lead to unintended behavior or problems.

Note: Normally, if you really need $ characters in PowerShell scripts and yout don't want it to mark a variable, they must be escaped with the so-called "backtick" (i.e. the ` character). To make it easier to use $ characters, you can simply double them in the script instead of escaping them. For example, if you want to reference a ".\Extern$" directory, enter this as ".\Extern$$".