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>
59 lines
2.3 KiB
XML
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>
|