Skip to content

Add Windows FMAs (letter H): 5 apps - #49478

Merged
allenhouchins merged 3 commits into
mainfrom
add-windows-fmas-letter-h
Jul 22, 2026
Merged

Add Windows FMAs (letter H): 5 apps#49478
allenhouchins merged 3 commits into
mainfrom
add-windows-fmas-letter-h

Conversation

@allenhouchins

@allenhouchins allenhouchins commented Jul 17, 2026

Copy link
Copy Markdown
Member

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.

  • HashTools — Inno Setup, machine, x64. File-checksum utility (Binary Fortress). Has an evergreen WebView2 dependency (present on virtually all fleets; core hashing works without it).
  • HeidiSQL — Inno Setup, machine, x64. Custom install passes /ALLUSERS for machine scope (the ingester doesn't forward manifest Custom switches).
  • HWMonitor — Inno Setup, machine, x86. ARP DisplayName is CPUID HWMonitor; installs a kernel driver removed by its uninstaller.
  • HP Prime Virtual Calculator — WiX burn bundle, machine, x64. Uses a name-only exists query (the ARP publisher is MORAVIA Consulting, not the manifest's "HP").
  • Huddle — InstallShield exe (/exenoui /quiet), machine, x86. Uninstall via the MSI UpgradeCode (uninstall_type: msi); ignore_hash for the non-versioned installer URL.

Dropped from this batch (recorded in the workstream tracker)

  • HandBrake — the GUI declares an unbundled Microsoft.DotNet.DesktopRuntime.10 dependency (won't run without it); the CLI is a portable zip with no Add/Remove Programs entry to detect.
  • HiPIN (KPN.HIPIN) — unbundled VCRedist + WebView2 dependencies, a non-versioned "latest" URL, and no ARP DisplayName/ProductCode. The binbat.whipinto candidate is an unrelated WebRTC tool (mismatch).

Notes

  • Huddle uses a non-versioned HuddleSetup.exe URL — 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.
  • Verification (winget manifest identity, installer type/scope/arch, ProductCode/UpgradeCode, silent switches, dependencies, URL stability) was done per the new-fma skill against the winget-pkgs manifests.

Testing

  • FMA CI validator (install → detect → uninstall) on the SYSTEM-context Windows runner — pending.
  • Generated outputs verified locally: all 5 produce valid manifests; exists/patched queries reviewed; Huddle's MSI UpgradeCode uninstall auto-generated correctly.

Summary by CodeRabbit

  • New Features
    • Added Windows support for HeidiSQL, HP Prime Virtual Calculator, and HWMonitor, including installation, detection, updating, and removal.
    • Added these applications to the software catalog with categories, versions, and download details.
    • Added dedicated application icons for improved recognition in the software interface.

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).
fleet-release
fleet-release previously approved these changes Jul 17, 2026
@codecov

codecov Bot commented Jul 17, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 50.00000% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 68.18%. Comparing base (a96c88d) to head (86fd4ab).
⚠️ Report is 173 commits behind head on main.

Files with missing lines Patch % Lines
...d/pages/SoftwarePage/components/icons/Heidisql.tsx 50.00% 1 Missing ⚠️
...Page/components/icons/HpPrimeVirtualCalculator.tsx 50.00% 1 Missing ⚠️
.../pages/SoftwarePage/components/icons/Hwmonitor.tsx 50.00% 1 Missing ⚠️
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     
Flag Coverage Δ
frontend 60.36% <50.00%> (+0.20%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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).
fleet-release
fleet-release previously approved these changes Jul 17, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Script Diff Results

ee/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.QuietUninstallString

ee/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

Copilot AI review requested due to automatic review settings July 22, 2026 19:26
@github-actions

Copy link
Copy Markdown
Contributor

Script Diff Results

ee/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.QuietUninstallString

ee/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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines +1 to +2
# Uninstalls CPUID HWMonitor (Inno Setup). Locates the ARP entry by exact
# DisplayName and runs its (Quiet)UninstallString with the Inno silent flags.
Comment on lines +1 to +2
# Uninstalls HeidiSQL (Inno Setup). Locates the ARP entry by exact
# DisplayName and runs its (Quiet)UninstallString with the Inno silent flags.
Comment on lines +18 to +22
$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
}
Comment on lines +3966 to +3972
{
"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."
},
@allenhouchins
allenhouchins marked this pull request as ready for review July 22, 2026 19:34
@allenhouchins
allenhouchins requested a review from a team as a code owner July 22, 2026 19:34
@fleet-release
fleet-release requested a review from eashaw July 22, 2026 19:34
@allenhouchins
allenhouchins merged commit a3f6a45 into main Jul 22, 2026
23 of 24 checks passed
@allenhouchins
allenhouchins deleted the add-windows-fmas-letter-h branch July 22, 2026 19:34
@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 31e5b4ed-2be9-44c1-8b92-bf78b994aa74

📥 Commits

Reviewing files that changed from the base of the PR and between e87dd02 and 86fd4ab.

⛔ Files ignored due to path filters (3)
  • website/assets/images/app-icon-heidisql-60x60@2x.png is excluded by !**/*.png
  • website/assets/images/app-icon-hp-prime-virtual-calculator-60x60@2x.png is excluded by !**/*.png
  • website/assets/images/app-icon-hwmonitor-60x60@2x.png is excluded by !**/*.png
📒 Files selected for processing (17)
  • ee/maintained-apps/inputs/winget/heidisql.json
  • ee/maintained-apps/inputs/winget/hp-prime-virtual-calculator.json
  • ee/maintained-apps/inputs/winget/hwmonitor.json
  • ee/maintained-apps/inputs/winget/scripts/heidisql_install.ps1
  • ee/maintained-apps/inputs/winget/scripts/heidisql_uninstall.ps1
  • ee/maintained-apps/inputs/winget/scripts/hp-prime-virtual-calculator_install.ps1
  • ee/maintained-apps/inputs/winget/scripts/hp-prime-virtual-calculator_uninstall.ps1
  • ee/maintained-apps/inputs/winget/scripts/hwmonitor_install.ps1
  • ee/maintained-apps/inputs/winget/scripts/hwmonitor_uninstall.ps1
  • ee/maintained-apps/outputs/apps.json
  • ee/maintained-apps/outputs/heidisql/windows.json
  • ee/maintained-apps/outputs/hp-prime-virtual-calculator/windows.json
  • ee/maintained-apps/outputs/hwmonitor/windows.json
  • frontend/pages/SoftwarePage/components/icons/Heidisql.tsx
  • frontend/pages/SoftwarePage/components/icons/HpPrimeVirtualCalculator.tsx
  • frontend/pages/SoftwarePage/components/icons/Hwmonitor.tsx
  • frontend/pages/SoftwarePage/components/icons/index.ts

Walkthrough

Adds 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
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch add-windows-fmas-letter-h

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.json

Traceback (most recent call last):
File "/usr/local/bin/checkov", line 2, in
from checkov.main import Checkov
ModuleNotFoundError: No module named 'checkov'

ee/maintained-apps/inputs/winget/hp-prime-virtual-calculator.json

Traceback (most recent call last):
File "/usr/local/bin/checkov", line 2, in
from checkov.main import Checkov
ModuleNotFoundError: No module named 'checkov'

ee/maintained-apps/inputs/winget/hwmonitor.json

Traceback (most recent call last):
File "/usr/local/bin/checkov", line 2, in
from checkov.main import Checkov
ModuleNotFoundError: No module named 'checkov'

  • 4 others

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants