> ## 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.

<Info>
  Grunt is a self-contained .NET 9 COM add-in. It bundles its own runtime and has no external runtime prerequisites.
</Info>

## 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 most users.

## 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](/powerpoint-add-in/it/update-management) for the recommended per-user command.

<Info>
  On 64-bit systems, the installer also mirrors the registry entries under `Software\Wow6432Node\` for compatibility with 32-bit Office.
</Info>

## Software deployment systems

The same per-machine model is intended for SCCM, Intune, and similar systems.

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