# Uninstall MSI

> Uninstalls applications installed with MSI by display name, publisher, version or product code.

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

Uninstalls applications installed with MSI by display name, publisher, version or product code. This PowerBrick can be used to uninstall applications installed with MSI by specifying the display name, publisher, version or product code. It is possible to use wildcards in the display name and publisher parameters to match multiple applications. If multiple applications match the specified criteria, all of them will be uninstalled.

## Parameters

#### Application Display Name
*Optional*

The exact display name as presented in add/remove programs. It is possible to use * as wildcard

#### Application Version
*Optional*

Version filter for matching applications. Wildcards are supported (example: 23*). Omitting the version will uninstall all versions matching the other filters.

#### Version Operator
*Optional* — Default: `Like`

Version comparison operator used when Version is set. Allowed values: `Like`, `Equal`, `Less Than`, `Less Than Or Equal`, `Greater Than`, `Greater Than Or Equal`.

#### Application Publisher
*Optional*

Optional publisher filter. Wildcards are supported.

#### MSI Product Code
*Optional*

The MSI Product Code (GUID) to uninstall directly. Can be provided with or without braces. Either DisplayName or ProductCode must be provided.

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

Enable to include extra MSI debug logging in uninstall MSI log files. 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:** `MSI-Remove-By-Name`

## Raw JSON definition

```json
{
  "category": "installer",
  "description": "Uninstalls applications installed with MSI by display name, publisher, version or product code. This PowerBrick can be used to uninstall applications installed with MSI by specifying the display name, publisher, version or product code. It is possible to use wildcards in the display name and publisher parameters to match multiple applications. If multiple applications match the specified criteria, all of them will be uninstalled.",
  "developerVendor": "CapaSystems A/S",
  "displayName": null,
  "id": "MSI-Remove-By-Name",
  "name": "Uninstall MSI",
  "parameters": [
    {
      "allowManualInput": false,
      "defaultValue": "",
      "defaultValueObject": null,
      "description": "The exact display name as presented in add/remove programs. It is possible to use * as wildcard",
      "id": "DisplayName",
      "name": "Application Display Name",
      "regExValidation": "",
      "required": false,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "",
      "defaultValueObject": null,
      "description": "Version filter for matching applications. Wildcards are supported (example: 23*). Omitting the version will uninstall all versions matching the other filters.",
      "id": "Version",
      "name": "Application Version",
      "regExValidation": "",
      "required": false,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "Like",
        "name": "Like"
      },
      "description": "Version comparison operator used when Version is set.",
      "id": "VersionOperator",
      "name": "Version Operator",
      "regExValidation": "",
      "required": false,
      "type": "ComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "Like",
          "name": "Like"
        },
        {
          "id": "Equal",
          "name": "Equal"
        },
        {
          "id": "LessThan",
          "name": "Less Than"
        },
        {
          "id": "LessThanOrEqual",
          "name": "Less Than Or Equal"
        },
        {
          "id": "GreaterThan",
          "name": "Greater Than"
        },
        {
          "id": "GreaterThanOrEqual",
          "name": "Greater Than Or Equal"
        }
      ]
    },
    {
      "allowManualInput": false,
      "defaultValue": "",
      "defaultValueObject": null,
      "description": "Optional publisher filter. Wildcards are supported.",
      "id": "Publisher",
      "name": "Application Publisher",
      "regExValidation": "",
      "required": false,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "",
      "defaultValueObject": null,
      "description": "The MSI Product Code (GUID) to uninstall directly. Can be provided with or without braces. Either DisplayName or ProductCode must be provided.",
      "id": "ProductCode",
      "name": "MSI Product Code",
      "regExValidation": "",
      "required": false,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "False",
      "defaultValueObject": null,
      "description": "Enable to include extra MSI debug logging in uninstall MSI log files. 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": 1605,
          "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"
}
```
