# Install Microsoft 365

> Downloads setup.exe automatically if it is not present in $PackageRoot and installs Microsoft 365 Apps using the Office Deployment Tool (ODT).

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

Downloads setup.exe automatically if it is not present in $PackageRoot and installs Microsoft 365 Apps using the Office Deployment Tool (ODT).

## Parameters

#### Product ID
*Required* — Default: `O365ProPlusRetail`

The Office product to install. Common values: O365ProPlusRetail (Microsoft 365 Apps for enterprise), O365BusinessRetail (Microsoft 365 Apps for business), VisioProRetail, ProjectProRetail. Allowed values: `O365ProPlusRetail`, `O365BusinessRetail`, `VisioProRetail`, `VisioStdRetail`, `ProjectProRetail`, `ProjectStdRetail`, `SPDRetail`, `AccessRetail`, `LanguagePack`.

#### Language IDs
*Required* — Default: `MatchOS`

Select one or more language IDs to install. You can also type your own language IDs manually. Special values: MatchOS, MatchInstalled, MatchPreviousMSI. Allowed values: `af-za`, `ar-sa`, `az-latn-az`, `bg-bg`, `bn-bd`, `bs-latn-ba`, `ca-es`, `cs-cz`, `cy-gb`, `da-dk`, `de-de`, `el-gr`, `en-gb`, `en-us`, `es-es`, `es-mx`, `et-ee`, `eu-es`, `fa-ir`, `fi-fi`, `fr-ca`, `fr-fr`, `ga-ie`, `gd-gb`, `gl-es`, `gu-in`, `he-il`, `hi-in`, `hr-hr`, `hu-hu`, `id-id`, `it-it`, `ja-jp`, `ka-ge`, `kk-kz`, `km-kh`, `kn-in`, `ko-kr`, `lt-lt`, `lv-lv`, `MatchInstalled`, `MatchOS`, `MatchPreviousMSI`, `mk-mk`, `ml-in`, `mr-in`, `ms-my`, `nb-no`, `nl-nl`, `pl-pl`, `pt-br`, `pt-pt`, `ro-ro`, `ru-ru`, `sk-sk`, `sl-si`, `sq-al`, `sr-latn-rs`, `sv-se`, `ta-in`, `te-in`, `th-th`, `tr-tr`, `uk-ua`, `ur-pk`, `vi-vn`, `zh-cn`, `zh-tw`.

#### Exclude Applications
*Optional* — Default: `Teams`

Select one or more Office applications to exclude. You can also type values manually. Allowed values: `Access`, `Excel`, `Groove`, `Lync`, `OneDrive`, `OneNote`, `Outlook`, `OutlookForWindows`, `PowerPoint`, `Publisher`, `Teams`, `Word`.

#### Update Channel
*Required* — Default: `MonthlyEnterprise`

Defines which update channel to install. MonthlyEnterprise is recommended for most organisations. Allowed values: `Current`, `MonthlyEnterprise`, `SemiAnnualPreview`, `SemiAnnual`, `CurrentPreview`, `BetaChannel`, `PerpetualVL2024`, `PerpetualVL2021`, `PerpetualVL2019`.

#### Architecture
*Required* — Default: `64`

64-bit is recommended. Only choose 32-bit when required by legacy add-ins. Allowed values: `64`, `32`.

#### Display Level
*Required* — Default: `None`

None: silent installation with no UI. Full: shows the normal Office installation experience. Allowed values: `None`, `Full`.

#### Accept EULA
*Required* — Default: `True`

Enable to automatically accept the Microsoft Software License Terms. Disable if users should review and accept the terms during setup.

#### Remove Previous MSI Office
*Required* — Default: `True`

Enable to remove existing MSI-based Office 2007-2016 products before installation. Disable to keep MSI-based Office products on the device.

#### Force App Shutdown
*Optional* — Default: `False`

Enable to force Office applications that block installation to close automatically. Disable to let users close applications manually.

#### Enable Automatic Updates
*Required* — Default: `True`

Enable to let Office check and apply updates automatically. Disable to turn off automatic update checks.

#### Version
*Optional*

