> ## Documentation Index
> Fetch the complete documentation index at: https://docs.grunt.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Windows installation

> Install Grunt on Windows with either the default per-user model or managed per-machine deployment

This page covers the Windows-specific installation details for the current release.

> [!NOTE]
>
> Grunt is a self-contained .NET 9 COM add-in. It bundles its own runtime and has no external runtime prerequisites.

## Recommended baseline

* Windows 10 or Windows 11
* PowerPoint 2016 or later (Microsoft 365 recommended)
* The standard `x64` package, or `arm64` for Windows on ARM

Download the installer from [app.grunt.pro/download](https://app.grunt.pro/download).

## Default installation

The default install writes Grunt to:

```text theme={null}
C:\Users\<username>\AppData\Local\Programs\Grunt\
```

Key characteristics:

* Per-user installation
* No admin rights in most environments
* Registry changes under `HKEY_CURRENT_USER`
* Auto-updates on by default unless disabled for the organization

This is the recommended mode for users installing Grunt themselves. For Intune deployments, use per-machine installation in most cases. Choose per-user when you want Intune to handle only the initial deployment and Grunt to handle automatic updates.

## Command-line installation

For controlled environments, use per-machine installation through MSI flags:

```bash theme={null}
msiexec /i grunt-<version>-x64.msi MSIINSTALLPERUSER=0 /qn
```

This installs Grunt to:

```text theme={null}
C:\Program Files\Grunt
```

Key characteristics:

* Requires admin rights
* Per-machine installation
* Registry changes under `HKEY_LOCAL_MACHINE`
* Auto-updates disabled by design

## Registry entries

The installer writes the following registry entries. The root is `HKEY_CURRENT_USER` for per-user installs and `HKEY_LOCAL_MACHINE` for per-machine installs.

### PowerPoint add-in registration

```text theme={null}
Software\Microsoft\Office\PowerPoint\AddIns\Grunt
    FriendlyName = "Grunt"
    Description  = "grunt.pro"
    LoadBehavior = 3
```

### COM class registration

```text theme={null}
Software\Classes\CLSID\{AAF65EB4-AFBA-4B65-98AD-381C670B6461}
    (Default) = "Grunt.PowerPoint.ComAddin.GruntComAddin"

Software\Classes\CLSID\{AAF65EB4-AFBA-4B65-98AD-381C670B6461}\InprocServer32
    (Default)        = <install path>\Grunt.PowerPoint.ComAddinNE.dll
    ThreadingModel   = "Both"

Software\Classes\CLSID\{AAF65EB4-AFBA-4B65-98AD-381C670B6461}\ProgID
    (Default) = "Grunt"

Software\Classes\Grunt
    (Default) = "Grunt.PowerPoint.ComAddin.GruntComAddin"

Software\Classes\Grunt\CLSID
    (Default) = "{AAF65EB4-AFBA-4B65-98AD-381C670B6461}"
```

### Grunt metadata

```text theme={null}
Software\Grunt
    architecture = <x64 or arm64>
    Version      = <semantic version>
    Revision     = <revision identifier>
    content      = <content directory path>
    variant      = <variant>
    ClientId     = <client identifier>
    updateStrategy = <optional update mode>
```

For per-user installs, set `updateStrategy` under `HKEY_CURRENT_USER\Software\Grunt` to control updates. Use `1` for automatic updates, `2` for manual updates, and `0` to keep update availability silent and prevent automatic installation. See [Update management](https://docs.grunt.io/powerpoint-add-in/it/update-management.md) for the recommended per-user command.

> [!NOTE]
>
> On 64-bit systems, the installer also mirrors the registry entries under `Software\Wow6432Node\` for compatibility with 32-bit Office.

## Software deployment systems

For fully managed deployments through Intune, SCCM, or similar systems, use per-machine installation and distribute all updates through your deployment tooling.

If you use Intune for the initial deployment and want Grunt to handle updates, use per-user installation in the user's Windows context and leave automatic updates enabled. See [Deployment and installation](https://docs.grunt.io/powerpoint-add-in/it/deployment-and-installation.md) for help choosing an installation model.

Use [Update management](https://docs.grunt.io/powerpoint-add-in/it/update-management.md) if you also need rollout and release-channel guidance.

## Troubleshoot the installer

If the installer fails, rerun the per-user installation with verbose logging:

```powershell theme={null}
msiexec.exe /i "grunt-<version>-x64.msi" /L*V "$env:USERPROFILE\Downloads\grunt-install.log"
```

Run the command as the affected user. Do not run it from an elevated administrator prompt. For Windows on ARM, replace `x64` with `arm64`.

Before retrying the installation:

* Close PowerPoint and other Microsoft Office applications.
* Confirm that the MSI file is available locally and matches the device architecture.
* Check whether endpoint protection blocked or quarantined the installer.
* Record any error message or installer exit code.

If the installation still fails, send `grunt-install.log` from the user's **Downloads** folder to Grunt support. Include the error message, exit code, Windows version, and Office architecture.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.