Skip to content

Update Fleet-maintained apps - #49271

Closed
fleet-release wants to merge 4 commits into
mainfrom
fma-2607141625
Closed

Update Fleet-maintained apps#49271
fleet-release wants to merge 4 commits into
mainfrom
fma-2607141625

Conversation

@fleet-release

@fleet-release fleet-release commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Automated ingestion of latest Fleet-maintained app data.

Summary by CodeRabbit

  • New Features

    • Updated the maintained app catalog across macOS and Windows with newer releases, refreshed download links, and updated integrity checks (including apps like Blender, Docker Desktop, Notion, Postman, and Firefox).
  • Bug Fixes

    • Improved Windows installer reliability and troubleshooting: better handling for timeouts/early exits and clearer failure output by showing recent installer logs.
    • Updated uninstall behavior for OnlySwitch to remove additional user-related items during uninstall.

Generated automatically with cmd/maintained-apps.
@github-actions

Copy link
Copy Markdown
Contributor

Script Diff Results

ee/maintained-apps/outputs/ableton-live-suite/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/amie/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/aptakube/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/asana/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/beekeeper-studio/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/bettertouchtool/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/blender/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/blender/windows.json

=== Install Script (no changes) ===
=== Uninstall // 9ffd9c0e -> 1d0744e6 ===

--- /tmp/old.Unh5cQ	2026-07-14 16:33:32.954055784 +0000
+++ /tmp/new.e3EuLH	2026-07-14 16:33:32.954055784 +0000
@@ -6,7 +6,7 @@
 # 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
 $successCodes = @(0, 3010, 1641)
 
