New in version 4.0

The following new features and bug fixes have been implemented in version 4.0 of the Packaging PowerBench:

New features
  • With the Package Subscription Service, PPB 4.0 now offers the option of subscribing to packages so that these are automatically imported, converted into PPB packages and updated.
  • With the "Package List" window, the PPB now offers a tree structure that can be used to quickly and easily open existing packages and create new packages. In addition, several package base directories can now be specified, e.g. to differentiate between packaging, test, acceptance and production releases.
  • The following features have been newly implemented for integration in Microsoft Intune:
    • When publishing packages to Intune, they can be registered as new packages, existing packages can be updated or existing packages can be replaced or superseded.
    • If a package has been prepared for distribution or several revisions of a package exist, you can also specify which revision is to be registered.
    • The revision to be exported can also be selected when exporting to Intune format. The file name of the export file can also be freely specified.
    • No export as .intunewin file required before publishing.
    • The current package properties are adopted during publishing. 
    • An existing icon (package.png in the SupportFiles directory of the package) is automatically suggested as a logo and can be viewed as a preview in the dialog. 
    • In addition, the user / system installation behavior can be set.
    • If installation-parameters are defined for a package, their values can be specified during publishing.
    • The return code 60012, which is returned when a package is reset with the Show-ADTInstallationWelcome command, is automatically entered as a retry value on the Intune package during package registration.
  • The following features have been newly implemented for the area of integration in Ivanti DSM:
    • To import DSM packages, it is no longer necessary to export them in the DSM console beforehand - they can be accessed directly in the DSM environment.
    • When publishing packages to DSM, they can be registered as new packages, existing packages can be updated or existing packages can be replaced or superseded.
    • An updated wrapper for executing PPB packages via DSM allows dialogs to be displayed as part of the package execution.
    • The wrapper also takes into account the return code 60012, which is returned when a package is reset with the Show-ADTInstallationWelcome command, and exits the DSM package via ExitProc(Undone).
    • When publishing PPB packages with installation parameters, these are generated as DSM package installation parameters and assigned the default values.
    • When importing DSM packages with installation parameters, these are created as installation parameters for the generated PPB package.
  • The following features have been newly implemented for integration in Microsoft Configuration Manager:
    • The return code 60012, which is returned when a package is reset with the Show-ADTInstallationWelcome command, is automatically entered as a FastRetry value at the application during package publishing.#
  • When completing variables, the default setting is now that it is sufficient to type the first characters of the variable name (without provider prefix) (e.g.: "$prog" for "${Env:ProgramFiles(x86)}" instead of "$env:prog"...). Other options are any substrings or the previous behavior with exact specification of the variable name.
  • Script variables are now also available in the Registry Editor dialogs.
  • More than 5,500 application icons are supplied with the vast majority of packages in the Winget repository. When importing a Winget package, the corresponding icon is automatically copied as package.png into the SupportFiles directory of the package.
  • It is now possible to define individual returncodes for a package, which are then entered during package publishing.
  • Packages are locked during editing to prevent multiple users from opening them at the same time. The lock can be removed using the button of the same name in the ribbon.
  • The new "Save File" and "Close File" buttons can be used to save or close individual package files, such as registry files, in a defined manner. 
  • The window size of the wizards can now be adjusted and will be restored the next time they are used.
  • A new package property DisplayVersion has been introduced, which can contain any strings.
  • The structure of the command list has been revised to create a clearer and more easily accessible command list.
  • The key combination CTRL + F12 opens the log file of the PPB.


DSM script commands that have been newly implemented


Changes / extensions to existing commands
  • The Start-ProgramAs command has the new option "Use the interactively logged on user", whereby the execution of the specified command line takes place in the security context of the user logged on to the system. The option "Use DSM account", which cannot be used in the Packaging PowerBench anyway, has been deleted. The previous option "Use the logged-in user" has been renamed to "Use the executing user" to clarify that this does not refer to the interactively logged-in user, but to the user who is executing the package at the time.


New script commands for which there is no equivalent in DSM


Miscellaneous


The following bugs and problems from version 3.1.1 have been fixed
  • On the start page, the context menu was available for the most recently used packages with options that were not useful.
  • Drag and drop / copy of several commands (multi-select) did not work correctly, the commands were moved instead of copied.
  • A block selection has already been deselected when clicking in the selected block, but it should only be deselected when the mouse is moved to "Mouse up".
  • With Multi-select, a block is now also selected when clicking within the block.
  • If the dialog of an existing Install-Win32Service command was opened, an error occurred (depending on the settings).
  • When reversing Copy-File commands during uninstallation, empty directories were deleted, even if the directory was not originally created by the PPB package.
  • When editing an Install-FileList instruction, the option "Cancel execution ..." was set depending on "Create backup files". The options "Create backup files" itself and "Break file lock ..." were ignored. With "OK" this incorrect status was also saved.
  • With the Invoke-PowerShellCode command, scripts were misinterpreted as individual commands under certain circumstances.
  • In the PSADT (final) messages (balloon tip, toast), the version number was entered twice when the package name + software version were specified.
  • When publishing large Intune packages, a timeout could occur because the access token was not refreshed.
  • The current package properties were not used as the defaults of the publishing wizard during Intune publishing.
  • When importing SCCM applications created as a (native) ADT package, the existing files "deploy-application.exe" and "deploy-application.ps1" were overwritten with the PPB versions, resulting in a non-functional PPB package.
  • Code entered in Expert Mode, which linked several lines together via pipeline, was displayed syntactically incorrect after switching to Standard Mode and back.
  • When double-clicking on manually inserted "Try-Catch" commands or on an "Else" command, these were inserted again and the script was therefore syntactically incorrect.
  • In dark mode, date picker data, the context menu of the ribbon as well as the horizontal and vertical separator and the border of activated options were not recognizable.
  • Variables defined in the script were not available in the Registry Editor.
  • If an existing PPB package was saved as a new package using "Save as", you were asked whether the modified (original) package should be saved.
  • If a directory was specified, the system only checked whether the directory (still) existed when changes were made (e.g. for DSM and Winget import).
  • Wizards (import and export) could not be canceled by pressing the ESC key.
  • The values of DWORD and QWORD values were incorrectly placed in quotation marks.
  • Variables in registry keys were displayed incorrectly.
  • When converting .reg and .nir files, several %n entries were interpreted as variables between % characters and the content of the converted file was incorrect.
  • The "Next" button was active in the import wizard, although no package was selected.
  • If a package is terminated with return code 60012, it is no longer written to the registry as "Executed" (IsInstalled with a value of 1).
  • The variables WINSYSDIR, MS.LOGONSERVER and XNODE were not resolved on non-domain computers (e.g.. AADJ-only).