Configuration Settings

The appearance and behavior of the Packaging PowerBench can be configured via the configuration file PackagingPowerBench.exe.config, which is located in the installation directory. The following settings are available in the current version:

Note: Make careful changes to the configuration file and make sure that you do not create a syntactically invalid XML file. Be sure to create a backup copy of the current version BEFORE you make any changes. If necessary, you can restore this copy if the changes made do not lead to the desired result.


Setting

Default value

Possible values

Description

ScriptEditorRowMode

Full

Normal / Full / Flat

Defines the display of the lines in standard mode. Normal: Only code selected, expander indented; Full: Whole line selected, expander indented; Flat: Whole line selected, expander flat

EnableScriptEditorMouseOver

True

True / False

In standard mode the lines under the mouse pointer are highlighted.

NiScriptCollapseListParameters

False

True / False

In the eScript view, list parameters (e.g. the text for AddIni) are only displayed as " ... ".

This setting is only available for backward compatibility reasons and should not be used.

ShowNiCommands

True

True / False

Controls whether the command names known from Ivanti DSM are also displayed in the command list.

ShowCustomDialogs

False

True / False

Controls whether the root node "Custom command dialogs" is displayed with the list of individually created dialogs. This system setting should not be changed.

Language

<not set>

de / en

Defines the display language of the PPB. If no value is specified, the system language is used. If the system language is not supported, the interface is displayed in English.

ShowTestCommands

False

True / False

The commands "All Commands" (corresponds to Administration > Add Module > All Commands > OK), "Load Commands" and "Save Commands" are displayed in the Ribbon and BackstageView menu.

FocusScriptOnInsert

True

True / False

Controls whether the focus is set on the script window after inserting a context menu command.

CommandSelectorBackground

