sync: auto-sync from HOWARD-HOME at 2026-05-27 17:28:19

Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-05-27 17:28:19
This commit is contained in:
2026-05-27 17:28:26 -07:00
parent 47d6519220
commit cd371a32eb

View File

@@ -500,3 +500,81 @@ id: 3fe667e1-4392-42a7-84d4-3d2c2712f474
- AgentWithDetails struct: `server/src/db/agents.rs:284` - AgentWithDetails struct: `server/src/db/agents.rs:284`
- ProcessListDialog component: `dashboard/src/pages/AgentDetail.tsx:205` - ProcessListDialog component: `dashboard/src/pages/AgentDetail.tsx:205`
- SiteDetail agent table: `dashboard/src/pages/SiteDetail.tsx:1308` - SiteDetail agent table: `dashboard/src/pages/SiteDetail.tsx:1308`
---
## Update: 17:27 PT — GuruRMM BUG-015 Programs and Features (SPEC-011)
## User
- **User:** Howard Enos (howard)
- **Machine:** Howard-Home
- **Role:** tech
### Session Summary
Howard reported that the GuruRMM agent does not appear in Windows "Programs and Features" or the Windows 11 "Apps & features" Settings page after installation. The session conducted a full root cause analysis of the WiX v4 installer source (`installer/gururmm-agent.wxs`) and produced SPEC-011 covering the fix.
The root cause was identified as a missing set of ARP (Add/Remove Programs) display properties in the WiX source. The WiX file has `<Package Name="GuruRMM Agent" Manufacturer="Arizona Computer Guru LLC" Version="$(Version)">` which writes the basic `DisplayName`, `Publisher`, and `DisplayVersion` registry values, but Windows 11's modern Apps & features UI specifically filters entries that lack a `DisplayIcon` registry value — set from the `ARPPRODUCTICON` property. None of the six standard ARP properties (`ARPPRODUCTICON`, `ARPURLINFOABOUT`, `ARPHELPLINK`, `ARPCONTACT`, `ARPNOREPAIR`, `ARPNOMODIFY`) are present. Additionally, the `AgentBinary` WiX component has no explicit `Guid=` attribute, relying on WiX v4 auto-generation.
The server-side MSI build path was also examined: `build_site_msi_on_pluto()` in `server/src/api/install.rs:1341` SSHes to the Pluto Windows build machine and runs a full WiX rebuild per site with the `SITEKEY` baked in at compile time — not a post-build binary patch. The MSI is structurally correct and the MajorUpgrade/UpgradeCode logic is sound. The issue is purely the missing ARP metadata.
SPEC-011 was written, committed to the guru-rmm repo, the ClaudeTools submodule pointer was advanced, both were pushed to Gitea, and a coord message was sent to Mike. The fix requires: adding 6 `<Property>` declarations to `gururmm-agent.wxs`, creating a product icon `gururmm-agent.ico`, bundling the icon alongside the agent binary, and pinning an explicit GUID on the `AgentBinary` component. No server or agent binary changes required.
### Key Decisions
- Classified as P2 (not P1) — the agent installs and functions correctly; the Programs and Features absence is a discoverability and manual-uninstall UX issue, not a service failure. However, it is important for client sites where techs need to verify installations.
- Chose installer-only fix scope — no server or agent binary changes needed, making the fix fast and low-risk.
- Documented an open question for Mike about whether `ARPNOREMOVE="1"` should be added simultaneously (which would prevent end users from uninstalling via the UI), or deferred to SPEC-001 uninstall hardening. Left the decision to Mike.
- Did not add `ARPSYSTEMCOMPONENT="1"` — confirmed it is not present and should not be added (that property hides the entry).
### Problems Encountered
- First coord message POST failed with `{"detail":"There was an error parsing the body"}` due to apostrophes in the JSON body string. Resolved by removing apostrophes from the message body and re-sending.
- ClaudeTools submodule push was initially rejected (remote had newer commits from Mike). Resolved with `git pull --rebase origin main && git push`.
### Configuration Changes
- **Created:** `projects/msp-tools/guru-rmm/docs/specs/SPEC-011-arp-programs-features-registration.md`
- **Modified:** `projects/msp-tools/guru-rmm/docs/FEATURE_ROADMAP.md` — added BUG-015 entry in Known Bugs section and installation methods entry
### Credentials & Secrets
None.
### Infrastructure & Servers
- GuruRMM build server (Pluto): `Administrator@172.16.3.36`
- WiX installer source: `installer/gururmm-agent.wxs`
- MSI build function: `server/src/api/install.rs:1341` (`build_site_msi_on_pluto`)
### Commands & Outputs
```
# guru-rmm commit
git commit -m "spec: add SPEC-011 ARP Programs and Features registration fix (BUG-015)"
# Push: 495575d..fae47f2 main -> main
# ClaudeTools push (after rebase for remote conflict)
git pull --rebase origin main && git push origin main
# Push: f3c7fcd..47d6519 main -> main
# Coord message ID: 7bdc6d3c-945f-4b65-b3d5-2710b41257fa
```
### Pending / Incomplete Tasks
- **BUG-015 implementation:** Apply the WiX changes from SPEC-011 to `gururmm-agent.wxs`. Create `gururmm-agent.ico` (brand or placeholder). Rebuild + test MSI on Windows 10 and Windows 11.
- **Open question (Mike decision):** Add `ARPNOREMOVE="1"` to block end-user uninstall via UI here, or defer to SPEC-001 uninstall hardening?
- All prior SPEC-010 items remain pending (see earlier session update).
### Reference Information
- Spec file: `projects/msp-tools/guru-rmm/docs/specs/SPEC-011-arp-programs-features-registration.md`
- Roadmap: `projects/msp-tools/guru-rmm/docs/FEATURE_ROADMAP.md`
- Guru-RMM commit: `fae47f2`
- ClaudeTools commit: `47d6519`
- Coord message ID: `7bdc6d3c-945f-4b65-b3d5-2710b41257fa`
- WiX source: `installer/gururmm-agent.wxs`
- Server MSI build: `server/src/api/install.rs:1341`
- ARP registry path (64-bit): `HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{ProductCode}`
- Cleanup tool ARP search: `installer/cleanup/src/main.rs:65`