Add WinRAR as a Windows FMA - #47024
Conversation
Add WinRAR package support: new winget input manifest (ee/maintained-apps/inputs/winget/winrar.json), silent install/uninstall PowerShell scripts (winrar_install.ps1, winrar_uninstall.ps1), and outputs for the Windows package (ee/maintained-apps/outputs/winrar/windows.json). Also register the app in outputs/apps.json. Install script runs the self-extracting installer with -s1; uninstall script locates the UninstallString in the registry, stops WinRAR, and runs the uninstaller with /S. Output metadata includes version 7.22.0, installer URL and SHA256, plus script refs.
Add a Winrar SVG React component (frontend/pages/SoftwarePage/components/icons/Winrar.tsx) that embeds the WinRAR PNG as a data URL, update the icons index to export the new component, and add the high‑res PNG asset (website/assets/images/app-icon-winrar-60x60@2x.png). This provides the WinRAR app icon for the SoftwarePage.
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (7)
WalkthroughThis PR adds WinRAR as a managed Windows application to Fleet. It introduces PowerShell-based installation and uninstallation scripts that handle silent deployment via the installer path environment variable and registry-driven uninstall with process termination. The scripts are wired through Winget manifest and output JSON configurations specifying version 7.22.0 metadata, detection queries, and download details. The frontend receives a new icon component and map entry to display WinRAR alongside other managed software on the Software page. Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning Review ran into problems🔥 ProblemsGit: Failed to clone repository. Please run the 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 |
There was a problem hiding this comment.
Pull request overview
Adds WinRAR 7.22.0 as a Fleet-maintained Windows app (winget RARLab.WinRAR), including the maintained-app manifest + install/uninstall scripts and wiring up a WinRAR icon in the Software UI.
Changes:
- Add WinRAR winget input manifest plus PowerShell install/uninstall scripts.
- Add generated maintained-app output manifests (WinRAR windows.json + apps.json entry).
- Add a WinRAR icon component and map entry in the Software page icon registry.
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| frontend/pages/SoftwarePage/components/icons/Winrar.tsx | Adds WinRAR icon SVG wrapper (base64 PNG). |
| frontend/pages/SoftwarePage/components/icons/index.ts | Registers WinRAR icon import and name→icon mapping key (winrar). |
| ee/maintained-apps/outputs/winrar/windows.json | Generated WinRAR Windows maintained-app manifest (queries, installer URL/SHA, embedded scripts). |
| ee/maintained-apps/outputs/apps.json | Adds WinRAR to the generated maintained apps catalog. |
| ee/maintained-apps/inputs/winget/winrar.json | Defines WinRAR winget package input (fuzzy match, scope/type, script paths). |
| ee/maintained-apps/inputs/winget/scripts/winrar_uninstall.ps1 | Adds registry-based uninstall script with defensive UninstallString parsing. |
| ee/maintained-apps/inputs/winget/scripts/winrar_install.ps1 | Adds silent install script for the WinRAR EXE installer. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if ($existingArgs -and $existingArgs -ne '') { | ||
| $uninstallArgs = "$existingArgs $uninstallArgs" | ||
| } |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #47024 +/- ##
==========================================
- Coverage 67.04% 67.04% -0.01%
==========================================
Files 2873 2874 +1
Lines 225129 225131 +2
Branches 11637 11779 +142
==========================================
+ Hits 150930 150931 +1
- Misses 60529 60530 +1
Partials 13670 13670
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:
|
Summary
Adds WinRAR 7.22.0 as a Fleet-maintained app (Windows / winget
RARLab.WinRAR).Details
exe(WinRAR self-extracting installer), machine scope → custom install/uninstall scripts (the ingester only auto-generates for machine-scope MSI).-s1— from the winget manifest's documentedInstallerSwitches.Silent.uninstall.exe /Slocated via the registryUninstallString, parsed with the defensive 3-shape matcher.unique_identifier: "WinRAR"+fuzzy_match_name: true→ exists queryname LIKE 'WinRAR %' AND publisher = 'win.rar GmbH'. Fuzzy match is required because WinRAR's registry DisplayName embeds the version (WinRAR 7.22.0 (64-bit)). Registry Publisher matches the winget locale Publisher, so noprogram_publisheroverride.7.22.0reconciles with osquery's DisplayVersion.index.tsmap entry (winrar).Notes / risks
https://www.rarlab.com/rar/winrar-x64-722.exe) is version-pinned, so the SHA is stable until the FMA auto-update bumps it.🤖 Generated with Claude Code
Summary by CodeRabbit