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.
#Recommended baseline
- Windows 10 or Windows 11
- PowerPoint 2016 or later (Microsoft 365 recommended)
- The standard
x64package, orarm64for Windows on ARM
Download the installer from app.grunt.pro/download.
#Default installation
The default install writes Grunt to:
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:
msiexec /i grunt-<version>-x64.msi MSIINSTALLPERUSER=0 /qn
This installs Grunt to:
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
Software\Microsoft\Office\PowerPoint\AddIns\Grunt
FriendlyName = "Grunt"
Description = "grunt.pro"
LoadBehavior = 3
#COM class registration
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
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 for the recommended per-user command.
#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 for help choosing an installation model.
Use Update management if you also need rollout and release-channel guidance.
#Troubleshoot the installer
If the installer fails, rerun the per-user installation with verbose logging:
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.