Creating snapshot profiles

Snapshot profiles define which areas of a packaging computer can be captured and thus monitored for changes during package creation by repackaging. The following system areas are considered:

  • Filesystem
  • Registry
  • Environment variables


Snapshot profiles are stored as XML files in the subdirectory "Resources\Snapshot Profiles" of the Packaging PowerBench installation directory. Out of the box there is only the standard profile "Default Snapshot Profile", which is defined in the file Default.profile.xml. To define your own profiles, the easiest way is to copy the existing file, give it an individual, speaking name, and then make the settings.

In the header of the file you first enter whether the file system (entry "CreateFileSnapshot"), the registry ("CreateRegistrySnapshot") and the environment variables ("CreateEnvironmentSnapshot") should be monitored and recorded. For example, if you are only interested in the file system, you can set the other two entries to false. In the "DisplayName" entry, you then specify the profile name as it appears in the Repackaging Wizard drop-down list.

Under the Services node you can specify services that are checked within the wizard and can be stopped if they are running. These can be, for example, indexing services, virus scanners or firewall services that may falsify the recording result.

In the DirectoryInclude section, you specify which directories are monitored for changes. The contents of all folders listed here, including subdirectories, are recorded in the snapshot. When specifying the folders, you can specify both environment variables (enclosed in % characters) and known system folders (see https://docs.microsoft.com/en-us/dotnet/api/system.environment.specialfolder, starting with $).

In the DirectoryExclude section you exclude directories (also including subdirectories). These settings only have an effect if the directory is a subdirectory or a subdirectory structure of an included directory. Environment variables and system folders are also allowed here.

Under FileExclude you specify which files or file types you want to exclude from the recording. You can use the wildcards ? and * to specify all files of a certain type or naming schemes, for example.

In the RegistryInclude area, you specify which areas of the registry are to be monitored for changes. Here, too, the specified keys apply, including all subkeys, unless they are explicitly excluded in the RegistryExclude area.