Migrate PSADT-based Apps

Applies to: Patch My PC Cloud

triangle-exclamation

When applications are inventoried from ConfigMgr, PMPC Cloud analyses the application metadata to understand how the application is installed and how it should be migrated. As part of this process, the installation command line is evaluated and the primary installer file is identified from the application’s content source folder.

Identifying a PSADT-based App

ConfigMgr does not explicitly label an application as PSADT-based. In most cases, the easiest way to confirm that an application is PSADT-based is to select the application from the Migration dashboard and review the Installation Program field.

If the Installation Program contains a Deploy-Application.exe, Deploy-Application.ps1, Invoke-AppDeployToolkit.exe or Invoke-AppDeployToolkit.ps1 the application can be considered PSADT-based.

PSADT-based app identified from the installation program

During the migration migration deployment flow, the Configuration tab indicates when an application has been identified as PSADT-based. Detection is based on the presence of PSADT functions within the script, at which point the PSADT module is automatically enabled. The script content is analysed and logically split into pre-install and post-install scripts.

PSADT-based app shown in the deployment flow

When migrating PSADT-based applications, AI can be used to assist with parsing the PowerShell script and identifying key components, including the primary installer and the MARK: Pre-Install, MARK: Install, and MARK: Post-Install sections. This allows the script to be accurately split around the main installer and mapped to the appropriate pre-install and post-install execution stages.

Without AI assistance, reliably separating PSADT scripts into pre-install and post-install logic can be challenging, particularly when scripts are heavily customised or do not follow common PSADT structures. AI-assisted analysis improves accuracy in identifying the primary installer and its surrounding MARK logic, enabling more applications to be migrated successfully.

AI usage is optional and can be disabled at any time from the Cloud Portal settings. For more information, see Manage Cloud AI Usage.

Migration Behavior of PSADT-based Apps

When the application is migrated, PatchMyPC-ScriptRunner.exe becomes the primary installer and orchestrates execution of the pre-install script, main installer, and post-install script. This model preserves the original installation behaviour while enabling Patch My PC–specific enhancements that would not be possible with a simple “lift and shift” migration.

In the example shown, the Rainbow application has been identified as PSADT-based, and the PSADT script has been automatically split during the migration flow. Logic originally contained within the MARK: Pre-Install section of the PSADT script has been mapped to the Pre-install script.

In the original PSADT script for Rainbow, both the MARK: Pre-Install and MARK: Install sections contain executable actions.

Original PSADT script

The pre-install section runs a prerequisite installer (vstor_redist.exe), while the install section performs the primary application installation (Rainbow_Installer_Machine_Offline.msi). During migration, these sections are analysed and separated so that prerequisite logic is mapped to the Pre-install script, and the primary installer is executed as the main install action, preserving the original execution order.

You can edit any generated Pre-install and Post-install scripts to review whether PMPC Cloud has correctly identified the MARK: Pre-Install, MARK: Install, and MARK: Post-Install execution order.

PSADT script editing in the migration flow
circle-exclamation

Preserved Properties of PSADT-based Apps

The following information indicates the properties that are carried forward from the ConfigMgr application to the migration deployment flow when the application is either matched to a PMPC Catalog App or a PMPC Custom App. See How Migration Type is Determined to understand how Configmgr applications are matched during migration.

PMPC Catalog App Properties Preserved

  • Source Files (the main installer file will be replaced with the current version of the matched application in the Patch My PC catalog)

  • DisplayName

  • Return Codes

  • Vendor

  • Description

  • Information URL

  • Privacy URL

  • PSADT Script

    • "MARK: Pre-Install" mapped to Pre-install Script

    • "MARK: Post-Install" mapped to Post-Install Script

circle-info

Note If more than one action is detected in a MARK install section, additional actions are reassigned to the MARK: Pre-Install or MARK: Post-Install scripts, as only one action can run in the main install stage.

PMPC Custom App Properties Preserved

  • Source Files

  • DisplayName

  • Vendor

  • Description

  • Version

  • Return Codes

  • Information URL

  • Privacy URL

  • PSADT Script "MARK: Pre-Install" mapped to Pre-install Script "MARK: Post-Install" mapped to Post-Install Script

circle-info

Note If more than one action is detected in a MARK install section, additional actions are reassigned to the MARK: Pre-Install or MARK: Post-Install scripts, as only one action can run in the main install stage.

  • Detection Rules

Last updated

Was this helpful?