# Install MSI

> Installs an application using an MSI installer. You can also define return code handling to manage different outcomes of the installation process.

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

Installs an application using an MSI installer. You can also define return code handling to manage different outcomes of the installation process.

## Parameters

#### MSI Path
*Required* — Default: `$PackageRoot\Setup.msi`

Remember to include the [Download Content] PowerBrick when using $PackageRoot. Ex. $PackageRoot\\Setup.msi

#### MSI Arguments
*Required* — Default: `/qn REBOOT=REALLYSUPPRESS ALLUSERS=2`

The arguments to be used during installation

#### Enable Extended MSI Logging
*Optional* — Default: `False`

Enable to include extra MSI debug logging in the generated MSI log file. It is recommended to enable this only when additional logging is needed for debugging scenarios. Disable to use standard verbose MSI logging.

#### Return Code Handles
*Required*

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. Allowed values: `Success`, `Failure`, `Retry Execution Later`.

## Details

- **Category:** Installer
- **Brick ID:** `Install-MSI`

## Raw JSON definition

```json
{
  "category": "installer",
  "description": "Installs an application using an MSI installer. You can also define return code handling to manage different outcomes of the installation process.",
  "developerVendor": "CapaSystems A/S",
  "displayName": null,
  "id": "Install-MSI",
  "name": "Install MSI",
  "parameters": [
    {
      "allowManualInput": false,
      "defaultValue": "$PackageRoot\\Setup.msi",
      "defaultValueObject": null,
      "description": "Remember to include the [Download Content] PowerBrick when using $PackageRoot. Ex. $PackageRoot\\Setup.msi",
      "id": "msiFilePath",
      "name": "MSI Path",
      "regExValidation": "",
      "required": true,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "/qn REBOOT=REALLYSUPPRESS ALLUSERS=2",
      "defaultValueObject": null,
      "description": "The arguments to be used during installation",
      "id": "msiArgs",
      "name": "MSI Arguments",
      "regExValidation": "",
      "required": true,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "False",
      "defaultValueObject": null,
      "description": "Enable to include extra MSI debug logging in the generated MSI log file. It is recommended to enable this only when additional logging is needed for debugging scenarios. Disable to use standard verbose MSI logging.",
      "id": "IncludeMsiDebugLog",
      "name": "Enable Extended MSI Logging",
      "regExValidation": "",
      "required": false,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": [
        {
          "code": 0,
          "option": {
            "name": "Success",
            "id": "success"
          }
        },
        {
          "code": 1618,
          "option": {
            "name": "Retry Execution Later",
            "id": "retrylater"
          }
        },
        {
          "code": 3010,
          "option": {
            "name": "Success",
            "id": "success"
          }
        }
      ],
      "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.",
      "id": "Codehandle",
      "name": "Return Code Handles",
      "regExValidation": "",
      "required": true,
      "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"
}
```