<not set> (means #FFF6F6F6)

Colour name or ARGB value

Background color of the command selection. 

Examples: "White", "#FFFFFFFF".

TemplatesDirectory

Templates

Valid local or UNC path

Valid path to the template directories

DefaultPackageScriptName

Script.ps1

Default name of the script

Valid script file names.

PackageConverterPath

<not set>

Valid local or UNC path

Path to the DSM Package Converter, if different from the standard.

PackageConverterInclude

.\Common Runtime Files

List of absolute or relative directories

Additional directories to be copied in the package directory when converting DSM packages.

ShowModuleCommands

True

True / False

Controls whether the "Modules" root node is displayed in the command list.

ShowTokenCommands

False

True / False

Controls whether general commands such as loops, conditions etc. are displayed in a separate root node in the command list.

RequireExecutionPolicyBypass

False

True / False

Controls whether to attempt to set the execution policy (for the process) to "Bypass".

ParameterInputTextMode

SimplePowerShell

PowerShell / NiVariable / SimplePowerShell / SimpleDollarOnly

Defines how variables within the PPB are displayed. With the NiVariable setting, you can switch to the familiar DSM display of variable names enclosed in percentage signs.

NamesPopupPlacement

Bottom

Bottom / Top / Left / Right, …

Preferred position for displaying the selection list of variables. The value set corresponds to the values of the enumeration type "System.Windows.Controls.Primitives.PlacementMode" (see https://docs.microsoft.com/de-de/dotnet/api/system.windows.controls.primitives.placementmode)
Default is "Bottom" = "below, left justified for text selection".

CustomVariableSetters

Set-PdVar, Start-Program:ExitCodeVariable, Start-ProgramAs:ExitCodeVariable, Read-RegistryValue:ValueVariable, Read-IniFileValue:ValueVariable, Read-StringElement:ResultVariable, Read-LeftString:ResultVariable, Read-MidString:ResultVariable, Read-ReplacePattern:ResultVariable, Read-ReplaceString:ResultVariable, Read-RightString:ResultVariable, Read-FileVersion:ResultVariable, Read-WmiObject:ResultVariablePrefix, Read-WmiObjectCount:ResultVariable, Read-IndexedWmiObject:ResultVariablePrefix, Search-RegistryKey:ResultVariable, Read-XmlNode:IndexVariable, Read-XmlNode:ResultVariable, Install-MsiProduct:ResultVariable, Uninstall-MsiProduct:ResultVariable, Install-MsiPatch:ResultVariable, Repair-MsiProduct:ResultVariable, Install-MsiFeature:ResultVariable

Valid PowerShell commands of the Package Deployment Module

Determines which commands create a variable as a result, which is then displayed in the Auto Variable Completion drop-down list.

ColorizedTokenCommands

False

True / False

Controls whether general commands such as loops, conditions, etc. are highlighted in the command list by a different font and color.

HideKeywordCommandDisplayNames

False

True / False

Controls whether for general commands like loops, conditions etc. the descriptive display name is shown in the command tree or only the actual PowerShell command.

UpperCaseRibbonTabCaptions

False

True / False

Controls whether the ribbon tabs (as usual until Office 2013) are labeled in capital letters.

UseDefaultModifiedFileImage

True

True / False

Show default icon (diskette with pen) for modified files.

UseModifiedFileOverlayImage

False

True / False

Use overlay symbol (pencil right below) for modified files. Only valid if "UseDefaultModifiedFileImage" is set to "False".

ShowFileAlreadyOpenMessage

False

True / False

Specifies whether the message "The file ... is already open" is displayed when a file already in the open file is selected.

ShowScriptTasks

False

True / False

Controls whether commands for viewing and editing individual script files are displayed in the ribbon menu.

ShowFileTasks

False

True / False

Controls whether commands for viewing and editing (individual) other files are displayed in the ribbon menu.

AllowEmptyPackageTemplate

False

True / False

If no templates can be found in the template path, new packages can be created without a template if this setting is set to "True".

NewStatementLocation

Before

Before / After

Specifies whether a newly inserted command is inserted before or after the currently selected command in the script.

DefaultPackageLocation

<Not set>

Valid local or UNC path

This setting allows you to specify the default directory under which new packages are to be created. If you do not enter anything here, the default value is the subdirectory "PPB Packages" of the user's document directory.

ShowTemplateBrowseButton

False

True / False

Controls whether a "Browse..." button is displayed on the New Package dialog to be able to select templates outside the template path.

StickyBlockModes

Default

(corresponds to "After")

None = 0

Upon = 1

Before = 2

After = 4

AlsoCollapsed = 8

ExcludeBlocks = 16

IfIncludesElse = 32

UponToFirst = 64

AlsoPipelines = 128

AfterToBeforeLast = 256

Assignment or indentation of new or drag & drop inserted commands / lines to adjacent command/code blocks in standard mode. So the "stickiness" or the "attractiveness" of neighboring blocks.


Default: "Default" = "4" = "After" = (Only) Assign or indent to the last position within the block if the target position is below an expanded block.


None = No automatic indentation

Upon = If on the block statement

Before = If before the block statement

After = If after the block statement

AlsoCollapsed = Even with closed blocks

ExcludeBlocks = No automatic indentation for block commands (on block commands)

IfIncludesElse = "ELSE" can be automatically indented for "IF" blocks

UponToFirst = If on the block statement, then insert as first element

AlsoPipelines = Automatic indent also for pipelines

AfterToBeforeLast = If after the block statement, then insert as penultimate element

SimpleLineDropMarker

True

True / False

Controls whether the line drop marker, which indicates where a command is inserted in the script, is drawn as a simple horizontal line ("True" setting), or as an arrow with indentations and the ability to insert before or after the current selection.

ShowCommandSelectorForStartPanel

False

True / False

Controls whether the command list is also visible in the home screen.

LiveSearchDelay

600

Integer

Number in milliseconds before the search for matching commands is started after the last character has been typed.

FlatCommandModules

True

True / False

Controls whether nodes that represent modules in the command list are placed at the top level ("True" setting) or below a "Module" root node.

HelpFilePath

.\Docs\%Culture%\Packaging PowerBench.chm

Path to the help files

If the help files are stored in a location other than the default path, you can specify the path here.

AdvancedSelectFolderDialog

True

True / False

Controls whether the selection of a folder (e.g. for "New Package", "Open Package", "Destination Path" etc.) should be done with the classic "Select Folder" dialog or with the modern dialog.

HideParameterNames

Context

Comma-separated list of parameter names

Parameters listed in this setting are hidden in standard mode.

DefaultPackageLocationAlwaysFirstChoice

True

True / False

Controls whether the path of the last opened package is offered as first choice in the New Package dialog (setting False) or the default path configured in the "DefaultPackageLocation" setting.

ConfirmDeleteStatement

True

True / False

Controls whether the deletion of commands must be confirmed.

InstallLocalCommand

${PackageDirectory}\Deploy-Application.exe

Valid command for package execution

Command line that is executed when the local installation of a package is initiated.

InstallLocalArguments

-InstallMode ${InstallMode} -LogFileName '${LogFileName}' -LogDirectory '${LogDirectory}'

Arguments for local installation

Arguments passed to the command line for immediate installation of a package (setting "InstallLocalCommand").

InstallLocalAsAdministrator

False

True / False

Controls whether the script is always executed as local administrator during the local installation or whether it must be activated separately via the corresponding button.

InstallLocalLogFileNameFormat

InstallLocal_${PackageName}_${InstallMode}_${Timestamp}.log

Valid name scheme

Specifies how the log files of the local Installations are named.

InstallLocalLogDirectory

%ProgramData%\CANCOM\PackageDeployment\Logs

Valid paths

Defines where the log files of the local installations are stored.

ShowConditionalCommands

False

True / False

Controls how commands that match conditions are displayed in the command list. Corresponds to the menu item "Conditions" in the "Display" section of the "View" tab.

What is interpreted as a condition can be defined via "ConditionalCommandVerbs".

ConditionalCommandVerbs

Test

Verbs of PowerShell-Cmdlets

All cmdlets with these verbs are evaluated as "conditional commands" and are displayed or not displayed according to the "ShowConditionalCommands" setting.

ExpandAllScriptBlocks

True

True / False

Controls whether script blocks such as loops or if conditions are displayed expanded or collapsed by default.

InitialLetterDelay

600

Integer

Duration in milliseconds after which a newly entered letter is no longer added to the previous entries when jumping to matching commands, but is considered the new first letter.

CommandCategoryMode

Default

(entspricht NiCommands | PackageDeployment | Selector | SelectorBelowSearch | AutoHideSelector)

None = 0,

Selector = 1

Modules = 2

Global = 4

SelectorBelowSearch = 8

NiCommands = 16

PackageDeployment = 32

AutoHideSelector = 64

FlatGlobal = 128

Display of the categories in the command list.


None = None

Selector = Selection combobox for categories

Modules = For each module

Global = On top level below "Categories

SelectorBelowSearch = Selection-combobox below "Search:"

NiCommands = For "DSM Commands" node

PackageDeployment = For node/module "PackageDeployment"

AutoHideSelector = Show selection combobox only in list view - hide in tree view

FlatGlobal = Directly at top level (i.e. without "Categories" node - only effective in conjunction with "Global")

CustomPsHost

True

True / False

Controls whether the script is executed in a dedicated PowerShell host or from the default App Deployment Toolkit host.

VariableCompletionAssist

True

True / False

Controls whether the opening curly bracket can be omitted when entering variables (only valid if "ParameterInputTextMode" is configured to "SimplePowershell").

RegistryEditorColumns

135,70,400

Comma separated list of the three column widths in pixels or "Auto" for automatic width

Defines the initial column width of the "Name", "Type" and "Data" columns of the registry editor. Changed values are saved per user and reused next time.

StartPageAsTab

True

True / False

Controls whether the home page is displayed permanently as a tab.

MainWindowBounds

<not set>

Left, Top, Width, Height

Coordinates of the PPB window in pixels.

MainWindowState

<not set>

Normal / Maximized

Determines whether the PPB window is maximized or displayed normally.

DefaultExportDestinationFolder

<not set>

Valid local or UNC path

Default output path for package export

ShowEditorsCommands

False

True / False

Controls whether the "Load Editors" button is displayed in the "Management" ribbon.

ShowStyleCommands

False

True / False

Controls whether the "Load Style Definition" button is displayed in the "Management" ribbon.

ShowTestCommands

False

True / False

Controls whether the test commands "All Commands", "Load Commands" and "Save Commands" are available.

ShowRevisionCreatedMessage

True

True / False

Controls whether a corresponding message is displayed after the revision directory has been created.

ShowRevisionIncrementedMessage

True

True / False

Controls whether a message is displayed after a new package revision is created.

UpgradeSettings

True

True / False

Controls whether the first time a newer PPB version is started, the user is offered to accept the previous settings.

UseWebProxy

False

True / False

Controls whether a web proxy is used for accessing the Internet.

WebProxyHost

<not set>

Name or IP-address

Contains name or IP address of the web proxy, if needed.

WebProxyPort

<not set>

Port-Number

Contains the port on which the web proxy is reached.

WebProxyUseDefaultCredentials

True

True / False

Controls whether default credentials or whether the specified proxy user is used. 

WebProxyAccountUser

<not set>

Username

Username used for proxy authentication.

WebProxyAccountPassword

<not set>

Password

Password of the user used for proxy authentication.

FlagsCheckBoxPosition

Right

Left / Right

Sets the alignment of the check boxes in settings (left or right of the description).

UseCodeSigningCertificatePath

None

None = Don't digitally sign package files

Store = Use certificate from certificate store

File = Use certificate file

Specifies whether package files should be digitally signed and, if so, the source of the certificate to be used.

CodeSigningCertificateStorePath

<not set>

Valid path

Path to the codesigning certificate to be used in the PowerShell Cert: drive.

CodeFilesToSign

Script.ps1

List of package files to sign

Comma-separated list of files to be digitally signed.

CodeSigningTimestampServer

<not set>

Valid URL

URL to the timestamp server for the signature. You can find a list of public timestamp servers at https://gist.github.com/Manouchehri/fd754e402d98430243455713efada710, for example.

CodeSigningHashAlgorithm

SHA256

SHA256 / SHA1 / MD5

Algorithm to be used for calculating the signature hash. The use of SHA256 is recommended unless there are good reasons not to use it.

CodeSigningCertificateFilePath

<not set>

Valid path

Path to the codesigning certificate file to be used (.pfx file(Personal Information Exchange)).

CodeSigningCertificateFilePassword

<not set>

Valid password

Password of the private key of the certificate stored in the certificate file.

RegistryEditorAutoRecurseWow64

False

True / False

Controls whether the setting of the "Use 32-Bit Mode" property is inherited.

RegistryEditorAutoRecurseRepair

False

True / False

Controls whether the setting of the "Restore values during Repair" property is inherited.

RegistryEditorAutoRecurseUninstall

False

True / False

Controls whether the setting of the "Remove values during Uninstall" property is inherited.

SetExecutionPolicy

<not set>

Unrestricted / RemoteSigned / AllSigned / Restricted / Default / Bypass / Undefined

Determines the execution policy that is set via "Set-ExecutionPolicy". If the value is empty, then "Set-ExecutionPolicy" is not called - i.e. no explicit setting of the execution policy.

ReplaceSelectionOnPaste

True

True / False

Controls whether an existing selection is overwritten when inserting content from the clipboard.

LogLevel

Information

Off / Critical / Error / Warning / Information / Verbose / All

Controls the level of detail of the Packaging PowerBench log file.

LogPath

%ProgramData%\CANCOM\Logs

Valid paths

Sets the path of the Packaging PowerBench log file.

LogFileName

&lt;application&gt;_&lt;timestamp&gt;.log

Valid name scheme

Sets the name of the Packaging PowerBench log file.

OverwriteExistingPackage

Disallow

Disallow / Merge / MergeAdjustRevision / Delete

Controls how to handle existing directories when they are selected as the package directory of a new package.

StartupCommandsXmlName

Startup.DsmView.Commands.xml

Valid filename

Controls which StartupCommands file is loaded when the Packaging PowerBench is started.

StartupScriptPanelStylesName

<not set>

Valid filename

Controls which Style file is loaded when the Packaging PowerBench is started.

DisableReloadStartupSettings

False

True / False

If set to True, changed settings will not take effect until restart of the PPB.

ShowLineNumbers

True

True / False

Determines whether the column with the line numbers is displayed in expert mode.

Theme

<not set>

Valid themename

Sets the color scheme of the PPB main window.

EnableProvisionalThemesEditor

False

True / False

Developer option! Determines whether the ribbon tab for the provisional theme editor is displayed.

LineNumbersMinDigits

3

Integer

Reserved column count in the line number view of the expert mode.

SaveCopyAsNewPowerShellPackage

False

True / False

Controls whether, when using "Save as", the current package is saved first before being saved as a new package.

PpbHostUIImplemented

True

True / False

For internal use only

PpbHostUINewCredUI

False

True / False

For internal use only

LockPackages

True

True / False

Controls whether packages that are open in the PPB are locked for editing by other users.

PackageLockExpires

2

Integer

Number in days that the package lock remains valid before it can be broken. Only relevant if "LockPackages" is set to "True".

ShowPackageLockDetails

False

True / False

Controls whether details of the lock can be displayed when attempting to open a locked package.

VariablesFilterMatchMode

NameStartsWith

Contains / StartsWith / NameStartsWith

Defines which variables are suggested in the variables-list when typing variable-names.

ShowPackageSelector


True / False

Controls whether the tree with the package list is displayed.

PackageSelectorLocations

<not set>

One or more local or UNC paths, separated by newline or |.

Overwrites the specified path(s) in the DefaultPackageLocation setting. Should not be used.

PackageSelectorShowPackageIcons

True

True / False

Controls whether the application icons are displayed in the package list tree, if any.

PackageSelectorContainersFirst

False

True / False

Controls whether folders are displayed at the top of the tree by default.

PackageSelectorInitialMRULocations

False

True / False

Controls whether the paths of recently used packages are displayed in the package list tree.

PackageSelectorShowRevisions

False

True / False

Controls whether all revisions or only the last revision is displayed in the tree.

ToolboxInitialWidth

235

True / False

Initial width of the window with the package list in pixels.

ToolboxShowHorizontalScrollbar

False

Integer

Controls whether the package/command list window gets a horizontal scrollbar.

PackageSelectorDisableFileSystemMonitor

False

True / False

Controls whether the file system monitor, which monitors package directories, is disabled.

PackagesMRUShowPackageIcons

True

True / False

Controls whether application icons are displayed in the list of recently used packages, if any.

CrossUpgradeSettings

True

True / False

Controls whether the configuration settings of a previous version should be adopted.

ShowNativeDsmCommands

False

True / False

Controls whether the root node "DSM Commands" is displayed in the command list with the alias names of Package Deployment commands known from DSM.

ShowAdtAltNames

True

True / False

Controls whether the command names known from the App Deployment Toolkit are also displayed in the command list.

ScriptEditorLoadPackageModuleCommands

True

True / False

Controls whether cmdlets from other modules used in the script are displayed in the command list.

NewPackagesInstalledAppsRegistryKey

<not set>

Registry-Key

Configures the registry key under which the execution of packages is logged.

NewPackagesDefaultProperties

<not set>

Property=Value[,Property=Value...]

Declares new package properties, extending the standard package properties.

NewPackagesDefaultPropertiesForUpdate

True

True / False

Specifies whether new package properties are also applied when updating the Runtime Files of a package.

ShowSplashScreen

True

True / False

Controls whether a splash screen is displayed when the application is started.

ShowTogglePackageHasUserPart

False

True / False

Defines whether there is a button in the ribbon to specify whether the package has a user part.

PackageSelectorOpenOnSaveAs

False

True / False

Specifies whether to automatically open a newly created package from the package tree using "Save as".

PackageSelectorDragMoveConfirm

True

True / False

Configures if moving a package in the package tree must be confirmed through a dialog. 

PackageSelectorShowPackageNames

True

True / False

Specifies whether to display the names of the packages (as specified in the respective Package.xml files) or the names of the package directories in the package tree.

ShowCommandSelector

True

True / False

Specifies whether to always display the command list.

ToolboxAlwaysShowTabs

True

True / False

Specifies whether tabs are always displayed in the treeview, even if only one tree (package tree or command list) is displayed.

WindowChromeCustomFrame

True

True / False

This internal window display setting should not be changed.

MaximumScriptBackupCount

2

Integer

Number of backup generations that are created for a script when it is saved.

MinimumScriptBackupAge

<not set>

TimeSpan-value

Entry in the format <days>.<hours>:<minutes>:<seconds> that an existing backup must be at least as old for a new one to be created.

PackageSelectorShowRevisionInDisplayNames

True

True / False

Specifies whether revisions are displayed with the package name in the package tree.

AutoActivateHasUserPart

True

True / False

Determines whether the "HasUserPart" property is automatically activated for a package when a user-related command is inserted.

ExportSettingsEncryption

False

True / False

Specifies whether encrypted configuration values are to be saved in symmetric encryption or not.


Custom settings

The configuration settings shown in the table above are not all displayed in the Packaging PowerBench user interface under "File > Options". Which options are displayed with which display names, in which sections and in which order is defined in the SettingsData.xml file located in the Resources directory below the PPB installation directory. Since this file is a system file that is overwritten when the application is updated to the version included in the distribution, changes to the settings defined in this file are neither recommended nor supported.

To enable individual settings to be displayed in the PPB options that are not normally displayed, follow these steps:

  • Create a new file named Custom.SettingsData.xml in the Resources subdirectory of the PPB installation directory and open it with your favorite XML editor.
  • Insert the following (sample) XML code:

<?xml version="1.0" encoding="utf-8"?>

<SettingsData>

  <PropertyData>

    <Property Name="NewPackagesInstalledAppsRegistryKey" VisibleIf="True"> <!-- overriding default         -->

    </Property>

    <Property Name="NewPackagesDefaultProperties" VisibleIf="True"> <!-- overriding default         -->

    </Property>

  </PropertyData>

</SettingsData>


In the example above, the "Installed Apps Registry key for new packages" and "Properties for new packages" settings, which are normally hidden (the default value of the "VisibleIf" property in the SettingsData.xml is "False"), are made visible and thus accessible for direct configuration via the GUI.


  • You can customize the properties that are displayed, their display name and display status, as well as properties such as section and display order. In particular, the value of the "Name" property of the property must match the name of the setting in PackagingPowerBench.exe.config..
  • Save the XML file and restart the Packaging PowerBench. If you now switch to the settings via "File > Options", you will see the changes compared to the default view.

Note: When you make changes to the values of the configuration settings, they are, as always, stored in a user-specific configuration file and therefore only apply to the user who made the change. If you want to make a change for all users of the computer, make the change directly in the PackagingPowerBench.exe.config configuration file.