Pin to a specific build, e.g. 16.0.15330.20306. Leave blank to install the latest version available on the channel. Use MatchInstalled to match the already installed version.

#### Source Path
*Optional*

Path to a local or network share containing the Office installation files. Leave blank to download directly from the Microsoft CDN. Remember to include the [Download Content] PowerBrick when using $PackageRoot.

#### Language Fallback
*Optional* — Default: `en-us`

Fallback language used when MatchOS is specified and the OS language is not supported by Office. Example: en-us

#### Allow CDN Fallback
*Optional* — Default: `False`

Enable to allow downloading missing language files from the Microsoft CDN when they are not available in Source Path. Disable to use only Source Path content.

#### Migrate Architecture
*Optional* — Default: `False`

Enable to change an existing Office installation to the selected architecture, for example from 32-bit to 64-bit. Disable to keep the current architecture.

#### Enable Office Management COM
*Optional* — Default: `False`

Enable when updates are managed by Configuration Manager or another tool that requires the Office COM object. Disable when this integration is not needed.

#### Update Path
*Optional*

Path to a local share or HTTP location where Office should look for updates. Leave blank to use the Microsoft CDN.

#### Update Channel Override
*Optional*

Switches an existing installation to this update channel after installation. Leave blank to keep the channel specified in Update Channel.

#### Shared Computer Licensing
*Optional* — Default: `False`

Enable for shared computer scenarios such as Remote Desktop Services or Citrix. Disable for dedicated single-user devices.

#### Tenant Association Key
*Optional*

Associates the device with your organisation in the Microsoft 365 Apps admin center Inventory. Find the key at https://config.office.com/. Leave blank if not used.

#### 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-Microsoft-365`

## Raw JSON definition

```json
{
  "category": "installer",
  "description": "Downloads setup.exe automatically if it is not present in $PackageRoot and installs Microsoft 365 Apps using the Office Deployment Tool (ODT).",
  "developerVendor": "CapaSystems A/S",
  "displayName": null,
  "id": "Install-Microsoft-365",
  "name": "Install Microsoft 365",
  "parameters": [
    {
      "allowManualInput": true,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "O365ProPlusRetail",
        "name": "O365ProPlusRetail"
      },
      "description": "The Office product to install. Common values: O365ProPlusRetail (Microsoft 365 Apps for enterprise), O365BusinessRetail (Microsoft 365 Apps for business), VisioProRetail, ProjectProRetail.",
      "id": "ProductID",
      "name": "Product ID",
      "regExValidation": "",
      "required": true,
      "type": "MultiSelectComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "O365ProPlusRetail",
          "name": "O365ProPlusRetail"
        },
        {
          "id": "O365BusinessRetail",
          "name": "O365BusinessRetail"
        },
        {
          "id": "VisioProRetail",
          "name": "VisioProRetail"
        },
        {
          "id": "VisioStdRetail",
          "name": "VisioStdRetail"
        },
        {
          "id": "ProjectProRetail",
          "name": "ProjectProRetail"
        },
        {
          "id": "ProjectStdRetail",
          "name": "ProjectStdRetail"
        },
        {
          "id": "SPDRetail",
          "name": "SPDRetail"
        },
        {
          "id": "AccessRetail",
          "name": "AccessRetail"
        },
        {
          "id": "LanguagePack",
          "name": "LanguagePack"
        }
      ]
    },
    {
      "allowManualInput": true,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "MatchOS",
        "name": "MatchOS"
      },
      "description": "Select one or more language IDs to install. You can also type your own language IDs manually. Special values: MatchOS, MatchInstalled, MatchPreviousMSI.",
      "id": "LanguageIDs",
      "name": "Language IDs",
      "regExValidation": "",
      "required": true,
      "type": "MultiSelectComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "af-za",
          "name": "af-za"
        },
        {
          "id": "ar-sa",
          "name": "ar-sa"
        },
        {
          "id": "az-latn-az",
          "name": "az-latn-az"
        },
        {
          "id": "bg-bg",
          "name": "bg-bg"
        },
        {
          "id": "bn-bd",
          "name": "bn-bd"
        },
        {
          "id": "bs-latn-ba",
          "name": "bs-latn-ba"
        },
        {
          "id": "ca-es",
          "name": "ca-es"
        },
        {
          "id": "cs-cz",
          "name": "cs-cz"
        },
        {
          "id": "cy-gb",
          "name": "cy-gb"
        },
        {
          "id": "da-dk",
          "name": "da-dk"
        },
        {
          "id": "de-de",
          "name": "de-de"
        },
        {
          "id": "el-gr",
          "name": "el-gr"
        },
        {
          "id": "en-gb",
          "name": "en-gb"
        },
        {
          "id": "en-us",
          "name": "en-us"
        },
        {
          "id": "es-es",
          "name": "es-es"
        },
        {
          "id": "es-mx",
          "name": "es-mx"
        },
        {
          "id": "et-ee",
          "name": "et-ee"
        },
        {
          "id": "eu-es",
          "name": "eu-es"
        },
        {
          "id": "fa-ir",
          "name": "fa-ir"
        },
        {
          "id": "fi-fi",
          "name": "fi-fi"
        },
        {
          "id": "fr-ca",
          "name": "fr-ca"
        },
        {
          "id": "fr-fr",
          "name": "fr-fr"
        },
        {
          "id": "ga-ie",
          "name": "ga-ie"
        },
        {
          "id": "gd-gb",
          "name": "gd-gb"
        },
        {
          "id": "gl-es",
          "name": "gl-es"
        },
        {
          "id": "gu-in",
          "name": "gu-in"
        },
        {
          "id": "he-il",
          "name": "he-il"
        },
        {
          "id": "hi-in",
          "name": "hi-in"
        },
        {
          "id": "hr-hr",
          "name": "hr-hr"
        },
        {
          "id": "hu-hu",
          "name": "hu-hu"
        },
        {
          "id": "id-id",
          "name": "id-id"
        },
        {
          "id": "it-it",
          "name": "it-it"
        },
        {
          "id": "ja-jp",
          "name": "ja-jp"
        },
        {
          "id": "ka-ge",
          "name": "ka-ge"
        },
        {
          "id": "kk-kz",
          "name": "kk-kz"
        },
        {
          "id": "km-kh",
          "name": "km-kh"
        },
        {
          "id": "kn-in",
          "name": "kn-in"
        },
        {
          "id": "ko-kr",
          "name": "ko-kr"
        },
        {
          "id": "lt-lt",
          "name": "lt-lt"
        },
        {
          "id": "lv-lv",
          "name": "lv-lv"
        },
        {
          "id": "MatchInstalled",
          "name": "MatchInstalled"
        },
        {
          "id": "MatchOS",
          "name": "MatchOS"
        },
        {
          "id": "MatchPreviousMSI",
          "name": "MatchPreviousMSI"
        },
        {
          "id": "mk-mk",
          "name": "mk-mk"
        },
        {
          "id": "ml-in",
          "name": "ml-in"
        },
        {
          "id": "mr-in",
          "name": "mr-in"
        },
        {
          "id": "ms-my",
          "name": "ms-my"
        },
        {
          "id": "nb-no",
          "name": "nb-no"
        },
        {
          "id": "nl-nl",
          "name": "nl-nl"
        },
        {
          "id": "pl-pl",
          "name": "pl-pl"
        },
        {
          "id": "pt-br",
          "name": "pt-br"
        },
        {
          "id": "pt-pt",
          "name": "pt-pt"
        },
        {
          "id": "ro-ro",
          "name": "ro-ro"
        },
        {
          "id": "ru-ru",
          "name": "ru-ru"
        },
        {
          "id": "sk-sk",
          "name": "sk-sk"
        },
        {
          "id": "sl-si",
          "name": "sl-si"
        },
        {
          "id": "sq-al",
          "name": "sq-al"
        },
        {
          "id": "sr-latn-rs",
          "name": "sr-latn-rs"
        },
        {
          "id": "sv-se",
          "name": "sv-se"
        },
        {
          "id": "ta-in",
          "name": "ta-in"
        },
        {
          "id": "te-in",
          "name": "te-in"
        },
        {
          "id": "th-th",
          "name": "th-th"
        },
        {
          "id": "tr-tr",
          "name": "tr-tr"
        },
        {
          "id": "uk-ua",
          "name": "uk-ua"
        },
        {
          "id": "ur-pk",
          "name": "ur-pk"
        },
        {
          "id": "vi-vn",
          "name": "vi-vn"
        },
        {
          "id": "zh-cn",
          "name": "zh-cn"
        },
        {
          "id": "zh-tw",
          "name": "zh-tw"
        }
      ]
    },
    {
      "allowManualInput": true,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "Teams",
        "name": "Teams"
      },
      "description": "Select one or more Office applications to exclude. You can also type values manually.",
      "id": "ExcludeApps",
      "name": "Exclude Applications",
      "regExValidation": "",
      "required": false,
      "type": "MultiSelectComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "Access",
          "name": "Access"
        },
        {
          "id": "Excel",
          "name": "Excel"
        },
        {
          "id": "Groove",
          "name": "Groove"
        },
        {
          "id": "Lync",
          "name": "Lync"
        },
        {
          "id": "OneDrive",
          "name": "OneDrive"
        },
        {
          "id": "OneNote",
          "name": "OneNote"
        },
        {
          "id": "Outlook",
          "name": "Outlook"
        },
        {
          "id": "OutlookForWindows",
          "name": "OutlookForWindows"
        },
        {
          "id": "PowerPoint",
          "name": "PowerPoint"
        },
        {
          "id": "Publisher",
          "name": "Publisher"
        },
        {
          "id": "Teams",
          "name": "Teams"
        },
        {
          "id": "Word",
          "name": "Word"
        }
      ]
    },
    {
      "allowManualInput": false,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "MonthlyEnterprise",
        "name": "MonthlyEnterprise"
      },
      "description": "Defines which update channel to install. MonthlyEnterprise is recommended for most organisations.",
      "id": "Channel",
      "name": "Update Channel",
      "regExValidation": "",
      "required": true,
      "type": "ComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "Current",
          "name": "Current"
        },
        {
          "id": "MonthlyEnterprise",
          "name": "MonthlyEnterprise"
        },
        {
          "id": "SemiAnnualPreview",
          "name": "SemiAnnualPreview"
        },
        {
          "id": "SemiAnnual",
          "name": "SemiAnnual"
        },
        {
          "id": "CurrentPreview",
          "name": "CurrentPreview"
        },
        {
          "id": "BetaChannel",
          "name": "BetaChannel"
        },
        {
          "id": "PerpetualVL2024",
          "name": "PerpetualVL2024"
        },
        {
          "id": "PerpetualVL2021",
          "name": "PerpetualVL2021"
        },
        {
          "id": "PerpetualVL2019",
          "name": "PerpetualVL2019"
        }
      ]
    },
    {
      "allowManualInput": false,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "64",
        "name": "64"
      },
      "description": "64-bit is recommended. Only choose 32-bit when required by legacy add-ins.",
      "id": "OfficeClientEdition",
      "name": "Architecture",
      "regExValidation": "",
      "required": true,
      "type": "ComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "64",
          "name": "64"
        },
        {
          "id": "32",
          "name": "32"
        }
      ]
    },
    {
      "allowManualInput": false,
      "defaultValue": null,
      "defaultValueObject": {
        "id": "None",
        "name": "None"
      },
      "description": "None: silent installation with no UI. Full: shows the normal Office installation experience.",
      "id": "DisplayLevel",
      "name": "Display Level",
      "regExValidation": "",
      "required": true,
      "type": "ComboBox",
      "value": null,
      "values": [],
      "valuesObject": [
        {
          "id": "None",
          "name": "None"
        },
        {
          "id": "Full",
          "name": "Full"
        }
      ]
    },
    {
      "allowManualInput": false,
      "defaultValue": "True",
      "defaultValueObject": null,
      "description": "Enable to automatically accept the Microsoft Software License Terms. Disable if users should review and accept the terms during setup.",
      "id": "AcceptEULA",
      "name": "Accept EULA",
      "regExValidation": "",
      "required": true,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "True",
      "defaultValueObject": null,
      "description": "Enable to remove existing MSI-based Office 2007-2016 products before installation. Disable to keep MSI-based Office products on the device.",
      "id": "RemoveMSI",
      "name": "Remove Previous MSI Office",
      "regExValidation": "",
      "required": true,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "False",
      "defaultValueObject": null,
      "description": "Enable to force Office applications that block installation to close automatically. Disable to let users close applications manually.",
      "id": "ForceAppShutdown",
      "name": "Force App Shutdown",
      "regExValidation": "",
      "required": false,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "True",
      "defaultValueObject": null,
      "description": "Enable to let Office check and apply updates automatically. Disable to turn off automatic update checks.",
      "id": "UpdatesEnabled",
      "name": "Enable Automatic Updates",
      "regExValidation": "",
      "required": true,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "",
      "defaultValueObject": null,
      "description": "Pin to a specific build, e.g. 16.0.15330.20306. Leave blank to install the latest version available on the channel. Use MatchInstalled to match the already installed version.",
      "id": "Version",
      "name": "Version",
      "regExValidation": "",
      "required": false,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "",
      "defaultValueObject": null,
      "description": "Path to a local or network share containing the Office installation files. Leave blank to download directly from the Microsoft CDN. Remember to include the [Download Content] PowerBrick when using $PackageRoot.",
      "id": "SourcePath",
      "name": "Source Path",
      "regExValidation": "",
      "required": false,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "en-us",
      "defaultValueObject": null,
      "description": "Fallback language used when MatchOS is specified and the OS language is not supported by Office. Example: en-us",
      "id": "LanguageFallback",
      "name": "Language Fallback",
      "regExValidation": "",
      "required": false,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "False",
      "defaultValueObject": null,
      "description": "Enable to allow downloading missing language files from the Microsoft CDN when they are not available in Source Path. Disable to use only Source Path content.",
      "id": "AllowCdnFallback",
      "name": "Allow CDN Fallback",
      "regExValidation": "",
      "required": false,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "False",
      "defaultValueObject": null,
      "description": "Enable to change an existing Office installation to the selected architecture, for example from 32-bit to 64-bit. Disable to keep the current architecture.",
      "id": "MigrateArch",
      "name": "Migrate Architecture",
      "regExValidation": "",
      "required": false,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "False",
      "defaultValueObject": null,
      "description": "Enable when updates are managed by Configuration Manager or another tool that requires the Office COM object. Disable when this integration is not needed.",
      "id": "OfficeMgmtCOM",
      "name": "Enable Office Management COM",
      "regExValidation": "",
      "required": false,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "",
      "defaultValueObject": null,
      "description": "Path to a local share or HTTP location where Office should look for updates. Leave blank to use the Microsoft CDN.",
      "id": "UpdatesUpdatePath",
      "name": "Update Path",
      "regExValidation": "",
      "required": false,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "",
      "defaultValueObject": null,
      "description": "Switches an existing installation to this update channel after installation. Leave blank to keep the channel specified in Update Channel.",
      "id": "UpdatesChannel",
      "name": "Update Channel Override",
      "regExValidation": "",
      "required": false,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "False",
      "defaultValueObject": null,
      "description": "Enable for shared computer scenarios such as Remote Desktop Services or Citrix. Disable for dedicated single-user devices.",
      "id": "SharedComputerLicensing",
      "name": "Shared Computer Licensing",
      "regExValidation": "",
      "required": false,
      "type": "Boolean",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": "",
      "defaultValueObject": null,
      "description": "Associates the device with your organisation in the Microsoft 365 Apps admin center Inventory. Find the key at https://config.office.com/. Leave blank if not used.",
      "id": "TenantAssociationKey",
      "name": "Tenant Association Key",
      "regExValidation": "",
      "required": false,
      "type": "TextBox",
      "value": null,
      "values": [],
      "valuesObject": null
    },
    {
      "allowManualInput": false,
      "defaultValue": [
        {
          "code": 0,
          "option": {
            "name": "Success",
            "id": "success"
          }
        },
        {
          "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"
}
```
