Add Windows FMAs (letter H): 5 apps - #49478
Conversation
Adds Fleet-maintained apps for the letter-H batch of the Windows FMA workstream: - HashTools (Inno; file-checksum utility) - HeidiSQL (Inno; custom install passes /ALLUSERS for machine scope) - HWMonitor (Inno, x86; ARP DisplayName 'CPUID HWMonitor') - HP Prime Virtual Calculator (WiX burn; name-only exists query since the ARP publisher differs from the manifest 'HP') - Huddle (InstallShield exe; uninstall via MSI UpgradeCode; ignore_hash for the non-versioned installer URL) Dropped (recorded in the workstream tracker): HandBrake (GUI needs an unbundled .NET 10 Desktop Runtime; CLI is an undetectable portable zip), HiPIN (unbundled VCRedist/WebView2 dependencies + non-versioned URL + no ARP identity; the binbat.whipinto candidate is an unrelated WebRTC tool).
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #49478 +/- ##
==========================================
+ Coverage 68.16% 68.18% +0.01%
==========================================
Files 3849 3866 +17
Lines 243469 243977 +508
Branches 12936 13223 +287
==========================================
+ Hits 165969 166350 +381
- Misses 62502 62628 +126
- Partials 14998 14999 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Website build fix: apps.json entries need a description (the generator's
updateAppsListFile doesn't populate one). Added descriptions for the kept
apps.
Validation (1/5 passed -> fixing to 3):
- HeidiSQL, HWMonitor: install+detect passed but uninstall failed because
their ARP DisplayNames are versioned ('HeidiSQL 12.20.0.7320',
'CPUID HWMonitor 1.65'). Added fuzzy_match_name so the exists query uses
LIKE, and switched the uninstall scripts to prefix (-like) matching.
- HP Prime Virtual Calculator: passed as-is (kept).
- HashTools: dropped - Inno install hangs headless (10-min timeout; auto-
launches the app / pulls WebView2).
- Huddle: dropped - the non-versioned 'latest' installer URL served a
corrupt/unreadable file ('file or directory is corrupted and unreadable'),
the version-drift risk flagged at generation time.
Net letter H: 3 apps (HeidiSQL, HWMonitor, HP Prime Virtual Calculator).
Script Diff Resultsee/maintained-apps/outputs/heidisql/windows.json=== Install Script (no changes) ===
=== Uninstall // b431f517 -> 71bb5d85 ===
--- /tmp/old.5WJuHf 2026-07-17 22:03:07.594209039 +0000
+++ /tmp/new.FAU3BY 2026-07-17 22:03:07.594209039 +0000
@@ -18,7 +18,7 @@
$foundUninstaller = $false
foreach ($key in $uninstallKeys) {
- if ($key.DisplayName -eq $softwareName) {
+ if ($key.DisplayName -like "$softwareName*") {
$foundUninstaller = $true
$uninstallCommand = if ($key.QuietUninstallString) {
$key.QuietUninstallStringee/maintained-apps/outputs/hp-prime-virtual-calculator/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/hwmonitor/windows.json=== Install Script (no changes) ===
=== Uninstall // 1538bdc4 -> 2c66f754 ===
--- /tmp/old.R9BfVK 2026-07-17 22:03:07.883214835 +0000
+++ /tmp/new.zgvbVt 2026-07-17 22:03:07.883214835 +0000
@@ -18,7 +18,7 @@
$foundUninstaller = $false
foreach ($key in $uninstallKeys) {
- if ($key.DisplayName -eq $softwareName) {
+ if ($key.DisplayName -like "$softwareName*") {
$foundUninstaller = $true
$uninstallCommand = if ($key.QuietUninstallString) {
$key.QuietUninstallString |
Script Diff Resultsee/maintained-apps/outputs/heidisql/windows.json=== Install Script (no changes) ===
=== Uninstall // b431f517 -> 71bb5d85 ===
--- /tmp/old.zCH0wQ 2026-07-22 19:29:40.532837959 +0000
+++ /tmp/new.CDByuD 2026-07-22 19:29:40.532837959 +0000
@@ -18,7 +18,7 @@
$foundUninstaller = $false
foreach ($key in $uninstallKeys) {
- if ($key.DisplayName -eq $softwareName) {
+ if ($key.DisplayName -like "$softwareName*") {
$foundUninstaller = $true
$uninstallCommand = if ($key.QuietUninstallString) {
$key.QuietUninstallStringee/maintained-apps/outputs/hp-prime-virtual-calculator/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/hwmonitor/windows.json=== Install Script (no changes) ===
=== Uninstall // 1538bdc4 -> 2c66f754 ===
--- /tmp/old.RGYuNx 2026-07-22 19:29:40.800841417 +0000
+++ /tmp/new.0M8Bpk 2026-07-22 19:29:40.800841417 +0000
@@ -18,7 +18,7 @@
$foundUninstaller = $false
foreach ($key in $uninstallKeys) {
- if ($key.DisplayName -eq $softwareName) {
+ if ($key.DisplayName -like "$softwareName*") {
$foundUninstaller = $true
$uninstallCommand = if ($key.QuietUninstallString) {
$key.QuietUninstallString |
There was a problem hiding this comment.
Pull request overview
Adds new Windows Fleet-maintained app (FMA) assets for the “H” batch, including winget inputs, generated output manifests, PowerShell install/uninstall scripts, and frontend catalog icons.
Changes:
- Added/updated FMA definitions and manifests for HeidiSQL, HP Prime Virtual Calculator, and HWMonitor (Windows).
- Added PowerShell install/uninstall scripts for the above apps under winget inputs.
- Added new frontend software icons and mapped them in the Software page icon registry.
Reviewed changes
Copilot reviewed 17 out of 20 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| frontend/pages/SoftwarePage/components/icons/index.ts | Registers new icon components and maps software names to icons. |
| frontend/pages/SoftwarePage/components/icons/Hwmonitor.tsx | Adds HWMonitor icon component. |
| frontend/pages/SoftwarePage/components/icons/HpPrimeVirtualCalculator.tsx | Adds HP Prime Virtual Calculator icon component. |
| frontend/pages/SoftwarePage/components/icons/Heidisql.tsx | Adds HeidiSQL icon component. |
| ee/maintained-apps/outputs/hwmonitor/windows.json | Adds generated Windows manifest + embedded install/uninstall refs for HWMonitor. |
| ee/maintained-apps/outputs/hp-prime-virtual-calculator/windows.json | Adds generated Windows manifest + embedded install/uninstall refs for HP Prime Virtual Calculator. |
| ee/maintained-apps/outputs/heidisql/windows.json | Adds generated Windows manifest + embedded install/uninstall refs for HeidiSQL. |
| ee/maintained-apps/outputs/apps.json | Adds the three apps to the maintained-apps catalog index. |
| ee/maintained-apps/inputs/winget/scripts/hwmonitor_uninstall.ps1 | Adds HWMonitor uninstall script. |
| ee/maintained-apps/inputs/winget/scripts/hwmonitor_install.ps1 | Adds HWMonitor install script. |
| ee/maintained-apps/inputs/winget/scripts/hp-prime-virtual-calculator_uninstall.ps1 | Adds HP Prime Virtual Calculator uninstall script. |
| ee/maintained-apps/inputs/winget/scripts/hp-prime-virtual-calculator_install.ps1 | Adds HP Prime Virtual Calculator install script. |
| ee/maintained-apps/inputs/winget/scripts/heidisql_uninstall.ps1 | Adds HeidiSQL uninstall script. |
| ee/maintained-apps/inputs/winget/scripts/heidisql_install.ps1 | Adds HeidiSQL install script. |
| ee/maintained-apps/inputs/winget/hwmonitor.json | Adds winget input definition for HWMonitor. |
| ee/maintained-apps/inputs/winget/hp-prime-virtual-calculator.json | Adds winget input definition for HP Prime Virtual Calculator. |
| ee/maintained-apps/inputs/winget/heidisql.json | Adds winget input definition for HeidiSQL. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # Uninstalls CPUID HWMonitor (Inno Setup). Locates the ARP entry by exact | ||
| # DisplayName and runs its (Quiet)UninstallString with the Inno silent flags. |
| # Uninstalls HeidiSQL (Inno Setup). Locates the ARP entry by exact | ||
| # DisplayName and runs its (Quiet)UninstallString with the Inno silent flags. |
| $selected = $uninstallKeys | Where-Object { $_.DisplayName -eq $softwareName } | Select-Object -First 1 | ||
| if (-not $selected -or -not $selected.UninstallString) { | ||
| Write-Host "Uninstall entry not found for '$softwareName'." | ||
| Exit 1 | ||
| } |
| { | ||
| "name": "HeidiSQL", | ||
| "slug": "heidisql/windows", | ||
| "platform": "windows", | ||
| "unique_identifier": "HeidiSQL", | ||
| "description": "HeidiSQL is a lightweight client for managing MariaDB, MySQL, SQL Server, PostgreSQL, and SQLite databases." | ||
| }, |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (17)
WalkthroughAdds maintained Windows application definitions for HeidiSQL, HP Prime Virtual Calculator, and HWMonitor. The changes include Winget metadata, PowerShell installation and registry-based uninstallation scripts, generated version outputs with detection queries, download metadata, checksums, and embedded script references, catalog entries, and frontend icon components registered by software name. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 Checkov (3.3.8)ee/maintained-apps/inputs/winget/heidisql.jsonTraceback (most recent call last): ee/maintained-apps/inputs/winget/hp-prime-virtual-calculator.jsonTraceback (most recent call last): ee/maintained-apps/inputs/winget/hwmonitor.jsonTraceback (most recent call last):
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Related issue: N/A — part of the ongoing Windows Fleet-maintained apps (FMA) parity workstream (letter H).
What this does
Adds 5 Windows Fleet-maintained apps for the letter-H batch, each with a winget-sourced input, generated output manifest, and a first-party catalog icon.
/ALLUSERSfor machine scope (the ingester doesn't forward manifestCustomswitches).CPUID HWMonitor; installs a kernel driver removed by its uninstaller./exenoui /quiet), machine, x86. Uninstall via the MSI UpgradeCode (uninstall_type: msi);ignore_hashfor the non-versioned installer URL.Dropped from this batch (recorded in the workstream tracker)
Microsoft.DotNet.DesktopRuntime.10dependency (won't run without it); the CLI is a portable zip with no Add/Remove Programs entry to detect.KPN.HIPIN) — unbundled VCRedist + WebView2 dependencies, a non-versioned "latest" URL, and no ARP DisplayName/ProductCode. Thebinbat.whipintocandidate is an unrelated WebRTC tool (mismatch).Notes
HuddleSetup.exeURL — if the vendor ships past 4.8.0.0, osquery version detection may drift (same pattern that failed GoodSync in letter G). Flagging for the validator; will drop if it can't match.new-fmaskill against the winget-pkgs manifests.Testing
Summary by CodeRabbit