-foreach ($product_code in $inst.RelatedProducts('{4C6AD1CE-C11B-54CD-83AE-A801252310E4}')) {
+foreach ($product_code in $inst.RelatedProducts('{60132683-FE29-5605-8A63-E5B523FC4D5C}')) {
     $process = Start-Process msiexec -ArgumentList @("/quiet", "/x", $product_code, "/norestart") -PassThru
 
     # Wait for process with timeout

ee/maintained-apps/outputs/bruno/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/bruno/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/camo-studio/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/camtasia/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/chatgpt/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/claude/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cleanshot/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cmux/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/codexbar/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cursor/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/discord/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/discord/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/docker-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/docker/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/downie/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/drawio/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/dropzone/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/elephas/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/elgato-camera-hub/darwin.json

=== Install // 5a67b73e -> a546f0ff ===

--- /tmp/old.ShVMqy	2026-07-14 16:33:33.712059018 +0000
+++ /tmp/new.aoMVf4	2026-07-14 16:33:33.712059018 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.elgato.CameraHub'
-sudo installer -pkg "$TMPDIR/CameraHub_2.2.1.6945.pkg" -target /
+sudo installer -pkg "$TMPDIR/CameraHub_2.3.0.7229.pkg" -target /
 relaunch_application 'com.elgato.CameraHub'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/fellow/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/firefox/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/franz/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/front/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/genesys-cloud/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/gog-galaxy/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/grammarly-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/granola/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/granola/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/groove-omnidialer/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/gyazo/darwin.json

=== Install // 32ab4ed1 -> 00de65f4 ===

--- /tmp/old.QdtVZ8	2026-07-14 16:33:34.163060942 +0000
+++ /tmp/new.gAdwo5	2026-07-14 16:33:34.163060942 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.gyazo.menu'
-sudo installer -pkg "$TMPDIR/Gyazo-10.11.0.pkg" -target /
+sudo installer -pkg "$TMPDIR/Gyazo-10.12.0.pkg" -target /
 relaunch_application 'com.gyazo.menu'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/hive-app/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/logseq/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/microsoft-365-copilot/darwin.json

=== Install // 67424985 -> 3198cbf9 ===

--- /tmp/old.UINv9d	2026-07-14 16:33:34.297061513 +0000
+++ /tmp/new.w2SQaf	2026-07-14 16:33:34.297061513 +0000
@@ -117,6 +117,6 @@
 
 EOF
 
-sudo installer -pkg "$TMPDIR"/Microsoft_365_Copilot_universal_1.2606.1501_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
+sudo installer -pkg "$TMPDIR"/Microsoft_365_Copilot_universal_1.2607.0602_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
 
 relaunch_application 'com.microsoft.m365copilot'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/milanote/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/mongodb-compass/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/nordvpn/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notepad++/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notepadexe/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notesnook/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notion/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notion/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/ollama/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/only-switch/darwin.json

=== Install Script (no changes) ===
=== Uninstall // c3c2aa39 -> d68f8240 ===

--- /tmp/old.U7bQcX	2026-07-14 16:33:34.685063169 +0000
+++ /tmp/new.4Awd2d	2026-07-14 16:33:34.685063169 +0000
@@ -53,7 +53,13 @@
 }
 
 sudo rm -rf "$APPDIR/Only Switch.app"
+trash $LOGGED_IN_USER '~/Library/Application Scripts/*.OnlySwitch.shared'
+trash $LOGGED_IN_USER '~/Library/Application Scripts/jacklandrin.OnlySwitch.OnlyWidget'
+trash $LOGGED_IN_USER '~/Library/Application Support/jacklandrin.OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Application Support/OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Caches/jacklandrin.OnlySwitch'
+trash $LOGGED_IN_USER '~/Library/Containers/jacklandrin.OnlySwitch.OnlyWidget'
+trash $LOGGED_IN_USER '~/Library/Group Containers/*.OnlySwitch.shared'
+trash $LOGGED_IN_USER '~/Library/HTTPStorages/jacklandrin.OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Preferences/jacklandrin.OnlySwitch.plist'

ee/maintained-apps/outputs/opencode-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/openinterminal/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/plex-media-server/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/postman/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/postman/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/reqable/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/reqable/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/rocket-chat/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/sketch/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/superhuman/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/superwhisper/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/swiftdialog/darwin.json

=== Install // a2e5b6be -> 2b532b1c ===

--- /tmp/old.kSP2ZL	2026-07-14 16:33:35.151065157 +0000
+++ /tmp/new.UMzstx	2026-07-14 16:33:35.151065157 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'au.csiro.dialog'
-sudo installer -pkg "$TMPDIR/dialog-3.0.1-4955.pkg" -target /
+sudo installer -pkg "$TMPDIR/dialog-3.1.0-4994.pkg" -target /
 relaunch_application 'au.csiro.dialog'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/syncovery/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/telegram/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/wealthfolio/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/whatsapp/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

@coderabbitai

coderabbitai Bot commented Jul 14, 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: 0c371722-39c7-4640-9bc4-47a822fb2e6c

📥 Commits

Reviewing files that changed from the base of the PR and between 2a8ef9e and 3f8acf4.

📒 Files selected for processing (2)
  • ee/maintained-apps/inputs/winget/scripts/docker_install.ps1
  • ee/maintained-apps/outputs/docker/windows.json

Walkthrough

Updated maintained-app manifests for newer macOS and Windows releases by synchronizing versions, patch-detection SQL thresholds, installer URLs, and SHA-256 checksums. Selected entries also update install or uninstall script references, package names, upgrade codes, installer process handling, and failure-log reporting.

Possibly related PRs

  • fleetdm/fleet#49259: Updates overlapping maintained-app manifest versions, URLs, checksums, and patch thresholds.
  • fleetdm/fleet#49261: Modifies overlapping maintained-app release metadata.
  • fleetdm/fleet#49285: Updates overlapping maintained-app version metadata and installer fields.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is far too vague and does not follow the required template sections or checklist items. Expand it to the repository template: add the related issue, checklist items, testing details, and any applicable database or platform notes.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately summarizes the main change: updating Fleet-maintained apps.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fma-2607141625

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.

@coderabbitai coderabbitai Bot 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.

🧹 Nitpick comments (1)
ee/maintained-apps/outputs/microsoft-365-copilot/darwin.json (1)

18-19: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Use $INSTALLER_PATH directly instead of a hardcoded versioned filename.

The install script hardcodes the versioned package filename (Microsoft_365_Copilot_universal_1.2607.0602_Installer.pkg). This makes the script brittle because it assumes the downloaded artifact retains this exact name, and it requires unnecessarily updating the script definition (and its ref hash) for every app release.

Since $INSTALLER_PATH already points directly to the downloaded .pkg file, you can pass it to installer. Additionally, consider cleaning up the temporary $CHOICE_XML file after the installation succeeds.

Note: Since these JSON files are automatically generated, please apply this adjustment to the underlying template or configuration in cmd/maintained-apps so that future generations output the version-agnostic command.

🛠️ Proposed template adjustment
-sudo installer -pkg "$TMPDIR"/Microsoft_365_Copilot_universal_1.2607.0602_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
+sudo installer -pkg "$INSTALLER_PATH" -target / -applyChoiceChangesXML "$CHOICE_XML"
+rm -f "$CHOICE_XML"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ee/maintained-apps/outputs/microsoft-365-copilot/darwin.json` around lines 18
- 19, Update the maintained-apps template/configuration that generates the
Microsoft 365 Copilot install script so the installer command uses the existing
INSTALLER_PATH value rather than a hardcoded versioned package name. Preserve
the existing choice XML behavior, and remove the temporary CHOICE_XML file after
a successful installation. Regenerate the JSON output so the generated script
and reference hash reflect the template change.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@ee/maintained-apps/outputs/microsoft-365-copilot/darwin.json`:
- Around line 18-19: Update the maintained-apps template/configuration that
generates the Microsoft 365 Copilot install script so the installer command uses
the existing INSTALLER_PATH value rather than a hardcoded versioned package
name. Preserve the existing choice XML behavior, and remove the temporary
CHOICE_XML file after a successful installation. Regenerate the JSON output so
the generated script and reference hash reflect the template change.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 3ee6aae5-b197-4288-bfc7-e5d54e71d501

📥 Commits

Reviewing files that changed from the base of the PR and between 422b2bb and 42229ef.

📒 Files selected for processing (67)
  • ee/maintained-apps/outputs/ableton-live-suite/darwin.json
  • ee/maintained-apps/outputs/amie/darwin.json
  • ee/maintained-apps/outputs/aptakube/windows.json
  • ee/maintained-apps/outputs/asana/darwin.json
  • ee/maintained-apps/outputs/beekeeper-studio/windows.json
  • ee/maintained-apps/outputs/bettertouchtool/darwin.json
  • ee/maintained-apps/outputs/blender/darwin.json
  • ee/maintained-apps/outputs/blender/windows.json
  • ee/maintained-apps/outputs/bruno/darwin.json
  • ee/maintained-apps/outputs/bruno/windows.json
  • ee/maintained-apps/outputs/camo-studio/darwin.json
  • ee/maintained-apps/outputs/camtasia/darwin.json
  • ee/maintained-apps/outputs/chatgpt/darwin.json
  • ee/maintained-apps/outputs/claude/darwin.json
  • ee/maintained-apps/outputs/cleanshot/darwin.json
  • ee/maintained-apps/outputs/cmux/darwin.json
  • ee/maintained-apps/outputs/codexbar/darwin.json
  • ee/maintained-apps/outputs/cursor/darwin.json
  • ee/maintained-apps/outputs/discord/darwin.json
  • ee/maintained-apps/outputs/discord/windows.json
  • ee/maintained-apps/outputs/docker-desktop/darwin.json
  • ee/maintained-apps/outputs/docker/windows.json
  • ee/maintained-apps/outputs/downie/darwin.json
  • ee/maintained-apps/outputs/drawio/windows.json
  • ee/maintained-apps/outputs/dropzone/darwin.json
  • ee/maintained-apps/outputs/elephas/darwin.json
  • ee/maintained-apps/outputs/elgato-camera-hub/darwin.json
  • ee/maintained-apps/outputs/fellow/darwin.json
  • ee/maintained-apps/outputs/firefox/darwin.json
  • ee/maintained-apps/outputs/franz/darwin.json
  • ee/maintained-apps/outputs/front/darwin.json
  • ee/maintained-apps/outputs/genesys-cloud/darwin.json
  • ee/maintained-apps/outputs/gog-galaxy/windows.json
  • ee/maintained-apps/outputs/grammarly-desktop/darwin.json
  • ee/maintained-apps/outputs/granola/darwin.json
  • ee/maintained-apps/outputs/granola/windows.json
  • ee/maintained-apps/outputs/groove-omnidialer/darwin.json
  • ee/maintained-apps/outputs/gyazo/darwin.json
  • ee/maintained-apps/outputs/hive-app/darwin.json
  • ee/maintained-apps/outputs/logseq/darwin.json
  • ee/maintained-apps/outputs/microsoft-365-copilot/darwin.json
  • ee/maintained-apps/outputs/milanote/darwin.json
  • ee/maintained-apps/outputs/mongodb-compass/darwin.json
  • ee/maintained-apps/outputs/nordvpn/darwin.json
  • ee/maintained-apps/outputs/notepad++/windows.json
  • ee/maintained-apps/outputs/notepadexe/darwin.json
  • ee/maintained-apps/outputs/notesnook/windows.json
  • ee/maintained-apps/outputs/notion/darwin.json
  • ee/maintained-apps/outputs/notion/windows.json
  • ee/maintained-apps/outputs/ollama/darwin.json
  • ee/maintained-apps/outputs/only-switch/darwin.json
  • ee/maintained-apps/outputs/opencode-desktop/darwin.json
  • ee/maintained-apps/outputs/openinterminal/darwin.json
  • ee/maintained-apps/outputs/plex-media-server/darwin.json
  • ee/maintained-apps/outputs/postman/darwin.json
  • ee/maintained-apps/outputs/postman/windows.json
  • ee/maintained-apps/outputs/reqable/darwin.json
  • ee/maintained-apps/outputs/reqable/windows.json
  • ee/maintained-apps/outputs/rocket-chat/darwin.json
  • ee/maintained-apps/outputs/sketch/darwin.json
  • ee/maintained-apps/outputs/superhuman/darwin.json
  • ee/maintained-apps/outputs/superwhisper/darwin.json
  • ee/maintained-apps/outputs/swiftdialog/darwin.json
  • ee/maintained-apps/outputs/syncovery/darwin.json
  • ee/maintained-apps/outputs/telegram/darwin.json
  • ee/maintained-apps/outputs/wealthfolio/darwin.json
  • ee/maintained-apps/outputs/whatsapp/darwin.json

…MA install scripts

The four apps failed Windows FMA validation on their latest version bumps
with bare exit codes and no useful output:
- Discord: Squirrel setup hung past the 10-minute validator timeout
- Docker Desktop: did not register in HKCU within the poll window
- GOG Galaxy / Reqable: Inno Setup exit code 1 (failed to initialize)

Capture Inno Setup /LOG output, Squirrel setup logs, and Docker installer
logs on failure; bound Discord's wait and kill the process tree on timeout;
fail Docker fast if the installer exits before registering.
@github-actions

Copy link
Copy Markdown
Contributor

Script Diff Results

ee/maintained-apps/outputs/ableton-live-suite/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/amie/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/aptakube/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/asana/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/beekeeper-studio/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/bettertouchtool/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/blender/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/blender/windows.json

=== Install Script (no changes) ===
=== Uninstall // 9ffd9c0e -> 1d0744e6 ===

--- /tmp/old.tLo5Oz	2026-07-14 18:45:23.840168138 +0000
+++ /tmp/new.75RO1H	2026-07-14 18:45:23.840168138 +0000
@@ -6,7 +6,7 @@
 # 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
 $successCodes = @(0, 3010, 1641)
 
-foreach ($product_code in $inst.RelatedProducts('{4C6AD1CE-C11B-54CD-83AE-A801252310E4}')) {
+foreach ($product_code in $inst.RelatedProducts('{60132683-FE29-5605-8A63-E5B523FC4D5C}')) {
     $process = Start-Process msiexec -ArgumentList @("/quiet", "/x", $product_code, "/norestart") -PassThru
 
     # Wait for process with timeout

ee/maintained-apps/outputs/bruno/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/bruno/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/camo-studio/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/camtasia/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/chatgpt/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/claude/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cleanshot/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cmux/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/codexbar/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cursor/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/discord/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/discord/windows.json

=== Install // fd04e860 -> a51c4f49 ===

--- /tmp/old.HX60MM	2026-07-14 18:45:24.176155285 +0000
+++ /tmp/new.gF4JfM	2026-07-14 18:45:24.177155247 +0000
@@ -12,15 +12,36 @@
   FilePath = "$exeFilePath"
   ArgumentList = "-s"
   PassThru = $true
-  Wait = $true
 }
-    
-# Start process and track exit code
+
+# Start process and track exit code. Don't block indefinitely: the Squirrel
+# setup has been observed to hang without exiting. Bound the wait, and on
+# timeout kill the installer tree and surface the Squirrel logs.
 $process = Start-Process @processOptions
+$timedOut = $false
+if (-not $process.WaitForExit(8 * 60 * 1000)) {
+  $timedOut = $true
+  Write-Host "Installer did not exit within 8 minutes; killing process tree."
+  & taskkill /PID $process.Id /T /F | Out-Null
+  $process.WaitForExit(30 * 1000) | Out-Null
+}
 $exitCode = $process.ExitCode
 
 # Prints the exit code
 Write-Host "Install exit code: $exitCode"
+
+# On failure, surface the Squirrel setup logs so the error is visible in
+# Fleet's script output instead of just a bare exit code.
+if ($timedOut -or $exitCode -ne 0) {
+  foreach ($log in @("$env:LOCALAPPDATA\SquirrelTemp\SquirrelSetup.log", "$env:LOCALAPPDATA\Discord\SquirrelSetup.log")) {
+    if (Test-Path $log) {
+      Write-Host "--- $log (last 50 lines) ---"
+      Get-Content $log -Tail 50 | ForEach-Object { Write-Host $_ }
+    }
+  }
+}
+
+if ($timedOut) { Exit 1 }
 Exit $exitCode
 
 } catch {

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/docker-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/docker/windows.json

=== Install // b06042dd -> ec5be75b ===

--- /tmp/old.pIreez	2026-07-14 18:45:24.236152990 +0000
+++ /tmp/new.LO4ZhP	2026-07-14 18:45:24.236152990 +0000
@@ -3,6 +3,19 @@
 
 $exeFilePath = "${env:INSTALLER_PATH}"
 
+function Write-InstallerLogs {
+    $logCandidates = @(
+        "$env:LOCALAPPDATA\Docker\install-log*.txt",
+        "$env:ProgramData\DockerDesktop\install-log*.txt"
+    )
+    foreach ($pattern in $logCandidates) {
+        Get-ChildItem -Path $pattern -ErrorAction SilentlyContinue | ForEach-Object {
+            Write-Host "--- $($_.FullName) (last 50 lines) ---"
+            Get-Content $_.FullName -Tail 50 | ForEach-Object { Write-Host $_ }
+        }
+    }
+}
+
 try {
     # Docker Desktop 4.72+ added a per-user vs all-user install choice for
     # Windows. All-user silent installs hang on Windows Server runners
@@ -10,23 +23,31 @@
     # per-user with --user instead: no admin needed, target is
     # %LOCALAPPDATA%\Programs\DockerDesktop, and uninstall info is written to
     # HKCU. --accept-license suppresses the subscription agreement prompt.
-    Start-Process -FilePath "$exeFilePath" -ArgumentList "install","--user","--accept-license","--quiet" | Out-Null
+    $process = Start-Process -FilePath "$exeFilePath" -ArgumentList "install","--user","--accept-license","--quiet" -PassThru
 
     # The installer process can keep running for several minutes after the
     # app is registered with Windows. Poll the HKCU uninstall key (osquery's
     # programs table reads both HKLM and HKU) to detect when the core install
     # has completed, rather than blocking on Start-Process -Wait.
     $registryKey = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Docker Desktop"
-    $deadline = (Get-Date).AddMinutes(4)
+    $deadline = (Get-Date).AddMinutes(8)
     while ((Get-Date) -lt $deadline) {
         if (Get-ItemProperty -Path $registryKey -ErrorAction SilentlyContinue) {
             Write-Host "Docker Desktop registered in HKCU."
             Exit 0
         }
+        # If the installer already exited without registering the app, fail
+        # fast with its exit code and surface the installer logs.
+        if ($process.HasExited -and $process.ExitCode -ne 0) {
+            Write-Host "Installer exited with code $($process.ExitCode) before registering."
+            Write-InstallerLogs
+            Exit 1
+        }
         Start-Sleep -Seconds 10
     }
 
     Write-Host "Docker Desktop did not register within timeout."
+    Write-InstallerLogs
     Exit 1
 } catch {
     Write-Host "Error: $_"

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/downie/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/drawio/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/dropzone/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/elephas/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/elgato-camera-hub/darwin.json

=== Install // 5a67b73e -> a546f0ff ===

--- /tmp/old.5BFddC	2026-07-14 18:45:24.389147138 +0000
+++ /tmp/new.BDsbyQ	2026-07-14 18:45:24.389147138 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.elgato.CameraHub'
-sudo installer -pkg "$TMPDIR/CameraHub_2.2.1.6945.pkg" -target /
+sudo installer -pkg "$TMPDIR/CameraHub_2.3.0.7229.pkg" -target /
 relaunch_application 'com.elgato.CameraHub'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/fellow/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/firefox/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/franz/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/front/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/genesys-cloud/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/gog-galaxy/windows.json

=== Install // e1c78c6b -> b8239380 ===

--- /tmp/old.kptZ28	2026-07-14 18:45:24.564140444 +0000
+++ /tmp/new.6RJr3H	2026-07-14 18:45:24.564140444 +0000
@@ -4,6 +4,7 @@
 # GOG Galaxy ships as an Inno Setup installer.
 
 $exeFilePath = "${env:INSTALLER_PATH}"
+$logFilePath = Join-Path $env:TEMP "gog-galaxy-install.log"
 
 try {
     if (-not (Test-Path $exeFilePath)) {
@@ -13,7 +14,7 @@
 
     $processOptions = @{
         FilePath = "$exeFilePath"
-        ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS"
+        ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS /LOG=`"$logFilePath`""
         PassThru = $true
         Wait = $true
         NoNewWindow = $true
@@ -22,6 +23,14 @@
     $process = Start-Process @processOptions
     $exitCode = $process.ExitCode
     Write-Host "Install exit code: $exitCode"
+
+    # On failure, surface the Inno Setup log so the error is visible in
+    # Fleet's script output instead of just a bare exit code.
+    if ($exitCode -ne 0 -and (Test-Path $logFilePath)) {
+        Write-Host "--- Inno Setup log (last 50 lines) ---"
+        Get-Content $logFilePath -Tail 50 | ForEach-Object { Write-Host $_ }
+    }
+
     Exit $exitCode
 
 } catch {

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/grammarly-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/granola/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/granola/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/groove-omnidialer/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/gyazo/darwin.json

=== Install // 32ab4ed1 -> 00de65f4 ===

--- /tmp/old.hcqXhJ	2026-07-14 18:45:24.711134821 +0000
+++ /tmp/new.oq2nDf	2026-07-14 18:45:24.711134821 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.gyazo.menu'
-sudo installer -pkg "$TMPDIR/Gyazo-10.11.0.pkg" -target /
+sudo installer -pkg "$TMPDIR/Gyazo-10.12.0.pkg" -target /
 relaunch_application 'com.gyazo.menu'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/hive-app/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/logseq/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/microsoft-365-copilot/darwin.json

=== Install // 67424985 -> 3198cbf9 ===

--- /tmp/old.UAbNMk	2026-07-14 18:45:24.959125335 +0000
+++ /tmp/new.Aci4So	2026-07-14 18:45:24.959125335 +0000
@@ -117,6 +117,6 @@
 
 EOF
 
-sudo installer -pkg "$TMPDIR"/Microsoft_365_Copilot_universal_1.2606.1501_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
+sudo installer -pkg "$TMPDIR"/Microsoft_365_Copilot_universal_1.2607.0602_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
 
 relaunch_application 'com.microsoft.m365copilot'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/milanote/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/mongodb-compass/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/nordvpn/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notepad++/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notepadexe/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notesnook/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notion/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notion/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/ollama/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/only-switch/darwin.json

=== Install Script (no changes) ===
=== Uninstall // c3c2aa39 -> d68f8240 ===

--- /tmp/old.2Nppjt	2026-07-14 18:45:25.255114012 +0000
+++ /tmp/new.umc52F	2026-07-14 18:45:25.255114012 +0000
@@ -53,7 +53,13 @@
 }
 
 sudo rm -rf "$APPDIR/Only Switch.app"
+trash $LOGGED_IN_USER '~/Library/Application Scripts/*.OnlySwitch.shared'
+trash $LOGGED_IN_USER '~/Library/Application Scripts/jacklandrin.OnlySwitch.OnlyWidget'
+trash $LOGGED_IN_USER '~/Library/Application Support/jacklandrin.OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Application Support/OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Caches/jacklandrin.OnlySwitch'
+trash $LOGGED_IN_USER '~/Library/Containers/jacklandrin.OnlySwitch.OnlyWidget'
+trash $LOGGED_IN_USER '~/Library/Group Containers/*.OnlySwitch.shared'
+trash $LOGGED_IN_USER '~/Library/HTTPStorages/jacklandrin.OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Preferences/jacklandrin.OnlySwitch.plist'

ee/maintained-apps/outputs/opencode-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/openinterminal/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/plex-media-server/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/postman/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/postman/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/reqable/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/reqable/windows.json

=== Install // d2ffec58 -> 99ad459f ===

--- /tmp/old.D01NO0	2026-07-14 18:45:25.446106707 +0000
+++ /tmp/new.8MHmnL	2026-07-14 18:45:25.446106707 +0000
@@ -1,13 +1,16 @@
 # Learn more about .exe install scripts:
 # http://fleetdm.com/learn-more-about/exe-install-scripts
+#
+# Reqable ships as an Inno Setup installer.
 
 $exeFilePath = "${env:INSTALLER_PATH}"
+$logFilePath = Join-Path $env:TEMP "reqable-install.log"
 
 try {
 
 $processOptions = @{
   FilePath = "$exeFilePath"
-  ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS"
+  ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS /LOG=`"$logFilePath`""
   PassThru = $true
   Wait = $true
   NoNewWindow = $true
@@ -17,6 +20,14 @@
 $exitCode = $process.ExitCode
 
 Write-Host "Install exit code: $exitCode"
+
+# On failure, surface the Inno Setup log so the error is visible in
+# Fleet's script output instead of just a bare exit code.
+if ($exitCode -ne 0 -and (Test-Path $logFilePath)) {
+  Write-Host "--- Inno Setup log (last 50 lines) ---"
+  Get-Content $logFilePath -Tail 50 | ForEach-Object { Write-Host $_ }
+}
+
 Exit $exitCode
 
 } catch {

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/rocket-chat/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/sketch/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/superhuman/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/superwhisper/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/swiftdialog/darwin.json

=== Install // a2e5b6be -> 2b532b1c ===

--- /tmp/old.bEuKGT	2026-07-14 18:45:25.601100778 +0000
+++ /tmp/new.Nn6PaH	2026-07-14 18:45:25.601100778 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'au.csiro.dialog'
-sudo installer -pkg "$TMPDIR/dialog-3.0.1-4955.pkg" -target /
+sudo installer -pkg "$TMPDIR/dialog-3.1.0-4994.pkg" -target /
 relaunch_application 'au.csiro.dialog'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/syncovery/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/telegram/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/wealthfolio/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/whatsapp/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

@coderabbitai coderabbitai Bot 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.

🧹 Nitpick comments (1)
ee/maintained-apps/inputs/winget/scripts/docker_install.ps1 (1)

6-17: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Use a singular noun for the function name.

To adhere to PowerShell naming conventions, consider renaming Write-InstallerLogs to Write-InstallerLog. The convention strongly favors singular nouns, even when handling multiple items (similar to how built-ins like Get-Process return multiple items).

If you decide to apply this, remember to also update the call sites on lines 43 and 50.

♻️ Proposed fix
-function Write-InstallerLogs {
+function Write-InstallerLog {
     $logCandidates = @(
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ee/maintained-apps/inputs/winget/scripts/docker_install.ps1` around lines 6 -
17, Rename the Write-InstallerLogs function to Write-InstallerLog to follow
PowerShell singular-noun naming conventions, and update every call site,
including the existing invocations around the installer execution paths.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@ee/maintained-apps/inputs/winget/scripts/docker_install.ps1`:
- Around line 6-17: Rename the Write-InstallerLogs function to
Write-InstallerLog to follow PowerShell singular-noun naming conventions, and
update every call site, including the existing invocations around the installer
execution paths.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 1f6f7ad3-7dfc-409a-a4a9-253d1c50ed6a

📥 Commits

Reviewing files that changed from the base of the PR and between 42229ef and a9eab16.

📒 Files selected for processing (8)
  • ee/maintained-apps/inputs/winget/scripts/discord_install.ps1
  • ee/maintained-apps/inputs/winget/scripts/docker_install.ps1
  • ee/maintained-apps/inputs/winget/scripts/gog-galaxy_install.ps1
  • ee/maintained-apps/inputs/winget/scripts/reqable_install.ps1
  • ee/maintained-apps/outputs/discord/windows.json
  • ee/maintained-apps/outputs/docker/windows.json
  • ee/maintained-apps/outputs/gog-galaxy/windows.json
  • ee/maintained-apps/outputs/reqable/windows.json

@github-actions

Copy link
Copy Markdown
Contributor

Closing in favor of #49285.

@github-actions

Copy link
Copy Markdown
Contributor

Script Diff Results

ee/maintained-apps/outputs/ableton-live-suite/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/amie/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/aptakube/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/asana/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/beekeeper-studio/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/bettertouchtool/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/blender/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/blender/windows.json

=== Install Script (no changes) ===
=== Uninstall // 9ffd9c0e -> 1d0744e6 ===

--- /tmp/old.MAH1UK	2026-07-14 19:34:59.193460731 +0000
+++ /tmp/new.VOC9lB	2026-07-14 19:34:59.193460731 +0000
@@ -6,7 +6,7 @@
 # 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
 $successCodes = @(0, 3010, 1641)
 
-foreach ($product_code in $inst.RelatedProducts('{4C6AD1CE-C11B-54CD-83AE-A801252310E4}')) {
+foreach ($product_code in $inst.RelatedProducts('{60132683-FE29-5605-8A63-E5B523FC4D5C}')) {
     $process = Start-Process msiexec -ArgumentList @("/quiet", "/x", $product_code, "/norestart") -PassThru
 
     # Wait for process with timeout

ee/maintained-apps/outputs/bruno/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/bruno/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/camo-studio/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/camtasia/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/chatgpt/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/claude/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cleanshot/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cmux/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/codexbar/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cursor/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/discord/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/discord/windows.json

=== Install // fd04e860 -> a51c4f49 ===

--- /tmp/old.5wsYIx	2026-07-14 19:34:59.662470960 +0000
+++ /tmp/new.OcZePv	2026-07-14 19:34:59.662470960 +0000
@@ -12,15 +12,36 @@
   FilePath = "$exeFilePath"
   ArgumentList = "-s"
   PassThru = $true
-  Wait = $true
 }
-    
-# Start process and track exit code
+
+# Start process and track exit code. Don't block indefinitely: the Squirrel
+# setup has been observed to hang without exiting. Bound the wait, and on
+# timeout kill the installer tree and surface the Squirrel logs.
 $process = Start-Process @processOptions
+$timedOut = $false
+if (-not $process.WaitForExit(8 * 60 * 1000)) {
+  $timedOut = $true
+  Write-Host "Installer did not exit within 8 minutes; killing process tree."
+  & taskkill /PID $process.Id /T /F | Out-Null
+  $process.WaitForExit(30 * 1000) | Out-Null
+}
 $exitCode = $process.ExitCode
 
 # Prints the exit code
 Write-Host "Install exit code: $exitCode"
+
+# On failure, surface the Squirrel setup logs so the error is visible in
+# Fleet's script output instead of just a bare exit code.
+if ($timedOut -or $exitCode -ne 0) {
+  foreach ($log in @("$env:LOCALAPPDATA\SquirrelTemp\SquirrelSetup.log", "$env:LOCALAPPDATA\Discord\SquirrelSetup.log")) {
+    if (Test-Path $log) {
+      Write-Host "--- $log (last 50 lines) ---"
+      Get-Content $log -Tail 50 | ForEach-Object { Write-Host $_ }
+    }
+  }
+}
+
+if ($timedOut) { Exit 1 }
 Exit $exitCode
 
 } catch {

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/docker-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/docker/windows.json

=== Install // b06042dd -> ec5be75b ===

--- /tmp/old.ucSGLJ	2026-07-14 19:34:59.746472792 +0000
+++ /tmp/new.OpzGmO	2026-07-14 19:34:59.746472792 +0000
@@ -3,6 +3,19 @@
 
 $exeFilePath = "${env:INSTALLER_PATH}"
 
+function Write-InstallerLogs {
+    $logCandidates = @(
+        "$env:LOCALAPPDATA\Docker\install-log*.txt",
+        "$env:ProgramData\DockerDesktop\install-log*.txt"
+    )
+    foreach ($pattern in $logCandidates) {
+        Get-ChildItem -Path $pattern -ErrorAction SilentlyContinue | ForEach-Object {
+            Write-Host "--- $($_.FullName) (last 50 lines) ---"
+            Get-Content $_.FullName -Tail 50 | ForEach-Object { Write-Host $_ }
+        }
+    }
+}
+
 try {
     # Docker Desktop 4.72+ added a per-user vs all-user install choice for
     # Windows. All-user silent installs hang on Windows Server runners
@@ -10,23 +23,31 @@
     # per-user with --user instead: no admin needed, target is
     # %LOCALAPPDATA%\Programs\DockerDesktop, and uninstall info is written to
     # HKCU. --accept-license suppresses the subscription agreement prompt.
-    Start-Process -FilePath "$exeFilePath" -ArgumentList "install","--user","--accept-license","--quiet" | Out-Null
+    $process = Start-Process -FilePath "$exeFilePath" -ArgumentList "install","--user","--accept-license","--quiet" -PassThru
 
     # The installer process can keep running for several minutes after the
     # app is registered with Windows. Poll the HKCU uninstall key (osquery's
     # programs table reads both HKLM and HKU) to detect when the core install
     # has completed, rather than blocking on Start-Process -Wait.
     $registryKey = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Docker Desktop"
-    $deadline = (Get-Date).AddMinutes(4)
+    $deadline = (Get-Date).AddMinutes(8)
     while ((Get-Date) -lt $deadline) {
         if (Get-ItemProperty -Path $registryKey -ErrorAction SilentlyContinue) {
             Write-Host "Docker Desktop registered in HKCU."
             Exit 0
         }
+        # If the installer already exited without registering the app, fail
+        # fast with its exit code and surface the installer logs.
+        if ($process.HasExited -and $process.ExitCode -ne 0) {
+            Write-Host "Installer exited with code $($process.ExitCode) before registering."
+            Write-InstallerLogs
+            Exit 1
+        }
         Start-Sleep -Seconds 10
     }
 
     Write-Host "Docker Desktop did not register within timeout."
+    Write-InstallerLogs
     Exit 1
 } catch {
     Write-Host "Error: $_"

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/downie/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/drawio/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/dropzone/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/elephas/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/elgato-camera-hub/darwin.json

=== Install // 5a67b73e -> a546f0ff ===

--- /tmp/old.MhdfOE	2026-07-14 19:34:59.965477569 +0000
+++ /tmp/new.QjOnPx	2026-07-14 19:34:59.965477569 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.elgato.CameraHub'
-sudo installer -pkg "$TMPDIR/CameraHub_2.2.1.6945.pkg" -target /
+sudo installer -pkg "$TMPDIR/CameraHub_2.3.0.7229.pkg" -target /
 relaunch_application 'com.elgato.CameraHub'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/fellow/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/firefox/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/franz/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/front/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/genesys-cloud/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/gog-galaxy/windows.json

=== Install // e1c78c6b -> b8239380 ===

--- /tmp/old.8R60Jl	2026-07-14 19:35:00.221483153 +0000
+++ /tmp/new.lg7smZ	2026-07-14 19:35:00.221483153 +0000
@@ -4,6 +4,7 @@
 # GOG Galaxy ships as an Inno Setup installer.
 
 $exeFilePath = "${env:INSTALLER_PATH}"
+$logFilePath = Join-Path $env:TEMP "gog-galaxy-install.log"
 
 try {
     if (-not (Test-Path $exeFilePath)) {
@@ -13,7 +14,7 @@
 
     $processOptions = @{
         FilePath = "$exeFilePath"
-        ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS"
+        ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS /LOG=`"$logFilePath`""
         PassThru = $true
         Wait = $true
         NoNewWindow = $true
@@ -22,6 +23,14 @@
     $process = Start-Process @processOptions
     $exitCode = $process.ExitCode
     Write-Host "Install exit code: $exitCode"
+
+    # On failure, surface the Inno Setup log so the error is visible in
+    # Fleet's script output instead of just a bare exit code.
+    if ($exitCode -ne 0 -and (Test-Path $logFilePath)) {
+        Write-Host "--- Inno Setup log (last 50 lines) ---"
+        Get-Content $logFilePath -Tail 50 | ForEach-Object { Write-Host $_ }
+    }
+
     Exit $exitCode
 
 } catch {

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/grammarly-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/granola/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/granola/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/groove-omnidialer/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/gyazo/darwin.json

=== Install // 32ab4ed1 -> 00de65f4 ===

--- /tmp/old.UaF1J1	2026-07-14 19:35:00.430487711 +0000
+++ /tmp/new.4nMJtY	2026-07-14 19:35:00.430487711 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.gyazo.menu'
-sudo installer -pkg "$TMPDIR/Gyazo-10.11.0.pkg" -target /
+sudo installer -pkg "$TMPDIR/Gyazo-10.12.0.pkg" -target /
 relaunch_application 'com.gyazo.menu'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/hive-app/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/logseq/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/microsoft-365-copilot/darwin.json

=== Install // 67424985 -> 3198cbf9 ===

--- /tmp/old.DuDScR	2026-07-14 19:35:00.569490743 +0000
+++ /tmp/new.sz7I0p	2026-07-14 19:35:00.569490743 +0000
@@ -117,6 +117,6 @@
 
 EOF
 
-sudo installer -pkg "$TMPDIR"/Microsoft_365_Copilot_universal_1.2606.1501_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
+sudo installer -pkg "$TMPDIR"/Microsoft_365_Copilot_universal_1.2607.0602_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
 
 relaunch_application 'com.microsoft.m365copilot'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/milanote/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/mongodb-compass/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/nordvpn/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notepad++/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notepadexe/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notesnook/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notion/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notion/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/ollama/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/only-switch/darwin.json

=== Install Script (no changes) ===
=== Uninstall // c3c2aa39 -> d68f8240 ===

--- /tmp/old.8Fc0IY	2026-07-14 19:35:00.967499424 +0000
+++ /tmp/new.AVdUZV	2026-07-14 19:35:00.967499424 +0000
@@ -53,7 +53,13 @@
 }
 
 sudo rm -rf "$APPDIR/Only Switch.app"
+trash $LOGGED_IN_USER '~/Library/Application Scripts/*.OnlySwitch.shared'
+trash $LOGGED_IN_USER '~/Library/Application Scripts/jacklandrin.OnlySwitch.OnlyWidget'
+trash $LOGGED_IN_USER '~/Library/Application Support/jacklandrin.OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Application Support/OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Caches/jacklandrin.OnlySwitch'
+trash $LOGGED_IN_USER '~/Library/Containers/jacklandrin.OnlySwitch.OnlyWidget'
+trash $LOGGED_IN_USER '~/Library/Group Containers/*.OnlySwitch.shared'
+trash $LOGGED_IN_USER '~/Library/HTTPStorages/jacklandrin.OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Preferences/jacklandrin.OnlySwitch.plist'

ee/maintained-apps/outputs/opencode-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/openinterminal/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/plex-media-server/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/postman/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/postman/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/reqable/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/reqable/windows.json

=== Install // d2ffec58 -> 99ad459f ===

--- /tmp/old.zMP0Rm	2026-07-14 19:35:01.235505269 +0000
+++ /tmp/new.y2YPVC	2026-07-14 19:35:01.235505269 +0000
@@ -1,13 +1,16 @@
 # Learn more about .exe install scripts:
 # http://fleetdm.com/learn-more-about/exe-install-scripts
+#
+# Reqable ships as an Inno Setup installer.
 
 $exeFilePath = "${env:INSTALLER_PATH}"
+$logFilePath = Join-Path $env:TEMP "reqable-install.log"
 
 try {
 
 $processOptions = @{
   FilePath = "$exeFilePath"
-  ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS"
+  ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS /LOG=`"$logFilePath`""
   PassThru = $true
   Wait = $true
   NoNewWindow = $true
@@ -17,6 +20,14 @@
 $exitCode = $process.ExitCode
 
 Write-Host "Install exit code: $exitCode"
+
+# On failure, surface the Inno Setup log so the error is visible in
+# Fleet's script output instead of just a bare exit code.
+if ($exitCode -ne 0 -and (Test-Path $logFilePath)) {
+  Write-Host "--- Inno Setup log (last 50 lines) ---"
+  Get-Content $logFilePath -Tail 50 | ForEach-Object { Write-Host $_ }
+}
+
 Exit $exitCode
 
 } catch {

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/rocket-chat/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/sketch/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/superhuman/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/superwhisper/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/swiftdialog/darwin.json

=== Install // a2e5b6be -> 2b532b1c ===

--- /tmp/old.3MKEG6	2026-07-14 19:35:01.455510068 +0000
+++ /tmp/new.6HE1dM	2026-07-14 19:35:01.455510068 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'au.csiro.dialog'
-sudo installer -pkg "$TMPDIR/dialog-3.0.1-4955.pkg" -target /
+sudo installer -pkg "$TMPDIR/dialog-3.1.0-4994.pkg" -target /
 relaunch_application 'au.csiro.dialog'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/syncovery/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/telegram/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/wealthfolio/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/whatsapp/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

Docker Desktop 4.82.0 exits 1 within seconds on the FMA validation
runner without writing any install log. Redirect the installer's
stdout/stderr to temp files and print them on failure so the actual
error is visible in Fleet's script output.

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

🧹 Nitpick comments (1)
ee/maintained-apps/inputs/winget/scripts/docker_install.ps1 (1)

9-9: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Use a singular noun for the function name.

As per PowerShell naming conventions, function and cmdlet names should use singular nouns. Consider renaming Write-InstallerLogs to Write-InstallerLog.

♻️ Proposed fix
-function Write-InstallerLogs {
+function Write-InstallerLog {

Make sure to also update the function calls on lines 48 and 55 to match the new name:

-            Write-InstallerLogs
+            Write-InstallerLog
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ee/maintained-apps/inputs/winget/scripts/docker_install.ps1` at line 9,
Rename the Write-InstallerLogs function to the singular Write-InstallerLog, and
update all calls to that function, including the references near lines 48 and
55, so they use the new name consistently.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@ee/maintained-apps/outputs/docker/windows.json`:
- Line 20: The polling loop must check for a failed, exited installer before
accepting HKCU registry registration. In the loop around $process and
$registryKey, move or reorder the $process.HasExited/$process.ExitCode failure
branch ahead of the registry check, while preserving successful registration as
an immediate success and retaining log output for failures.

---

Nitpick comments:
In `@ee/maintained-apps/inputs/winget/scripts/docker_install.ps1`:
- Line 9: Rename the Write-InstallerLogs function to the singular
Write-InstallerLog, and update all calls to that function, including the
references near lines 48 and 55, so they use the new name consistently.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8f3e1135-e7aa-4425-b961-7b840f8322b3

📥 Commits

Reviewing files that changed from the base of the PR and between a9eab16 and 2a8ef9e.

📒 Files selected for processing (2)
  • ee/maintained-apps/inputs/winget/scripts/docker_install.ps1
  • ee/maintained-apps/outputs/docker/windows.json

Comment thread ee/maintained-apps/outputs/docker/windows.json Outdated
@github-actions

Copy link
Copy Markdown
Contributor

Script Diff Results

ee/maintained-apps/outputs/ableton-live-suite/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/amie/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/aptakube/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/asana/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/beekeeper-studio/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/bettertouchtool/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/blender/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/blender/windows.json

=== Install Script (no changes) ===
=== Uninstall // 9ffd9c0e -> 1d0744e6 ===

--- /tmp/old.nR8LxW	2026-07-14 20:08:43.609431276 +0000
+++ /tmp/new.auwb4v	2026-07-14 20:08:43.609431276 +0000
@@ -6,7 +6,7 @@
 # 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
 $successCodes = @(0, 3010, 1641)
 
-foreach ($product_code in $inst.RelatedProducts('{4C6AD1CE-C11B-54CD-83AE-A801252310E4}')) {
+foreach ($product_code in $inst.RelatedProducts('{60132683-FE29-5605-8A63-E5B523FC4D5C}')) {
     $process = Start-Process msiexec -ArgumentList @("/quiet", "/x", $product_code, "/norestart") -PassThru
 
     # Wait for process with timeout

ee/maintained-apps/outputs/bruno/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/bruno/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/camo-studio/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/camtasia/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/chatgpt/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/claude/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cleanshot/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cmux/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/codexbar/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cursor/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/discord/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/discord/windows.json

=== Install // fd04e860 -> a51c4f49 ===

--- /tmp/old.sJoOVy	2026-07-14 20:08:44.108441054 +0000
+++ /tmp/new.MWl2kT	2026-07-14 20:08:44.108441054 +0000
@@ -12,15 +12,36 @@
   FilePath = "$exeFilePath"
   ArgumentList = "-s"
   PassThru = $true
-  Wait = $true
 }
-    
-# Start process and track exit code
+
+# Start process and track exit code. Don't block indefinitely: the Squirrel
+# setup has been observed to hang without exiting. Bound the wait, and on
+# timeout kill the installer tree and surface the Squirrel logs.
 $process = Start-Process @processOptions
+$timedOut = $false
+if (-not $process.WaitForExit(8 * 60 * 1000)) {
+  $timedOut = $true
+  Write-Host "Installer did not exit within 8 minutes; killing process tree."
+  & taskkill /PID $process.Id /T /F | Out-Null
+  $process.WaitForExit(30 * 1000) | Out-Null
+}
 $exitCode = $process.ExitCode
 
 # Prints the exit code
 Write-Host "Install exit code: $exitCode"
+
+# On failure, surface the Squirrel setup logs so the error is visible in
+# Fleet's script output instead of just a bare exit code.
+if ($timedOut -or $exitCode -ne 0) {
+  foreach ($log in @("$env:LOCALAPPDATA\SquirrelTemp\SquirrelSetup.log", "$env:LOCALAPPDATA\Discord\SquirrelSetup.log")) {
+    if (Test-Path $log) {
+      Write-Host "--- $log (last 50 lines) ---"
+      Get-Content $log -Tail 50 | ForEach-Object { Write-Host $_ }
+    }
+  }
+}
+
+if ($timedOut) { Exit 1 }
 Exit $exitCode
 
 } catch {

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/docker-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/docker/windows.json

=== Install // ec5be75b -> fc4ed569 ===

--- /tmp/old.UswHMJ	2026-07-14 20:08:44.194442739 +0000
+++ /tmp/new.xeUTlU	2026-07-14 20:08:44.195442758 +0000
@@ -3,13 +3,18 @@
 
 $exeFilePath = "${env:INSTALLER_PATH}"
 
+$stdoutLog = Join-Path $env:TEMP "docker-install-stdout.log"
+$stderrLog = Join-Path $env:TEMP "docker-install-stderr.log"
+
 function Write-InstallerLogs {
     $logCandidates = @(
+        $stdoutLog,
+        $stderrLog,
         "$env:LOCALAPPDATA\Docker\install-log*.txt",
         "$env:ProgramData\DockerDesktop\install-log*.txt"
     )
     foreach ($pattern in $logCandidates) {
-        Get-ChildItem -Path $pattern -ErrorAction SilentlyContinue | ForEach-Object {
+        Get-ChildItem -Path $pattern -ErrorAction SilentlyContinue | Where-Object { $_.Length -gt 0 } | ForEach-Object {
             Write-Host "--- $($_.FullName) (last 50 lines) ---"
             Get-Content $_.FullName -Tail 50 | ForEach-Object { Write-Host $_ }
         }
@@ -23,7 +28,7 @@
     # per-user with --user instead: no admin needed, target is
     # %LOCALAPPDATA%\Programs\DockerDesktop, and uninstall info is written to
     # HKCU. --accept-license suppresses the subscription agreement prompt.
-    $process = Start-Process -FilePath "$exeFilePath" -ArgumentList "install","--user","--accept-license","--quiet" -PassThru
+    $process = Start-Process -FilePath "$exeFilePath" -ArgumentList "install","--user","--accept-license","--quiet" -PassThru -RedirectStandardOutput $stdoutLog -RedirectStandardError $stderrLog
 
     # The installer process can keep running for several minutes after the
     # app is registered with Windows. Poll the HKCU uninstall key (osquery's

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/downie/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/drawio/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/dropzone/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/elephas/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/elgato-camera-hub/darwin.json

=== Install // 5a67b73e -> a546f0ff ===

--- /tmp/old.pmlbMd	2026-07-14 20:08:44.423447226 +0000
+++ /tmp/new.A51zYu	2026-07-14 20:08:44.423447226 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.elgato.CameraHub'
-sudo installer -pkg "$TMPDIR/CameraHub_2.2.1.6945.pkg" -target /
+sudo installer -pkg "$TMPDIR/CameraHub_2.3.0.7229.pkg" -target /
 relaunch_application 'com.elgato.CameraHub'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/fellow/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/firefox/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/franz/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/front/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/genesys-cloud/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/gog-galaxy/windows.json

=== Install // e1c78c6b -> b8239380 ===

--- /tmp/old.uBHJeg	2026-07-14 20:08:44.693452516 +0000
+++ /tmp/new.Pj4YSS	2026-07-14 20:08:44.693452516 +0000
@@ -4,6 +4,7 @@
 # GOG Galaxy ships as an Inno Setup installer.
 
 $exeFilePath = "${env:INSTALLER_PATH}"
+$logFilePath = Join-Path $env:TEMP "gog-galaxy-install.log"
 
 try {
     if (-not (Test-Path $exeFilePath)) {
@@ -13,7 +14,7 @@
 
     $processOptions = @{
         FilePath = "$exeFilePath"
-        ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS"
+        ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS /LOG=`"$logFilePath`""
         PassThru = $true
         Wait = $true
         NoNewWindow = $true
@@ -22,6 +23,14 @@
     $process = Start-Process @processOptions
     $exitCode = $process.ExitCode
     Write-Host "Install exit code: $exitCode"
+
+    # On failure, surface the Inno Setup log so the error is visible in
+    # Fleet's script output instead of just a bare exit code.
+    if ($exitCode -ne 0 -and (Test-Path $logFilePath)) {
+        Write-Host "--- Inno Setup log (last 50 lines) ---"
+        Get-Content $logFilePath -Tail 50 | ForEach-Object { Write-Host $_ }
+    }
+
     Exit $exitCode
 
 } catch {

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/grammarly-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/granola/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/granola/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/groove-omnidialer/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/gyazo/darwin.json

=== Install // 32ab4ed1 -> 00de65f4 ===

--- /tmp/old.4PJY4g	2026-07-14 20:08:44.910456768 +0000
+++ /tmp/new.MDGrtz	2026-07-14 20:08:44.911456788 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.gyazo.menu'
-sudo installer -pkg "$TMPDIR/Gyazo-10.11.0.pkg" -target /
+sudo installer -pkg "$TMPDIR/Gyazo-10.12.0.pkg" -target /
 relaunch_application 'com.gyazo.menu'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/hive-app/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/logseq/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/microsoft-365-copilot/darwin.json

=== Install // 67424985 -> 3198cbf9 ===

--- /tmp/old.nOP0zq	2026-07-14 20:08:45.053459570 +0000
+++ /tmp/new.TbB5zr	2026-07-14 20:08:45.054459590 +0000
@@ -117,6 +117,6 @@
 
 EOF
 
-sudo installer -pkg "$TMPDIR"/Microsoft_365_Copilot_universal_1.2606.1501_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
+sudo installer -pkg "$TMPDIR"/Microsoft_365_Copilot_universal_1.2607.0602_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
 
 relaunch_application 'com.microsoft.m365copilot'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/milanote/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/mongodb-compass/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/nordvpn/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notepad++/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notepadexe/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notesnook/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notion/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notion/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/ollama/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/only-switch/darwin.json

=== Install Script (no changes) ===
=== Uninstall // c3c2aa39 -> d68f8240 ===

--- /tmp/old.sZvkCN	2026-07-14 20:08:45.468467701 +0000
+++ /tmp/new.FjSMnc	2026-07-14 20:08:45.469467721 +0000
@@ -53,7 +53,13 @@
 }
 
 sudo rm -rf "$APPDIR/Only Switch.app"
+trash $LOGGED_IN_USER '~/Library/Application Scripts/*.OnlySwitch.shared'
+trash $LOGGED_IN_USER '~/Library/Application Scripts/jacklandrin.OnlySwitch.OnlyWidget'
+trash $LOGGED_IN_USER '~/Library/Application Support/jacklandrin.OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Application Support/OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Caches/jacklandrin.OnlySwitch'
+trash $LOGGED_IN_USER '~/Library/Containers/jacklandrin.OnlySwitch.OnlyWidget'
+trash $LOGGED_IN_USER '~/Library/Group Containers/*.OnlySwitch.shared'
+trash $LOGGED_IN_USER '~/Library/HTTPStorages/jacklandrin.OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Preferences/jacklandrin.OnlySwitch.plist'

ee/maintained-apps/outputs/opencode-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/openinterminal/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/plex-media-server/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/postman/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/postman/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/reqable/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/reqable/windows.json

=== Install // d2ffec58 -> 99ad459f ===

--- /tmp/old.a9twi8	2026-07-14 20:08:45.761473442 +0000
+++ /tmp/new.tmpD6J	2026-07-14 20:08:45.762473462 +0000
@@ -1,13 +1,16 @@
 # Learn more about .exe install scripts:
 # http://fleetdm.com/learn-more-about/exe-install-scripts
+#
+# Reqable ships as an Inno Setup installer.
 
 $exeFilePath = "${env:INSTALLER_PATH}"
+$logFilePath = Join-Path $env:TEMP "reqable-install.log"
 
 try {
 
 $processOptions = @{
   FilePath = "$exeFilePath"
-  ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS"
+  ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS /LOG=`"$logFilePath`""
   PassThru = $true
   Wait = $true
   NoNewWindow = $true
@@ -17,6 +20,14 @@
 $exitCode = $process.ExitCode
 
 Write-Host "Install exit code: $exitCode"
+
+# On failure, surface the Inno Setup log so the error is visible in
+# Fleet's script output instead of just a bare exit code.
+if ($exitCode -ne 0 -and (Test-Path $logFilePath)) {
+  Write-Host "--- Inno Setup log (last 50 lines) ---"
+  Get-Content $logFilePath -Tail 50 | ForEach-Object { Write-Host $_ }
+}
+
 Exit $exitCode
 
 } catch {

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/rocket-chat/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/sketch/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/superhuman/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/superwhisper/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/swiftdialog/darwin.json

=== Install // a2e5b6be -> 2b532b1c ===

--- /tmp/old.InSNVe	2026-07-14 20:08:46.002478165 +0000
+++ /tmp/new.iIMMdh	2026-07-14 20:08:46.002478165 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'au.csiro.dialog'
-sudo installer -pkg "$TMPDIR/dialog-3.0.1-4955.pkg" -target /
+sudo installer -pkg "$TMPDIR/dialog-3.1.0-4994.pkg" -target /
 relaunch_application 'au.csiro.dialog'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/syncovery/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/telegram/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/wealthfolio/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/whatsapp/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

@github-actions

Copy link
Copy Markdown
Contributor

Closing in favor of #49299.

@github-actions github-actions Bot closed this Jul 14, 2026
…dable

Without touching .Handle before the process exits, PowerShell reports
$null for .ExitCode, which made the failure message print an empty
exit code.
@github-actions

Copy link
Copy Markdown
Contributor

Script Diff Results

ee/maintained-apps/outputs/ableton-live-suite/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/amie/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/aptakube/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/asana/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/beekeeper-studio/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/bettertouchtool/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/blender/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/blender/windows.json

=== Install Script (no changes) ===
=== Uninstall // 9ffd9c0e -> 1d0744e6 ===

--- /tmp/old.92BXRJ	2026-07-14 20:32:10.068761456 +0000
+++ /tmp/new.t70JRN	2026-07-14 20:32:10.068761456 +0000
@@ -6,7 +6,7 @@
 # 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
 $successCodes = @(0, 3010, 1641)
 
-foreach ($product_code in $inst.RelatedProducts('{4C6AD1CE-C11B-54CD-83AE-A801252310E4}')) {
+foreach ($product_code in $inst.RelatedProducts('{60132683-FE29-5605-8A63-E5B523FC4D5C}')) {
     $process = Start-Process msiexec -ArgumentList @("/quiet", "/x", $product_code, "/norestart") -PassThru
 
     # Wait for process with timeout

ee/maintained-apps/outputs/bruno/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/bruno/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/camo-studio/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/camtasia/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/chatgpt/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/claude/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cleanshot/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cmux/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/codexbar/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cursor/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/discord/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/discord/windows.json

=== Install // fd04e860 -> a51c4f49 ===

--- /tmp/old.1Bi1gK	2026-07-14 20:32:10.532765266 +0000
+++ /tmp/new.jkh5vw	2026-07-14 20:32:10.532765266 +0000
@@ -12,15 +12,36 @@
   FilePath = "$exeFilePath"
   ArgumentList = "-s"
   PassThru = $true
-  Wait = $true
 }
-    
-# Start process and track exit code
+
+# Start process and track exit code. Don't block indefinitely: the Squirrel
+# setup has been observed to hang without exiting. Bound the wait, and on
+# timeout kill the installer tree and surface the Squirrel logs.
 $process = Start-Process @processOptions
+$timedOut = $false
+if (-not $process.WaitForExit(8 * 60 * 1000)) {
+  $timedOut = $true
+  Write-Host "Installer did not exit within 8 minutes; killing process tree."
+  & taskkill /PID $process.Id /T /F | Out-Null
+  $process.WaitForExit(30 * 1000) | Out-Null
+}
 $exitCode = $process.ExitCode
 
 # Prints the exit code
 Write-Host "Install exit code: $exitCode"
+
+# On failure, surface the Squirrel setup logs so the error is visible in
+# Fleet's script output instead of just a bare exit code.
+if ($timedOut -or $exitCode -ne 0) {
+  foreach ($log in @("$env:LOCALAPPDATA\SquirrelTemp\SquirrelSetup.log", "$env:LOCALAPPDATA\Discord\SquirrelSetup.log")) {
+    if (Test-Path $log) {
+      Write-Host "--- $log (last 50 lines) ---"
+      Get-Content $log -Tail 50 | ForEach-Object { Write-Host $_ }
+    }
+  }
+}
+
+if ($timedOut) { Exit 1 }
 Exit $exitCode
 
 } catch {

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/docker-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/docker/windows.json

=== Install // fc4ed569 -> f6c096eb ===

--- /tmp/old.MQnhW0	2026-07-14 20:32:10.614765939 +0000
+++ /tmp/new.wkZa36	2026-07-14 20:32:10.614765939 +0000
@@ -29,6 +29,9 @@
     # %LOCALAPPDATA%\Programs\DockerDesktop, and uninstall info is written to
     # HKCU. --accept-license suppresses the subscription agreement prompt.
     $process = Start-Process -FilePath "$exeFilePath" -ArgumentList "install","--user","--accept-license","--quiet" -PassThru -RedirectStandardOutput $stdoutLog -RedirectStandardError $stderrLog
+    # Cache the process handle; without this, .ExitCode is $null once the
+    # process exits.
+    $null = $process.Handle
 
     # The installer process can keep running for several minutes after the
     # app is registered with Windows. Poll the HKCU uninstall key (osquery's

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/downie/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/drawio/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/dropzone/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/elephas/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/elgato-camera-hub/darwin.json

=== Install // 5a67b73e -> a546f0ff ===

--- /tmp/old.EayB4c	2026-07-14 20:32:10.824767663 +0000
+++ /tmp/new.jjoJIL	2026-07-14 20:32:10.825767671 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.elgato.CameraHub'
-sudo installer -pkg "$TMPDIR/CameraHub_2.2.1.6945.pkg" -target /
+sudo installer -pkg "$TMPDIR/CameraHub_2.3.0.7229.pkg" -target /
 relaunch_application 'com.elgato.CameraHub'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/fellow/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/firefox/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/franz/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/front/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/genesys-cloud/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/gog-galaxy/windows.json

=== Install // e1c78c6b -> b8239380 ===

--- /tmp/old.OSmJ0A	2026-07-14 20:32:11.072769699 +0000
+++ /tmp/new.ldb8Fl	2026-07-14 20:32:11.072769699 +0000
@@ -4,6 +4,7 @@
 # GOG Galaxy ships as an Inno Setup installer.
 
 $exeFilePath = "${env:INSTALLER_PATH}"
+$logFilePath = Join-Path $env:TEMP "gog-galaxy-install.log"
 
 try {
     if (-not (Test-Path $exeFilePath)) {
@@ -13,7 +14,7 @@
 
     $processOptions = @{
         FilePath = "$exeFilePath"
-        ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS"
+        ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS /LOG=`"$logFilePath`""
         PassThru = $true
         Wait = $true
         NoNewWindow = $true
@@ -22,6 +23,14 @@
     $process = Start-Process @processOptions
     $exitCode = $process.ExitCode
     Write-Host "Install exit code: $exitCode"
+
+    # On failure, surface the Inno Setup log so the error is visible in
+    # Fleet's script output instead of just a bare exit code.
+    if ($exitCode -ne 0 -and (Test-Path $logFilePath)) {
+        Write-Host "--- Inno Setup log (last 50 lines) ---"
+        Get-Content $logFilePath -Tail 50 | ForEach-Object { Write-Host $_ }
+    }
+
     Exit $exitCode
 
 } catch {

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/grammarly-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/granola/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/granola/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/groove-omnidialer/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/gyazo/darwin.json

=== Install // 32ab4ed1 -> 00de65f4 ===

--- /tmp/old.pW91vV	2026-07-14 20:32:11.271771333 +0000
+++ /tmp/new.u9beCg	2026-07-14 20:32:11.271771333 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.gyazo.menu'
-sudo installer -pkg "$TMPDIR/Gyazo-10.11.0.pkg" -target /
+sudo installer -pkg "$TMPDIR/Gyazo-10.12.0.pkg" -target /
 relaunch_application 'com.gyazo.menu'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/hive-app/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/logseq/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/microsoft-365-copilot/darwin.json

=== Install // 67424985 -> 3198cbf9 ===

--- /tmp/old.fm0DAV	2026-07-14 20:32:11.404772426 +0000
+++ /tmp/new.Io51Wb	2026-07-14 20:32:11.404772426 +0000
@@ -117,6 +117,6 @@
 
 EOF
 
-sudo installer -pkg "$TMPDIR"/Microsoft_365_Copilot_universal_1.2606.1501_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
+sudo installer -pkg "$TMPDIR"/Microsoft_365_Copilot_universal_1.2607.0602_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
 
 relaunch_application 'com.microsoft.m365copilot'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/milanote/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/mongodb-compass/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/nordvpn/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notepad++/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notepadexe/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notesnook/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notion/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notion/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/ollama/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/only-switch/darwin.json

=== Install Script (no changes) ===
=== Uninstall // c3c2aa39 -> d68f8240 ===

--- /tmp/old.sog2Qu	2026-07-14 20:32:11.792775611 +0000
+++ /tmp/new.zqh3Sk	2026-07-14 20:32:11.792775611 +0000
@@ -53,7 +53,13 @@
 }
 
 sudo rm -rf "$APPDIR/Only Switch.app"
+trash $LOGGED_IN_USER '~/Library/Application Scripts/*.OnlySwitch.shared'
+trash $LOGGED_IN_USER '~/Library/Application Scripts/jacklandrin.OnlySwitch.OnlyWidget'
+trash $LOGGED_IN_USER '~/Library/Application Support/jacklandrin.OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Application Support/OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Caches/jacklandrin.OnlySwitch'
+trash $LOGGED_IN_USER '~/Library/Containers/jacklandrin.OnlySwitch.OnlyWidget'
+trash $LOGGED_IN_USER '~/Library/Group Containers/*.OnlySwitch.shared'
+trash $LOGGED_IN_USER '~/Library/HTTPStorages/jacklandrin.OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Preferences/jacklandrin.OnlySwitch.plist'

ee/maintained-apps/outputs/opencode-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/openinterminal/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/plex-media-server/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/postman/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/postman/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/reqable/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/reqable/windows.json

=== Install // d2ffec58 -> 99ad459f ===

--- /tmp/old.U9ZYx9	2026-07-14 20:32:12.051777738 +0000
+++ /tmp/new.oINDWo	2026-07-14 20:32:12.052777746 +0000
@@ -1,13 +1,16 @@
 # Learn more about .exe install scripts:
 # http://fleetdm.com/learn-more-about/exe-install-scripts
+#
+# Reqable ships as an Inno Setup installer.
 
 $exeFilePath = "${env:INSTALLER_PATH}"
+$logFilePath = Join-Path $env:TEMP "reqable-install.log"
 
 try {
 
 $processOptions = @{
   FilePath = "$exeFilePath"
-  ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS"
+  ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS /LOG=`"$logFilePath`""
   PassThru = $true
   Wait = $true
   NoNewWindow = $true
@@ -17,6 +20,14 @@
 $exitCode = $process.ExitCode
 
 Write-Host "Install exit code: $exitCode"
+
+# On failure, surface the Inno Setup log so the error is visible in
+# Fleet's script output instead of just a bare exit code.
+if ($exitCode -ne 0 -and (Test-Path $logFilePath)) {
+  Write-Host "--- Inno Setup log (last 50 lines) ---"
+  Get-Content $logFilePath -Tail 50 | ForEach-Object { Write-Host $_ }
+}
+
 Exit $exitCode
 
 } catch {

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/rocket-chat/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/sketch/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/superhuman/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/superwhisper/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/swiftdialog/darwin.json

=== Install // a2e5b6be -> 2b532b1c ===

--- /tmp/old.3U5ijc	2026-07-14 20:32:12.263779479 +0000
+++ /tmp/new.QmWdkt	2026-07-14 20:32:12.264779487 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'au.csiro.dialog'
-sudo installer -pkg "$TMPDIR/dialog-3.0.1-4955.pkg" -target /
+sudo installer -pkg "$TMPDIR/dialog-3.1.0-4994.pkg" -target /
 relaunch_application 'au.csiro.dialog'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/syncovery/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/telegram/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/wealthfolio/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/whatsapp/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

@github-actions

Copy link
Copy Markdown
Contributor

Script Diff Results

ee/maintained-apps/outputs/ableton-live-suite/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/amie/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/aptakube/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/asana/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/beekeeper-studio/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/bettertouchtool/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/blender/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/blender/windows.json

=== Install Script (no changes) ===
=== Uninstall // 9ffd9c0e -> 1d0744e6 ===

--- /tmp/old.j2PTSX	2026-07-14 20:32:12.172149760 +0000
+++ /tmp/new.mHaLz6	2026-07-14 20:32:12.172149760 +0000
@@ -6,7 +6,7 @@
 # 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
 $successCodes = @(0, 3010, 1641)
 
-foreach ($product_code in $inst.RelatedProducts('{4C6AD1CE-C11B-54CD-83AE-A801252310E4}')) {
+foreach ($product_code in $inst.RelatedProducts('{60132683-FE29-5605-8A63-E5B523FC4D5C}')) {
     $process = Start-Process msiexec -ArgumentList @("/quiet", "/x", $product_code, "/norestart") -PassThru
 
     # Wait for process with timeout

ee/maintained-apps/outputs/bruno/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/bruno/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/camo-studio/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/camtasia/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/chatgpt/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/claude/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cleanshot/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cmux/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/codexbar/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/cursor/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/discord/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/discord/windows.json

=== Install // fd04e860 -> a51c4f49 ===

--- /tmp/old.aHzkMF	2026-07-14 20:32:12.567146688 +0000
+++ /tmp/new.6kPPyE	2026-07-14 20:32:12.567146688 +0000
@@ -12,15 +12,36 @@
   FilePath = "$exeFilePath"
   ArgumentList = "-s"
   PassThru = $true
-  Wait = $true
 }
-    
-# Start process and track exit code
+
+# Start process and track exit code. Don't block indefinitely: the Squirrel
+# setup has been observed to hang without exiting. Bound the wait, and on
+# timeout kill the installer tree and surface the Squirrel logs.
 $process = Start-Process @processOptions
+$timedOut = $false
+if (-not $process.WaitForExit(8 * 60 * 1000)) {
+  $timedOut = $true
+  Write-Host "Installer did not exit within 8 minutes; killing process tree."
+  & taskkill /PID $process.Id /T /F | Out-Null
+  $process.WaitForExit(30 * 1000) | Out-Null
+}
 $exitCode = $process.ExitCode
 
 # Prints the exit code
 Write-Host "Install exit code: $exitCode"
+
+# On failure, surface the Squirrel setup logs so the error is visible in
+# Fleet's script output instead of just a bare exit code.
+if ($timedOut -or $exitCode -ne 0) {
+  foreach ($log in @("$env:LOCALAPPDATA\SquirrelTemp\SquirrelSetup.log", "$env:LOCALAPPDATA\Discord\SquirrelSetup.log")) {
+    if (Test-Path $log) {
+      Write-Host "--- $log (last 50 lines) ---"
+      Get-Content $log -Tail 50 | ForEach-Object { Write-Host $_ }
+    }
+  }
+}
+
+if ($timedOut) { Exit 1 }
 Exit $exitCode
 
 } catch {

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/docker-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/docker/windows.json

=== Install // fc4ed569 -> f6c096eb ===

--- /tmp/old.kLKLBO	2026-07-14 20:32:12.636146152 +0000
+++ /tmp/new.hK3ec7	2026-07-14 20:32:12.636146152 +0000
@@ -29,6 +29,9 @@
     # %LOCALAPPDATA%\Programs\DockerDesktop, and uninstall info is written to
     # HKCU. --accept-license suppresses the subscription agreement prompt.
     $process = Start-Process -FilePath "$exeFilePath" -ArgumentList "install","--user","--accept-license","--quiet" -PassThru -RedirectStandardOutput $stdoutLog -RedirectStandardError $stderrLog
+    # Cache the process handle; without this, .ExitCode is $null once the
+    # process exits.
+    $null = $process.Handle
 
     # The installer process can keep running for several minutes after the
     # app is registered with Windows. Poll the HKCU uninstall key (osquery's

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/downie/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/drawio/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/dropzone/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/elephas/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/elgato-camera-hub/darwin.json

=== Install // 5a67b73e -> a546f0ff ===

--- /tmp/old.pSpgWD	2026-07-14 20:32:12.819144729 +0000
+++ /tmp/new.csPMPY	2026-07-14 20:32:12.820144721 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.elgato.CameraHub'
-sudo installer -pkg "$TMPDIR/CameraHub_2.2.1.6945.pkg" -target /
+sudo installer -pkg "$TMPDIR/CameraHub_2.3.0.7229.pkg" -target /
 relaunch_application 'com.elgato.CameraHub'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/fellow/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/firefox/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/franz/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/front/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/genesys-cloud/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/gog-galaxy/windows.json

=== Install // e1c78c6b -> b8239380 ===

--- /tmp/old.zIQMvU	2026-07-14 20:32:13.027143111 +0000
+++ /tmp/new.wGVmRk	2026-07-14 20:32:13.027143111 +0000
@@ -4,6 +4,7 @@
 # GOG Galaxy ships as an Inno Setup installer.
 
 $exeFilePath = "${env:INSTALLER_PATH}"
+$logFilePath = Join-Path $env:TEMP "gog-galaxy-install.log"
 
 try {
     if (-not (Test-Path $exeFilePath)) {
@@ -13,7 +14,7 @@
 
     $processOptions = @{
         FilePath = "$exeFilePath"
-        ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS"
+        ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS /LOG=`"$logFilePath`""
         PassThru = $true
         Wait = $true
         NoNewWindow = $true
@@ -22,6 +23,14 @@
     $process = Start-Process @processOptions
     $exitCode = $process.ExitCode
     Write-Host "Install exit code: $exitCode"
+
+    # On failure, surface the Inno Setup log so the error is visible in
+    # Fleet's script output instead of just a bare exit code.
+    if ($exitCode -ne 0 -and (Test-Path $logFilePath)) {
+        Write-Host "--- Inno Setup log (last 50 lines) ---"
+        Get-Content $logFilePath -Tail 50 | ForEach-Object { Write-Host $_ }
+    }
+
     Exit $exitCode
 
 } catch {

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/grammarly-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/granola/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/granola/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/groove-omnidialer/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/gyazo/darwin.json

=== Install // 32ab4ed1 -> 00de65f4 ===

--- /tmp/old.sohTP4	2026-07-14 20:32:13.203141743 +0000
+++ /tmp/new.ZgJ4q1	2026-07-14 20:32:13.203141743 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.gyazo.menu'
-sudo installer -pkg "$TMPDIR/Gyazo-10.11.0.pkg" -target /
+sudo installer -pkg "$TMPDIR/Gyazo-10.12.0.pkg" -target /
 relaunch_application 'com.gyazo.menu'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/hive-app/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/logseq/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/microsoft-365-copilot/darwin.json

=== Install // 67424985 -> 3198cbf9 ===

--- /tmp/old.TOEpUE	2026-07-14 20:32:13.319140841 +0000
+++ /tmp/new.WEMKF2	2026-07-14 20:32:13.319140841 +0000
@@ -117,6 +117,6 @@
 
 EOF
 
-sudo installer -pkg "$TMPDIR"/Microsoft_365_Copilot_universal_1.2606.1501_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
+sudo installer -pkg "$TMPDIR"/Microsoft_365_Copilot_universal_1.2607.0602_Installer.pkg -target / -applyChoiceChangesXML "$CHOICE_XML"
 
 relaunch_application 'com.microsoft.m365copilot'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/milanote/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/mongodb-compass/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/nordvpn/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notepad++/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notepadexe/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notesnook/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notion/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/notion/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/ollama/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/only-switch/darwin.json

=== Install Script (no changes) ===
=== Uninstall // c3c2aa39 -> d68f8240 ===

--- /tmp/old.t5in3e	2026-07-14 20:32:13.650138267 +0000
+++ /tmp/new.br6qth	2026-07-14 20:32:13.650138267 +0000
@@ -53,7 +53,13 @@
 }
 
 sudo rm -rf "$APPDIR/Only Switch.app"
+trash $LOGGED_IN_USER '~/Library/Application Scripts/*.OnlySwitch.shared'
+trash $LOGGED_IN_USER '~/Library/Application Scripts/jacklandrin.OnlySwitch.OnlyWidget'
+trash $LOGGED_IN_USER '~/Library/Application Support/jacklandrin.OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Application Support/OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Caches/jacklandrin.OnlySwitch'
+trash $LOGGED_IN_USER '~/Library/Containers/jacklandrin.OnlySwitch.OnlyWidget'
+trash $LOGGED_IN_USER '~/Library/Group Containers/*.OnlySwitch.shared'
+trash $LOGGED_IN_USER '~/Library/HTTPStorages/jacklandrin.OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/OnlySwitch'
 trash $LOGGED_IN_USER '~/Library/Preferences/jacklandrin.OnlySwitch.plist'

ee/maintained-apps/outputs/opencode-desktop/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/openinterminal/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/plex-media-server/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/postman/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/postman/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/reqable/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/reqable/windows.json

=== Install // d2ffec58 -> 99ad459f ===

--- /tmp/old.LtBKFG	2026-07-14 20:32:13.870136556 +0000
+++ /tmp/new.pIifeL	2026-07-14 20:32:13.870136556 +0000
@@ -1,13 +1,16 @@
 # Learn more about .exe install scripts:
 # http://fleetdm.com/learn-more-about/exe-install-scripts
+#
+# Reqable ships as an Inno Setup installer.
 
 $exeFilePath = "${env:INSTALLER_PATH}"
+$logFilePath = Join-Path $env:TEMP "reqable-install.log"
 
 try {
 
 $processOptions = @{
   FilePath = "$exeFilePath"
-  ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS"
+  ArgumentList = "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS /LOG=`"$logFilePath`""
   PassThru = $true
   Wait = $true
   NoNewWindow = $true
@@ -17,6 +20,14 @@
 $exitCode = $process.ExitCode
 
 Write-Host "Install exit code: $exitCode"
+
+# On failure, surface the Inno Setup log so the error is visible in
+# Fleet's script output instead of just a bare exit code.
+if ($exitCode -ne 0 -and (Test-Path $logFilePath)) {
+  Write-Host "--- Inno Setup log (last 50 lines) ---"
+  Get-Content $logFilePath -Tail 50 | ForEach-Object { Write-Host $_ }
+}
+
 Exit $exitCode
 
 } catch {

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/rocket-chat/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/sketch/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/superhuman/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/superwhisper/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/swiftdialog/darwin.json

=== Install // a2e5b6be -> 2b532b1c ===

--- /tmp/old.XbZ9No	2026-07-14 20:32:14.051135149 +0000
+++ /tmp/new.GF5boJ	2026-07-14 20:32:14.051135149 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'au.csiro.dialog'
-sudo installer -pkg "$TMPDIR/dialog-3.0.1-4955.pkg" -target /
+sudo installer -pkg "$TMPDIR/dialog-3.1.0-4994.pkg" -target /
 relaunch_application 'au.csiro.dialog'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/syncovery/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/telegram/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/wealthfolio/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/whatsapp/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

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.

2 participants