Files
claudetools/projects/msp-tools/guru-rmm/installer/gururmm.wxs
Mike Swanson 148ac75a25 Add GuruRMM Agent MSI installer (WiX 5) — Phase 1 MVP
Signed Windows installer using our Azure Trusted Signing pipeline. Phase 1
scope: installs signed agent to Program Files, creates ProgramData dir,
Apps & Features entry with proper publisher, clean install + uninstall.

Phase 2 deferred: service registration, MSI properties for site-code
injection, agent install/uninstall custom actions, firewall rules.

Verified end-to-end on Windows workstation:
- wix build produces 1.16 MB MSI
- sign.ps1 signs it against gururmm-public-trust cert profile
- msiexec /qn installs silently, signature chain verifies on installed binary
- msiexec /x uninstalls cleanly, retains ProgramData

Tooling prerequisites documented in installer/README.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 08:19:52 -07:00

59 lines
2.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
GuruRMM Agent Windows Installer
Builds an MSI that installs the signed agent binary, creates the runtime
data directory, registers the Windows service, and supports clean
upgrade + uninstall via Programs and Features.
Build: wix build gururmm.wxs -arch x64 -o gururmm-agent-VERSION.msi
Sign: (use sign.ps1 against the resulting .msi before shipping)
-->
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<Package Name="GuruRMM Agent"
Manufacturer="Arizona Computer Guru LLC"
Version="0.6.1"
UpgradeCode="4c0aef59-9d08-4781-a3b4-a1c99b3b2e28"
Scope="perMachine"
InstallerVersion="500">
<SummaryInformation Description="GuruRMM Agent — Remote monitoring and management agent"
Manufacturer="Arizona Computer Guru LLC" />
<MajorUpgrade DowngradeErrorMessage="A newer version of GuruRMM Agent is already installed. Uninstall the newer version first if you need to downgrade." />
<MediaTemplate EmbedCab="yes" CompressionLevel="high" />
<!-- Install location: C:\Program Files\GuruRMM\ -->
<StandardDirectory Id="ProgramFiles64Folder">
<Directory Id="INSTALLFOLDER" Name="GuruRMM" />
</StandardDirectory>
<!-- Runtime data + logs: C:\ProgramData\GuruRMM\ -->
<StandardDirectory Id="CommonAppDataFolder">
<Directory Id="DATAFOLDER" Name="GuruRMM" />
</StandardDirectory>
<ComponentGroup Id="AgentComponents" Directory="INSTALLFOLDER">
<Component Id="AgentExe" Guid="9b3a6b4f-b6e6-4baf-9dfa-4c6a67cff11c">
<File Id="AgentExeFile"
Source="src\gururmm-agent.exe"
Name="gururmm-agent.exe"
KeyPath="yes" />
</Component>
</ComponentGroup>
<!-- ProgramData GuruRMM folder (created empty; agent populates config + logs) -->
<ComponentGroup Id="DataDirComponents" Directory="DATAFOLDER">
<Component Id="DataDir" Guid="3f2b51c7-9e22-4c11-94d6-f1e6a9e4d8a0" KeyPath="yes">
<CreateFolder />
</Component>
</ComponentGroup>
<Feature Id="MainFeature" Title="GuruRMM Agent" Level="1" AllowAbsent="no">
<ComponentGroupRef Id="AgentComponents" />
<ComponentGroupRef Id="DataDirComponents" />
</Feature>
</Package>
</Wix>