# Execute PSAppDeployToolkit Package

> Execute a PSAppDeployToolKit package. The Invoke-AppDeployToolkit.exe file must be placed in the root of the folder.

Source: https://docs.capaone.com/capaone/application-manager/powerbricks/bricks/execute-psappdeploytoolkit-package/  
Product: CapaOne — a separate CapaSystems product; do not apply this page to any other.

Execute a PSAppDeployToolKit package. The Invoke-AppDeployToolkit.exe file must be placed in the root of the folder. Remember to include the [Download Content] PowerBrick.

## Parameters

#### Deployment Type
*Optional* — Default: `Install`

Specify the installation mode (Install, Uninstall, or Repair). Allowed values: `Install`, `Uninstall`, `Repair`.

#### Use PowerShell 7
*Optional* — Default: `True`

Will use PowerShell 7 instead of Windows PowerShell 5.1 to run the script. Only works if PSAppDeployToolkit is version 4.1 or higher.

#### Deploy Mode
*Optional* — Default: `Silent`

Specify the installation will be run in Interactive, Silent, NonInteractive or Auto mode. Auto requires PSAppDeployToolkit version 4.1 or higher. Allowed values: `Auto`, `Interactive`, `NonInteractive`, `Silent`.

#### Suppress Reboot Passthru
*Optional* — Default: `True`

Specify whether to suppress the 3010 exit code (reboot required) from being passed back to the parent process.

#### Terminal Server Mode
*Optional* — Default: `False`

Changes to user install mode and back to user execute mode for installing/uninstalling applications on Remote Desktop Session Host/Citrix servers. Only works with PSAppDeployToolkit 4.1 or older - version 4.2 removed the setting, and it is ignored there.

#### Disable Logging
*Optional* — Default: `False`

Disables the toolkit's own logging to file. The CapaOne log is written either way. Only works with PSAppDeployToolkit 4.1 or older - version 4.2 removed the setting, and it is ignored there.

#### Architecture
*Optional* — Default: `x64`

Specify the PowerShell architecture to use for the script execution. Allowed values: `x64`, `x86`.

#### Return Code Handles
*Optional*

Specify how each return code from the process is handled. Success continues the job, Failure stops the job as failed with that return code, and Retry Execution Later stops the job and runs it again later. Any return code not in the list stops the job as failed. PSADT exit codes: https://psappdeploytoolkit.com/docs/reference/exit-codes Allowed values: `Success`, `Failure`, `Retry Execution Later`.

## Details

- **Category:** Installer
- **Brick ID:** `PSAppDeployToolkit`

## Raw JSON definition

```json
{
  "category": "installer",
  "description": "Execute a PSAppDeployToolKit package. The Invoke-AppDeployToolkit.exe file must be placed in the root of the folder. Remember to include the [Download Content] PowerBrick.",
  "developerVendor": "CapaSystems A/S",
  "displayName": null,
  "id": "PSAppDeployToolkit",
  "name": "Execute PSAppDeployToolkit Package",
  "parameters": [
    {
      "allowManualInput": false,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "Install",
        "name": "Install"
      },
      "description": "Specify the installation mode (Install, Uninstall, or Repair).",
      "id": "DeploymentType",
      "name": "Deployment Type",
      "regExValidation": null,
      "required": false,
      "type": "ComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "Install",
          "name": "Install"
        },
        {
          "id": "Uninstall",
          "name": "Uninstall"
        },
        {
          "id": "Repair",
          "name": "Repair"
        }
      ]
    },
    {
      "allowManualInput": false,
      "defaultValue": "True",
      "defaultValueObject": null,
      "description": "Will use PowerShell 7 instead of Windows PowerShell 5.1 to run the script. Only works if PSAppDeployToolkit is version 4.1 or higher.",
      "id": "UsePowerShellCore",
      "name": "Use PowerShell 7",
      "regExValidation": null,
      "required": false,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "Silent",
        "name": "Silent"
      },
      "description": "Specify the installation will be run in Interactive, Silent, NonInteractive or Auto mode. Auto requires PSAppDeployToolkit version 4.1 or higher.",
      "id": "DeployMode",
      "name": "Deploy Mode",
      "regExValidation": null,
      "required": false,
      "type": "ComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "Auto",
          "name": "Auto"
        },
        {
          "id": "Interactive",
          "name": "Interactive"
        },
        {
          "id": "NonInteractive",
          "name": "NonInteractive"
        },
        {
          "id": "Silent",
          "name": "Silent"
        }
      ]
    },
    {
      "allowManualInput": false,
      "defaultValue": "True",
      "defaultValueObject": null,
      "description": "Specify whether to suppress the 3010 exit code (reboot required) from being passed back to the parent process.",
      "id": "SuppressRebootPassThru",
      "name": "Suppress Reboot Passthru",
      "regExValidation": null,
      "required": false,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "False",
      "defaultValueObject": null,
      "description": "Changes to user install mode and back to user execute mode for installing/uninstalling applications on Remote Desktop Session Host/Citrix servers. Only works with PSAppDeployToolkit 4.1 or older - version 4.2 removed the setting, and it is ignored there.",
      "id": "TerminalServerMode",
      "name": "Terminal Server Mode",
      "regExValidation": null,
      "required": false,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "False",
      "defaultValueObject": null,
      "description": "Disables the toolkit's own logging to file. The CapaOne log is written either way. Only works with PSAppDeployToolkit 4.1 or older - version 4.2 removed the setting, and it is ignored there.",
      "id": "DisableLogging",
      "name": "Disable Logging",
      "regExValidation": null,
      "required": false,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "x64",
        "name": "x64"
      },
      "description": "Specify the PowerShell architecture to use for the script execution.",
      "id": "Architecture",
      "name": "Architecture",
      "regExValidation": null,
      "required": false,
      "type": "ComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "x64",
          "name": "x64"
        },
        {
          "id": "x86",
          "name": "x86"
        }
      ]
    },
    {
      "allowManualInput": false,
      "defaultValue": [
        {
          "code": 0,
          "option": {
            "name": "Success",
            "id": "Success"
          }
        },
        {
          "code": 3010,
          "option": {
            "name": "Success",
            "id": "success"
          }
        },
        {
          "code": 60012,
          "option": {
            "name": "Retry Execution Later",
            "id": "retrylater"
          }
        }
      ],
      "defaultValueObject": null,
      "description": "Specify how each return code from the process is handled. Success continues the job, Failure stops the job as failed with that return code, and Retry Execution Later stops the job and runs it again later. Any return code not in the list stops the job as failed. PSADT exit codes: https://psappdeploytoolkit.com/docs/reference/exit-codes",
      "id": "Codehandle",
      "name": "Return Code Handles",
      "regExValidation": "",
      "required": false,
      "type": "CodeHandles",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "success",
          "name": "Success"
        },
        {
          "id": "failure",
          "name": "Failure"
        },
        {
          "id": "retrylater",
          "name": "Retry Execution Later"
        }
      ]
    }
  ],
  "powershell": {
    "base64Encoded": true,
    "function": "ZnVuY3Rpb2..."
  },
  "type": "powerbrick",
  "version": "2026.10.8.2"
}
```
