Update install script and Fleet-maintained apps - #50499
Conversation
Generated automatically with cmd/maintained-apps.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
WalkthroughThis pull request updates maintained-app metadata for macOS and Windows. Windows installer scripts now quote MSI log paths and treat exit codes 0, 3010, and 1641 as successful. Application entries also update versions, patched-version queries, installer URLs, script references, and SHA-256 checksums. The Google Credential Provider configuration adds Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 8
🤖 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/8x8-work/darwin.json`:
- Around line 4-12: The sha256 value for the 8x8-work darwin.json entry (version
8.36.2) is malformed, containing only 63 hex characters instead of the required
64. Recompute the correct SHA-256 digest for the installer artifact at the
specified installer_url and replace the truncated sha256 field with the correct
64-character hexadecimal checksum.
In `@ee/maintained-apps/outputs/bluej/windows.json`:
- Line 19: Update the BlueJ install script for ref 85459eac to define the
standard success codes 0, 3010, and 1641, then evaluate $installProcess.ExitCode
against them before exiting. Return success for all three codes and preserve the
existing failure handling for other exit codes.
In `@ee/maintained-apps/outputs/box-tools/windows.json`:
- Line 20: Replace the unbounded Start-Process msiexec.exe -Wait flow with a
bounded installProcess wait, using WaitForExit() with a defined timeout and
failing the installation if the timeout expires; preserve exit-code handling for
completed processes. Apply this in
ee/maintained-apps/outputs/box-tools/windows.json:20-20,
ee/maintained-apps/outputs/wrike/windows.json:20-20,
ee/maintained-apps/outputs/nextcloud/windows.json:20-20,
ee/maintained-apps/outputs/ibm-semeru-jdk-8/windows.json:21-21,
ee/maintained-apps/outputs/draftable-desktop/windows.json:20-20,
ee/maintained-apps/outputs/crestron-airmedia-peripherals/windows.json:20-20, and
ee/maintained-apps/outputs/crashplan/windows.json:20-20.
In
`@ee/maintained-apps/outputs/google-credential-provider-for-windows/windows.json`:
- Line 10: Update the uninstall script referenced by install_script_ref 22e48c46
to define successCodes as 0, 3010, and 1641 and use it when evaluating
process.ExitCode, matching the existing uninstall-script pattern so
reboot-required and reboot-initiated results are treated as successful.
In `@ee/maintained-apps/outputs/gotomeeting/windows.json`:
- Line 19: In the a6c7d24e install script, add a check after the Start-Process
completes to map MSI success-with-reboot exit codes to zero before exiting.
Specifically, if the installProcess.ExitCode is 3010 or 1641, return exit code
0; otherwise return the original exit code. Use the same mapping pattern already
implemented in the 22e48c46 script to ensure consistent behavior across both
installers.
In `@ee/maintained-apps/outputs/ibm-semeru-jre-17/windows.json`:
- Line 20: Update the install scripts in
ee/maintained-apps/outputs/ibm-semeru-jre-17/windows.json (lines 20-20),
ee/maintained-apps/outputs/windirstat/windows.json (lines 20-20),
ee/maintained-apps/outputs/genesys-cloud/windows.json (lines 20-20),
ee/maintained-apps/outputs/eclipse-temurin-jre-8/windows.json (lines 20-20),
ee/maintained-apps/outputs/fortify/windows.json (lines 21-21),
ee/maintained-apps/outputs/microsoft-edge/windows.json (lines 20-20), and
ee/maintained-apps/outputs/zoom-outlook-plugin/windows.json (lines 21-21) so the
`$logFile` assigned by each script uses a unique filename per Fleet invocation
instead of the shared `fleet-install-software.log`; keep the existing
`Start-Process`, `Get-Content`, and exit-code handling pointed at that generated
path.
In `@ee/maintained-apps/outputs/sourcetree/windows.json`:
- Line 10: Update the install script referenced by install_script_ref for
SourceTree to retain ACCEPTEULA=1 and map msiexec exit codes 0, 3010, and 1641
to Exit 0; preserve the existing non-success exit codes unchanged.
In `@ee/maintained-apps/outputs/weasis/darwin.json`:
- Line 19: Validate that LOGGED_IN_USER is non-empty before running per-user
cleanup, and quote it in every trash invocation so missing users cannot produce
invalid paths or shift arguments. Apply this to the Weasis cleanup calls in
ee/maintained-apps/outputs/weasis/darwin.json at lines 19-19 and the
corresponding Tailscale cleanup calls in
ee/maintained-apps/outputs/tailscale-app/darwin.json at lines 19-19; ensure
cleanup is skipped when no GUI user is active.
🪄 Autofix
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 Plus
Run ID: f9e00fc1-dbe8-4aa0-9dbf-c53ff67db760
📒 Files selected for processing (224)
ee/maintained-apps/outputs/1password/windows.jsonee/maintained-apps/outputs/7-zip/windows.jsonee/maintained-apps/outputs/8x8-work/darwin.jsonee/maintained-apps/outputs/8x8-work/windows.jsonee/maintained-apps/outputs/adobe-acrobat-pro/windows.jsonee/maintained-apps/outputs/adobe-acrobat-reader/windows.jsonee/maintained-apps/outputs/adobe-dng-converter/darwin.jsonee/maintained-apps/outputs/advanced-installer/windows.jsonee/maintained-apps/outputs/advanced-renamer/darwin.jsonee/maintained-apps/outputs/aircall/windows.jsonee/maintained-apps/outputs/airparrot/windows.jsonee/maintained-apps/outputs/airtame/windows.jsonee/maintained-apps/outputs/alacritty/windows.jsonee/maintained-apps/outputs/alfaview/windows.jsonee/maintained-apps/outputs/allway-sync/windows.jsonee/maintained-apps/outputs/amazon-corretto-11/windows.jsonee/maintained-apps/outputs/amazon-corretto-17/windows.jsonee/maintained-apps/outputs/amazon-corretto-21/windows.jsonee/maintained-apps/outputs/amazon-corretto-24/windows.jsonee/maintained-apps/outputs/amazon-corretto-25/windows.jsonee/maintained-apps/outputs/amazon-corretto-26/windows.jsonee/maintained-apps/outputs/amazon-corretto-8/windows.jsonee/maintained-apps/outputs/amazon-corretto-jre-8/windows.jsonee/maintained-apps/outputs/amazon-dcv-client/windows.jsonee/maintained-apps/outputs/amazon-dcv-server/windows.jsonee/maintained-apps/outputs/amazon-redshift-odbc-driver/windows.jsonee/maintained-apps/outputs/amazon-workspaces/windows.jsonee/maintained-apps/outputs/apidog/darwin.jsonee/maintained-apps/outputs/aptakube/windows.jsonee/maintained-apps/outputs/arduino-ide/windows.jsonee/maintained-apps/outputs/audiveris/windows.jsonee/maintained-apps/outputs/autopsy/windows.jsonee/maintained-apps/outputs/aws-cli/windows.jsonee/maintained-apps/outputs/aws-sam-cli/windows.jsonee/maintained-apps/outputs/aws-vpn-client/windows.jsonee/maintained-apps/outputs/azul-zulu-25-jdk/windows.jsonee/maintained-apps/outputs/azul-zulu-25-jre/windows.jsonee/maintained-apps/outputs/azure-functions-core-tools/windows.jsonee/maintained-apps/outputs/betterzip/darwin.jsonee/maintained-apps/outputs/beyond-compare/darwin.jsonee/maintained-apps/outputs/beyond-compare/windows.jsonee/maintained-apps/outputs/bitwig-studio/windows.jsonee/maintained-apps/outputs/blender/windows.jsonee/maintained-apps/outputs/bluej/windows.jsonee/maintained-apps/outputs/box-drive/windows.jsonee/maintained-apps/outputs/box-tools/windows.jsonee/maintained-apps/outputs/browserstacklocal/windows.jsonee/maintained-apps/outputs/bruno/windows.jsonee/maintained-apps/outputs/calibre/windows.jsonee/maintained-apps/outputs/camtasia/windows.jsonee/maintained-apps/outputs/charles/darwin.jsonee/maintained-apps/outputs/chef-workstation/windows.jsonee/maintained-apps/outputs/cherry-keys/windows.jsonee/maintained-apps/outputs/chrome-remote-desktop/windows.jsonee/maintained-apps/outputs/cinc/windows.jsonee/maintained-apps/outputs/cisco-jabber/windows.jsonee/maintained-apps/outputs/cisco-webex-recorder-and-player/windows.jsonee/maintained-apps/outputs/claude/darwin.jsonee/maintained-apps/outputs/clickup/windows.jsonee/maintained-apps/outputs/clockassist/windows.jsonee/maintained-apps/outputs/clockify/windows.jsonee/maintained-apps/outputs/cloudflare-warp/windows.jsonee/maintained-apps/outputs/cmake-app/windows.jsonee/maintained-apps/outputs/codemeter-runtime-kit/windows.jsonee/maintained-apps/outputs/codexbar/darwin.jsonee/maintained-apps/outputs/colour-contrast-analyser/windows.jsonee/maintained-apps/outputs/crashplan/windows.jsonee/maintained-apps/outputs/creative-force-kelvin/windows.jsonee/maintained-apps/outputs/crestron-airmedia-peripherals/windows.jsonee/maintained-apps/outputs/crestron-airmedia/windows.jsonee/maintained-apps/outputs/cribl-edge/windows.jsonee/maintained-apps/outputs/crisisgo/windows.jsonee/maintained-apps/outputs/cryptomator/windows.jsonee/maintained-apps/outputs/cursor/windows.jsonee/maintained-apps/outputs/cyberduck-cli/windows.jsonee/maintained-apps/outputs/cyberduck/darwin.jsonee/maintained-apps/outputs/cyberduck/windows.jsonee/maintained-apps/outputs/db-browser-for-sqlite/windows.jsonee/maintained-apps/outputs/dbgate/darwin.jsonee/maintained-apps/outputs/delinea-connection-manager/windows.jsonee/maintained-apps/outputs/devolutions-launcher/windows.jsonee/maintained-apps/outputs/devolutions-workspace/windows.jsonee/maintained-apps/outputs/devpod/windows.jsonee/maintained-apps/outputs/discord/darwin.jsonee/maintained-apps/outputs/discord/windows.jsonee/maintained-apps/outputs/dngrep/windows.jsonee/maintained-apps/outputs/docker/windows.jsonee/maintained-apps/outputs/dot/darwin.jsonee/maintained-apps/outputs/downie/darwin.jsonee/maintained-apps/outputs/draftable-desktop/windows.jsonee/maintained-apps/outputs/drawio/windows.jsonee/maintained-apps/outputs/drofus/windows.jsonee/maintained-apps/outputs/dropbox/windows.jsonee/maintained-apps/outputs/druva-insync/windows.jsonee/maintained-apps/outputs/duo-desktop/windows.jsonee/maintained-apps/outputs/eclipse-temurin-jdk-11/windows.jsonee/maintained-apps/outputs/eclipse-temurin-jdk-17/windows.jsonee/maintained-apps/outputs/eclipse-temurin-jdk-21/windows.jsonee/maintained-apps/outputs/eclipse-temurin-jdk-8/windows.jsonee/maintained-apps/outputs/eclipse-temurin-jre-11/windows.jsonee/maintained-apps/outputs/eclipse-temurin-jre-17/windows.jsonee/maintained-apps/outputs/eclipse-temurin-jre-21/windows.jsonee/maintained-apps/outputs/eclipse-temurin-jre-8/windows.jsonee/maintained-apps/outputs/egnyte-webedit/windows.jsonee/maintained-apps/outputs/elevate-uc/windows.jsonee/maintained-apps/outputs/elgato-control-center/windows.jsonee/maintained-apps/outputs/elgato-stream-deck/windows.jsonee/maintained-apps/outputs/emclient/windows.jsonee/maintained-apps/outputs/endnote/windows.jsonee/maintained-apps/outputs/epic-games/windows.jsonee/maintained-apps/outputs/exifcleaner/darwin.jsonee/maintained-apps/outputs/filebeat/windows.jsonee/maintained-apps/outputs/firefox/darwin.jsonee/maintained-apps/outputs/firefox/windows.jsonee/maintained-apps/outputs/firefox@developer-edition/darwin.jsonee/maintained-apps/outputs/firefox@nightly/darwin.jsonee/maintained-apps/outputs/flexwhere/windows.jsonee/maintained-apps/outputs/fortify/windows.jsonee/maintained-apps/outputs/genesys-cloud/darwin.jsonee/maintained-apps/outputs/genesys-cloud/windows.jsonee/maintained-apps/outputs/geogebra-classic/windows.jsonee/maintained-apps/outputs/git-extensions/windows.jsonee/maintained-apps/outputs/github-desktop/windows.jsonee/maintained-apps/outputs/go/windows.jsonee/maintained-apps/outputs/google-ads-editor/windows.jsonee/maintained-apps/outputs/google-chrome/windows.jsonee/maintained-apps/outputs/google-credential-provider-for-windows/windows.jsonee/maintained-apps/outputs/gotomeeting/windows.jsonee/maintained-apps/outputs/grammarly-desktop/darwin.jsonee/maintained-apps/outputs/granola/windows.jsonee/maintained-apps/outputs/grepwin/windows.jsonee/maintained-apps/outputs/home-assistant/darwin.jsonee/maintained-apps/outputs/hwmonitor/windows.jsonee/maintained-apps/outputs/ibm-semeru-jdk-11/windows.jsonee/maintained-apps/outputs/ibm-semeru-jdk-17/windows.jsonee/maintained-apps/outputs/ibm-semeru-jdk-21/windows.jsonee/maintained-apps/outputs/ibm-semeru-jdk-8/windows.jsonee/maintained-apps/outputs/ibm-semeru-jre-11/windows.jsonee/maintained-apps/outputs/ibm-semeru-jre-17/windows.jsonee/maintained-apps/outputs/ibm-semeru-jre-21/windows.jsonee/maintained-apps/outputs/ibm-semeru-jre-8/windows.jsonee/maintained-apps/outputs/imageglass/windows.jsonee/maintained-apps/outputs/imhex/windows.jsonee/maintained-apps/outputs/inkscape/windows.jsonee/maintained-apps/outputs/ironpython/windows.jsonee/maintained-apps/outputs/jami/windows.jsonee/maintained-apps/outputs/jetbrains-toolbox/darwin.jsonee/maintained-apps/outputs/jetbrains-toolbox/windows.jsonee/maintained-apps/outputs/keepassxc/windows.jsonee/maintained-apps/outputs/lapce/windows.jsonee/maintained-apps/outputs/lastpass/windows.jsonee/maintained-apps/outputs/libreoffice/windows.jsonee/maintained-apps/outputs/linear/darwin.jsonee/maintained-apps/outputs/linear/windows.jsonee/maintained-apps/outputs/lookaway/darwin.jsonee/maintained-apps/outputs/macwhisper/darwin.jsonee/maintained-apps/outputs/marked-app/darwin.jsonee/maintained-apps/outputs/mattermost/windows.jsonee/maintained-apps/outputs/microsoft-365-copilot/darwin.jsonee/maintained-apps/outputs/microsoft-edge/windows.jsonee/maintained-apps/outputs/microsoft-teams/darwin.jsonee/maintained-apps/outputs/microsoft-teams/windows.jsonee/maintained-apps/outputs/mixxx/windows.jsonee/maintained-apps/outputs/mongodb-compass/windows.jsonee/maintained-apps/outputs/mysqlworkbench/windows.jsonee/maintained-apps/outputs/naps2/windows.jsonee/maintained-apps/outputs/nessus-agent/windows.jsonee/maintained-apps/outputs/nextcloud/windows.jsonee/maintained-apps/outputs/nodejs/windows.jsonee/maintained-apps/outputs/notepadexe/darwin.jsonee/maintained-apps/outputs/notion/darwin.jsonee/maintained-apps/outputs/notion/windows.jsonee/maintained-apps/outputs/omnifocus/darwin.jsonee/maintained-apps/outputs/opencode-desktop/darwin.jsonee/maintained-apps/outputs/openvpn-connect/windows.jsonee/maintained-apps/outputs/origami-studio/darwin.jsonee/maintained-apps/outputs/p4v/windows.jsonee/maintained-apps/outputs/pale-moon/darwin.jsonee/maintained-apps/outputs/pdfsam-basic/windows.jsonee/maintained-apps/outputs/postman/darwin.jsonee/maintained-apps/outputs/powershell/windows.jsonee/maintained-apps/outputs/prisma-browser/windows.jsonee/maintained-apps/outputs/putty/windows.jsonee/maintained-apps/outputs/quip/darwin.jsonee/maintained-apps/outputs/rectangle-pro/darwin.jsonee/maintained-apps/outputs/reflector/windows.jsonee/maintained-apps/outputs/remote-desktop-manager/windows.jsonee/maintained-apps/outputs/rewritebar/darwin.jsonee/maintained-apps/outputs/rider/darwin.jsonee/maintained-apps/outputs/royal-tsx/windows.jsonee/maintained-apps/outputs/shapr3d/darwin.jsonee/maintained-apps/outputs/sharefile/windows.jsonee/maintained-apps/outputs/snagit/windows.jsonee/maintained-apps/outputs/sonicwall-netextender/windows.jsonee/maintained-apps/outputs/sourcetree/windows.jsonee/maintained-apps/outputs/spotify/windows.jsonee/maintained-apps/outputs/tailscale-app/darwin.jsonee/maintained-apps/outputs/tailscale/windows.jsonee/maintained-apps/outputs/textexpander/windows.jsonee/maintained-apps/outputs/tightvnc/windows.jsonee/maintained-apps/outputs/topaz-gigapixel-ai/windows.jsonee/maintained-apps/outputs/topaz-photo-ai/windows.jsonee/maintained-apps/outputs/tortoisegit/windows.jsonee/maintained-apps/outputs/tower/windows.jsonee/maintained-apps/outputs/transmission/windows.jsonee/maintained-apps/outputs/twingate/windows.jsonee/maintained-apps/outputs/typeface/darwin.jsonee/maintained-apps/outputs/ultimaker-cura/windows.jsonee/maintained-apps/outputs/vlc/windows.jsonee/maintained-apps/outputs/wave/windows.jsonee/maintained-apps/outputs/weasis/darwin.jsonee/maintained-apps/outputs/weasis/windows.jsonee/maintained-apps/outputs/webex/windows.jsonee/maintained-apps/outputs/whatsapp/darwin.jsonee/maintained-apps/outputs/windirstat/windows.jsonee/maintained-apps/outputs/windows-app/darwin.jsonee/maintained-apps/outputs/winlogbeat/windows.jsonee/maintained-apps/outputs/wireshark/windows.jsonee/maintained-apps/outputs/wrike/windows.jsonee/maintained-apps/outputs/yarn/windows.jsonee/maintained-apps/outputs/yubico-authenticator/windows.jsonee/maintained-apps/outputs/zoom-outlook-plugin/windows.jsonee/maintained-apps/outputs/zoom/windows.jsonee/maintained-apps/outputs/zulip/windows.json
| "version": "8.36.2", | ||
| "queries": { | ||
| "exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.8x8---virtual-office';", | ||
| "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.8x8---virtual-office' AND version_compare(bundle_short_version, '8.35.2') < 0);" | ||
| "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM apps WHERE bundle_identifier = 'com.electron.8x8---virtual-office' AND version_compare(bundle_short_version, '8.36.2') < 0);" | ||
| }, | ||
| "installer_url": "https://work-desktop-assets.8x8.com/prod-publish/ga/work-arm64-dmg-v8.35.2-6.dmg", | ||
| "installer_url": "https://work-desktop-assets.8x8.com/prod-publish/ga/work-arm64-dmg-v8.36.2-3.dmg", | ||
| "install_script_ref": "18ff65bc", | ||
| "uninstall_script_ref": "6eb42abf", | ||
| "sha256": "24be6f8e2b864f4ca7b9acd661e81a4171278d86b8105f8ada0cc3221b28e87b", | ||
| "sha256": "2cf54acde15ac58740db4baf8a474b601707023816d3637a616df203092d24a1", |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🔴 Critical | ⚡ Quick win
Malformed sha256 checksum: 63 hex characters instead of 64.
The sha256 value on Line 12, "2cf54acde15ac58740db4baf8a474b601707023816d3637a616df203092d24a1", has 63 hexadecimal characters. A SHA-256 digest is always exactly 64 hexadecimal characters. Compare this against the other checksums updated in this same batch (adobe-acrobat-pro, adobe-dng-converter, jetbrains-toolbox, linear, lookaway, macwhisper, marked-app, omnifocus), all of which are 64 characters. This truncated value will not match the actual digest of the installer at installer_url, so integrity verification of the downloaded work-arm64-dmg-v8.36.2-3.dmg installer will fail for every host attempting this install.
Regenerate the checksum for the 8.36.2 installer artifact and update Line 12 with the correct 64-character value.
🤖 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/8x8-work/darwin.json` around lines 4 - 12, The
sha256 value for the 8x8-work darwin.json entry (version 8.36.2) is malformed,
containing only 63 hex characters instead of the required 64. Recompute the
correct SHA-256 digest for the installer artifact at the specified installer_url
and replace the truncated sha256 field with the correct 64-character hexadecimal
checksum.
| ], | ||
| "refs": { | ||
| "29a9338f": "# BlueJ ships a per-user WiX MSI. Fleet runs installs elevated (SYSTEM), so we\n# pass ALLUSERS=2 — the same switch winget uses — which resolves to a per-machine\n# install (into %ProgramFiles%\\BlueJ) when run elevated.\n\n$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv ${logFile} /i `\"${env:INSTALLER_PATH}`\" ALLUSERS=2\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n", | ||
| "85459eac": "# BlueJ ships a per-user WiX MSI. Fleet runs installs elevated (SYSTEM), so we\n# pass ALLUSERS=2 — the same switch winget uses — which resolves to a per-machine\n# install (into %ProgramFiles%\\BlueJ) when run elevated.\n\n$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv `\"${logFile}`\" /i `\"${env:INSTALLER_PATH}`\" ALLUSERS=2\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Add reboot-related MSI success codes to the BlueJ install script.
The updated script for ref 85459eac quotes the log-file path, but it does not define or check $successCodes. It exits directly with $installProcess.ExitCode. Every other app updated in this batch (for example blender, bruno, calibre, tightvnc) received a script that treats exit codes 0, 3010 (ERROR_SUCCESS_REBOOT_REQUIRED), and 1641 (ERROR_SUCCESS_REBOOT_INITIATED) as success. If the BlueJ MSI returns 3010 or 1641 after a successful install that needs a reboot, Fleet reports the install as failed, even though the install succeeded.
Add the same success-code check used in the sibling scripts.
🐛 Proposed fix to align BlueJ with the rest of the cohort
# BlueJ ships a per-user WiX MSI. Fleet runs installs elevated (SYSTEM), so we
# pass ALLUSERS=2 — the same switch winget uses — which resolves to a per-machine
# install (into %ProgramFiles%\BlueJ) when run elevated.
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
-ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`" ALLUSERS=2" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
-Exit $installProcess.ExitCode
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
+Exit $installProcess.ExitCode
} catch {
Write-Host "Error: $_"
Exit 1
}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "85459eac": "# BlueJ ships a per-user WiX MSI. Fleet runs installs elevated (SYSTEM), so we\n# pass ALLUSERS=2 — the same switch winget uses — which resolves to a per-machine\n# install (into %ProgramFiles%\\BlueJ) when run elevated.\n\n$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv `\"${logFile}`\" /i `\"${env:INSTALLER_PATH}`\" ALLUSERS=2\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n", | |
| "85459eac": "# BlueJ ships a per-user WiX MSI. Fleet runs installs elevated (SYSTEM), so we\n# pass ALLUSERS=2 — the same switch winget uses — which resolves to a per-machine\n# install (into %ProgramFiles%\\BlueJ) when run elevated.\n\n$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\n# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,\n# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.\n$successCodes = @(0, 3010, 1641)\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv `\"${logFile}`\" /i `\"${env:INSTALLER_PATH}`\" ALLUSERS=2\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nif ($successCodes -contains $installProcess.ExitCode) {\n Exit 0\n}\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n", |
🤖 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/bluej/windows.json` at line 19, Update the BlueJ
install script for ref 85459eac to define the standard success codes 0, 3010,
and 1641, then evaluate $installProcess.ExitCode against them before exiting.
Return success for all three codes and preserve the existing failure handling
for other exit codes.
| "refs": { | ||
| "27915223": "# Fleet uninstalls app by finding all related product codes for the specified upgrade code\n$inst = New-Object -ComObject \"WindowsInstaller.Installer\"\n$timeoutSeconds = 300 # 5 minute timeout per product\n\n# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,\n# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.\n$successCodes = @(0, 3010, 1641)\n\nforeach ($product_code in $inst.RelatedProducts('{BA743183-92C2-4F8F-B27E-B7822CAD2095}')) {\n $process = Start-Process msiexec -ArgumentList @(\"/quiet\", \"/x\", $product_code, \"/norestart\") -PassThru\n\n # Wait for process with timeout\n $completed = $process.WaitForExit($timeoutSeconds * 1000)\n\n if (-not $completed) {\n Stop-Process -Id $process.Id -Force -ErrorAction SilentlyContinue\n Exit 1603 # ERROR_UNINSTALL_FAILURE\n }\n\n # If the uninstall failed, bail\n if ($successCodes -notcontains $process.ExitCode) {\n Write-Output \"Uninstall for $($product_code) exited $($process.ExitCode)\"\n Exit $process.ExitCode\n }\n}\n\n# All uninstalls succeeded; exit success\nExit 0\n", | ||
| "8959087b": "$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv ${logFile} /i `\"${env:INSTALLER_PATH}`\"\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n" | ||
| "22e48c46": "$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\n# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,\n# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.\n$successCodes = @(0, 3010, 1641)\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv `\"${logFile}`\" /i `\"${env:INSTALLER_PATH}`\"\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nif ($successCodes -contains $installProcess.ExitCode) {\n Exit 0\n}\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n", |
There was a problem hiding this comment.
🩺 Stability & Availability | 🟠 Major | ⚡ Quick win
Bound the MSI wait in every generated Windows install script.
Each script uses Start-Process msiexec.exe -Wait without a timeout. A hung MSI can block the Fleet deployment indefinitely.
ee/maintained-apps/outputs/box-tools/windows.json#L20-L20: use boundedWaitForExit()and fail after the timeout.ee/maintained-apps/outputs/wrike/windows.json#L20-L20: use boundedWaitForExit()and fail after the timeout.ee/maintained-apps/outputs/nextcloud/windows.json#L20-L20: use boundedWaitForExit()and fail after the timeout.ee/maintained-apps/outputs/ibm-semeru-jdk-8/windows.json#L21-L21: use boundedWaitForExit()and fail after the timeout.ee/maintained-apps/outputs/draftable-desktop/windows.json#L20-L20: use boundedWaitForExit()and fail after the timeout.ee/maintained-apps/outputs/crestron-airmedia-peripherals/windows.json#L20-L20: use boundedWaitForExit()and fail after the timeout.ee/maintained-apps/outputs/crashplan/windows.json#L20-L20: use boundedWaitForExit()and fail after the timeout.
📍 Affects 7 files
ee/maintained-apps/outputs/box-tools/windows.json#L20-L20(this comment)ee/maintained-apps/outputs/wrike/windows.json#L20-L20ee/maintained-apps/outputs/nextcloud/windows.json#L20-L20ee/maintained-apps/outputs/ibm-semeru-jdk-8/windows.json#L21-L21ee/maintained-apps/outputs/draftable-desktop/windows.json#L20-L20ee/maintained-apps/outputs/crestron-airmedia-peripherals/windows.json#L20-L20ee/maintained-apps/outputs/crashplan/windows.json#L20-L20
🤖 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/box-tools/windows.json` at line 20, Replace the
unbounded Start-Process msiexec.exe -Wait flow with a bounded installProcess
wait, using WaitForExit() with a defined timeout and failing the installation if
the timeout expires; preserve exit-code handling for completed processes. Apply
this in ee/maintained-apps/outputs/box-tools/windows.json:20-20,
ee/maintained-apps/outputs/wrike/windows.json:20-20,
ee/maintained-apps/outputs/nextcloud/windows.json:20-20,
ee/maintained-apps/outputs/ibm-semeru-jdk-8/windows.json:21-21,
ee/maintained-apps/outputs/draftable-desktop/windows.json:20-20,
ee/maintained-apps/outputs/crestron-airmedia-peripherals/windows.json:20-20, and
ee/maintained-apps/outputs/crashplan/windows.json:20-20.
| }, | ||
| "installer_url": "https://dl.google.com/credentialprovider/gcpwstandaloneenterprise64.msi", | ||
| "install_script_ref": "8959087b", | ||
| "install_script_ref": "22e48c46", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Uninstall script does not treat MSI reboot codes as success.
The install script for this app now treats exit codes 0, 3010, and 1641 as success. The uninstall script 23ea1ef2 on Line 20 still checks only if ($process.ExitCode -eq 0). If uninstall returns 3010 (ERROR_SUCCESS_REBOOT_REQUIRED) or 1641 (ERROR_SUCCESS_REBOOT_INITIATED), this script reports failure even though the uninstall succeeded.
Align the uninstall exit-code check with the $successCodes = @(0, 3010, 1641) pattern used in every other uninstall script in this batch.
🐛 Proposed fix
+ # MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+ # 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+ $successCodes = @(0, 3010, 1641)
+
# Check exit code and output result
- if ($process.ExitCode -eq 0) {
+ if ($successCodes -contains $process.ExitCode) {
Write-Host "Uninstall successful"
Exit 0
} else {
Write-Host "Uninstall failed with exit code: $($process.ExitCode)"
Exit $process.ExitCode
}Also applies to: 19-20
🤖 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/google-credential-provider-for-windows/windows.json`
at line 10, Update the uninstall script referenced by install_script_ref
22e48c46 to define successCodes as 0, 3010, and 1641 and use it when evaluating
process.ExitCode, matching the existing uninstall-script pattern so
reboot-required and reboot-initiated results are treated as successful.
| ], | ||
| "refs": { | ||
| "36ce6af0": "# GoToMeeting MSI machine-wide install.\n# G2MINSTALLFORALLUSERS=1 installs for all users (the installer defaults to\n# per-user, G2MINSTALLFORALLUSERS=0). Fleet runs elevated, so this produces a\n# machine-wide install.\n\n$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv ${logFile} /i `\"${env:INSTALLER_PATH}`\" G2MINSTALLFORALLUSERS=1\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n", | ||
| "a6c7d24e": "# GoToMeeting MSI machine-wide install.\n# G2MINSTALLFORALLUSERS=1 installs for all users (the installer defaults to\n# per-user, G2MINSTALLFORALLUSERS=0). Fleet runs elevated, so this produces a\n# machine-wide install.\n\n$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv `\"${logFile}`\" /i `\"${env:INSTALLER_PATH}`\" G2MINSTALLFORALLUSERS=1\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Map MSI reboot-success codes to exit 0.
The a6c7d24e install script returns $installProcess.ExitCode without handling 3010 or 1641. The installer can complete successfully and request a reboot, but Fleet will record a failure and may retry the install. Add the same mapping used by 22e48c46.
Proposed fix
+$successCodes = @(0, 3010, 1641)
+
...
-Exit $installProcess.ExitCode
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
+Exit $installProcess.ExitCode📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "a6c7d24e": "# GoToMeeting MSI machine-wide install.\n# G2MINSTALLFORALLUSERS=1 installs for all users (the installer defaults to\n# per-user, G2MINSTALLFORALLUSERS=0). Fleet runs elevated, so this produces a\n# machine-wide install.\n\n$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv `\"${logFile}`\" /i `\"${env:INSTALLER_PATH}`\" G2MINSTALLFORALLUSERS=1\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n", | |
| "a6c7d24e": "# GoToMeeting MSI machine-wide install.\n# G2MINSTALLFORALLUSERS=1 installs for all users (the installer defaults to\n# per-user, G2MINSTALLFORALLUSERS=0). Fleet runs elevated, so this produces a\n# machine-wide install.\n\n$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\n$successCodes = @(0, 3010, 1641)\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv `\"${logFile}`\" /i `\"${env:INSTALLER_PATH}`\" G2MINSTALLFORALLUSERS=1\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nif ($successCodes -contains $installProcess.ExitCode) {\n Exit 0\n}\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n" |
🤖 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/gotomeeting/windows.json` at line 19, In the
a6c7d24e install script, add a check after the Start-Process completes to map
MSI success-with-reboot exit codes to zero before exiting. Specifically, if the
installProcess.ExitCode is 3010 or 1641, return exit code 0; otherwise return
the original exit code. Use the same mapping pattern already implemented in the
22e48c46 script to ensure consistent behavior across both installers.
| ], | ||
| "refs": { | ||
| "8959087b": "$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv ${logFile} /i `\"${env:INSTALLER_PATH}`\"\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n", | ||
| "22e48c46": "$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\n# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,\n# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.\n$successCodes = @(0, 3010, 1641)\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv `\"${logFile}`\" /i `\"${env:INSTALLER_PATH}`\"\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nif ($successCodes -contains $installProcess.ExitCode) {\n Exit 0\n}\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n", |
There was a problem hiding this comment.
🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
rg -n -C 2 'fleet-install-software\.log|22e48c46' \
ee/maintained-apps/outputs --glob 'windows.json' || true
rg -n -i 'parallel|concurr|install.*queue|queue.*install|mutex|semaphore|lock' \
. --glob '*.go' --glob '*.ts' --glob '*.js' --glob '*.py' --glob '*.ps1' || trueRepository: fleetdm/fleet
Length of output: 50370
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
printf 'Target windows.json installer snippets:\n'
for f in \
ee/maintained-apps/outputs/ibm-semeru-jre-17/windows.json \
ee/maintained-apps/outputs/windirstat/windows.json \
ee/maintained-apps/outputs/genesys-cloud/windows.json \
ee/maintained-apps/outputs/eclipse-temurin-jre-8/windows.json \
ee/maintained-apps/outputs/fortify/windows.json \
ee/maintained-apps/outputs/microsoft-edge/windows.json \
ee/maintained-apps/outputs/zoom-outlook-plugin/windows.json
do
printf '\n%s\n' "$f"
sed -n '1,80p' "$f"
done
printf '\nMaintained-apps windows script references:\n'
rg -n 'fleet-install-software\.log|22e48c46|windows\.json' ee/maintained-apps --glob '*.go' --glob '*.ts' --glob '*.js' --glob '*.ps1' --glob '*.json' || true
printf '\nOrbit Windows packaging relevant paths:\n'
fd -a -t f -i 'windows|packag|install|mdm' orbit server cmd/fleetctl | head -n 200
printf '\nFocused search for Windows installer script execution/build:\n'
rg -n -i 'windows\.json|fleet-install-software|maintained?|generated|Generate|build|installer|Start-Process|StartCommand|msiexec|winget|MSI' \
orbit server cmd/fleetctl ee --glob '{*.go,*.ts,*.js,*.ps1,*.json,yaml,yml}' \
--glob '!**/windows.json' \
| head -n 300Repository: fleetdm/fleet
Length of output: 50370
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
printf 'Orbit packaging files:\n'
fd -a -t f -E 'vendor' '\.go$' orbit/pkg/packaging server server/cmd cmd/fleetctl 2>/dev/null | sed -n '1,160p'
printf '\nWindows installer execution references in Go:\n'
rg -n -i -C 3 'RunWindows|InstallWindows|Start-Process|Installer|msiexec|maintained|windows\.json|StartCommand|StartCommandWithRunAs|WinPackage|packages|InstallPackage|Install|package manager|Package' \
-g '*.go' orbit server cmd/fleetctl \
| sed -n '1,360p'
printf '\nCandidate executed/scripting files:\n'
for f in $(fd -a -t f -i 'windows|packag|install|maintained|software' orbit server cmd/fleetctl | sed -n '1,200p'); do
printf '\n--- %s ---\n' "$f"
wc -l "$f"
done
printf '\nFocused code around RunWindows and Windows packaging:\n'
rg -n 'func .*Windows|RunWindows|InstallWindows|Package' orbit pkg server cmd/fleetctl -g '*.go' | sed -n '1,240p'Repository: fleetdm/fleet
Length of output: 50369
Use a unique Windows installer log path per Fleet invocation.
These shared install scripts write to ${env:TEMP}/fleet-install-software.log, so concurrent MSI installations on the same host can overwrite or interleave logs. Generate a per-installation filename, or serialize the install sequence on the Windows execution side.
📍 Affects 7 files
ee/maintained-apps/outputs/ibm-semeru-jre-17/windows.json#L20-L20(this comment)ee/maintained-apps/outputs/windirstat/windows.json#L20-L20ee/maintained-apps/outputs/genesys-cloud/windows.json#L20-L20ee/maintained-apps/outputs/eclipse-temurin-jre-8/windows.json#L20-L20ee/maintained-apps/outputs/fortify/windows.json#L21-L21ee/maintained-apps/outputs/microsoft-edge/windows.json#L20-L20ee/maintained-apps/outputs/zoom-outlook-plugin/windows.json#L21-L21
🤖 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/ibm-semeru-jre-17/windows.json` at line 20, Update
the install scripts in ee/maintained-apps/outputs/ibm-semeru-jre-17/windows.json
(lines 20-20), ee/maintained-apps/outputs/windirstat/windows.json (lines 20-20),
ee/maintained-apps/outputs/genesys-cloud/windows.json (lines 20-20),
ee/maintained-apps/outputs/eclipse-temurin-jre-8/windows.json (lines 20-20),
ee/maintained-apps/outputs/fortify/windows.json (lines 21-21),
ee/maintained-apps/outputs/microsoft-edge/windows.json (lines 20-20), and
ee/maintained-apps/outputs/zoom-outlook-plugin/windows.json (lines 21-21) so the
`$logFile` assigned by each script uses a unique filename per Fleet invocation
instead of the shared `fleet-install-software.log`; keep the existing
`Start-Process`, `Get-Content`, and exit-code handling pointed at that generated
path.
| }, | ||
| "installer_url": "https://product-downloads.atlassian.com/software/sourcetree/windows/ga/SourcetreeEnterpriseSetup_3.4.31.msi", | ||
| "install_script_ref": "17f62246", | ||
| "install_script_ref": "e23ea804", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
script="$(jq -r '.refs["e23ea804"]' ee/maintained-apps/outputs/sourcetree/windows.json)"
if grep -Fq '$successCodes' <<<"$script" &&
grep -Eq '3010|1641' <<<"$script"; then
exit 0
fi
echo "SourceTree install script does not normalize MSI reboot-success codes" >&2
exit 1Repository: fleetdm/fleet
Length of output: 221
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== sourcetree windows.json =="
jq '.refs["e23ea804"], .refs | keys | map(select(. | "e23ea804" or "3010" or "1641" | contains(."e23ea804".substring(0, 8))))' ee/maintained-apps/outputs/sourcetree/windows.json
echo
jq '.ref' ee/maintained-apps/outputs/sourcetree/windows.json
echo
jq '.refs["e23ea804"]' ee/maintained-apps/outputs/sourcetree/windows.json
echo
echo "== aws-sam-cli windows.json relevant exit handling =="
jq '.ref, .refs[(.ref // "unknown")]' ee/maintained-apps/outputs/aws-sam-cli/windows.json
jq -r '.refs[(.ref // "unknown")] | select(test("3010|1641|successCodes|Exit \\$installProcess"))' ee/maintained-apps/outputs/aws-sam-cli/windows.json
echo
echo "== references to reboot-success MSI codes in maintained apps windows outputs =="
rg -n --glob 'ee/maintained-apps/outputs/**/windows.json' 'successCodes|3010|1641|ExitCode'Repository: fleetdm/fleet
Length of output: 543
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== sourcetree windows.json =="
jq -r '.ref' ee/maintained-apps/outputs/sourcetree/windows.json
echo "--- selected ref ---"
jq -r '.refs["e23ea804"]' ee/maintained-apps/outputs/sourcetree/windows.json
echo
echo "== aws-sam-cli windows.json ref/script =="
jq -r '.ref' ee/maintained-apps/outputs/aws-sam-cli/windows.json
jq -r '.refs[(.ref // "unknown")]' ee/maintained-apps/outputs/aws-sam-cli/windows.json
echo
echo "== MSI reboot-success success-code patterns in Windows outputs =="
rg -n --glob 'ee/maintained-apps/outputs/**/windows.json' 'successCodes|3010|1641|Exit \$installProcess\.ExitCode|Exit \$ExitCode'Repository: fleetdm/fleet
Length of output: 674
Normalize msiexec reboot-success exit codes for SourceTree.
The selected install script currently runs msiexec and then returns $installProcess.ExitCode unchanged. msiexec uses 3010 and 1641 as successful reboot-required exit states, so this returns a non-zero Fleet result even after a successful install.
Map 0, 3010, and 1641 to Exit 0, and keep ACCEPTEULA=1.
Proposed fix
$logFile = "${env:TEMP}/fleet-install-software.log"
+$successCodes = @(0, 3010, 1641)
...
-Exit $installProcess.ExitCode
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+Exit $installProcess.ExitCode🤖 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/sourcetree/windows.json` at line 10, Update the
install script referenced by install_script_ref for SourceTree to retain
ACCEPTEULA=1 and map msiexec exit codes 0, 3010, and 1641 to Exit 0; preserve
the existing non-success exit codes unchanged.
| } | ||
| ], | ||
| "refs": { | ||
| "4ca4d644": "#!/bin/bash\n\n# variables\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\nexpand_pkgid_and_map() {\n local PKGID=\"$1\"\n local FUNC=\"$2\"\n if [[ \"$PKGID\" == *\"*\" ]]; then\n local prefix=\"${PKGID%\\*}\"\n echo \"Expanding wildcard for PKGID: $PKGID\"\n for receipt in $(pkgutil --pkgs | grep \"^${prefix}\"); do\n echo \"Processing $receipt\"\n \"$FUNC\" \"$receipt\"\n done\n else\n \"$FUNC\" \"$PKGID\"\n fi\n}\n\nforget_pkg() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" forget_receipt\n}\n\nforget_receipt() {\n local PKGID=\"$1\"\n sudo pkgutil --forget \"$PKGID\"\n}\n\nremove_pkg_files() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" remove_receipt_files\n}\n\nremove_receipt_files() {\n local PKGID=\"$1\"\n local PKGINFO VOLUME INSTALL_LOCATION FULL_INSTALL_LOCATION\n\n echo \"pkgutil --pkg-info-plist \\\"$PKGID\\\"\"\n PKGINFO=$(pkgutil --pkg-info-plist \"$PKGID\")\n VOLUME=$(echo \"$PKGINFO\" | awk '/<key>volume<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n INSTALL_LOCATION=$(echo \"$PKGINFO\" | awk '/<key>install-location<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n\n if [ -z \"$INSTALL_LOCATION\" ] || [ \"$INSTALL_LOCATION\" = \"/\" ]; then\n FULL_INSTALL_LOCATION=\"$VOLUME\"\n else\n FULL_INSTALL_LOCATION=\"$VOLUME/$INSTALL_LOCATION\"\n FULL_INSTALL_LOCATION=$(echo \"$FULL_INSTALL_LOCATION\" | sed 's|//|/|g')\n fi\n\n echo \"sudo pkgutil --only-files --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-files --files \"$PKGID\" | sed \"s|^|/${INSTALL_LOCATION}/|\" | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n echo \"sudo pkgutil --only-dirs --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | grep '\\\\.app$' | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-dirs --files \"$PKGID\" | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" | grep '\\.app$' | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n root_app_dir=$(\n sudo pkgutil --only-dirs --files \"$PKGID\" \\\n | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" \\\n | grep 'Applications' \\\n | awk '{ print length, $0 }' \\\n | sort -n \\\n | head -n1 \\\n | cut -d' ' -f2-\n )\n if [ -n \"$root_app_dir\" ]; then\n echo \"sudo rmdir -p \\\"$root_app_dir\\\" 2>/dev/null || :\"\n sudo rmdir -p \"$root_app_dir\" 2>/dev/null || :\n fi\n}\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n\n # If the target contains glob characters, expand it and move each match.\n if [[ \"$target_file\" == *[*?[]* ]]; then\n local file file_name\n local matched=false\n local i=0\n # compgen -G expands the (quoted) pattern itself, so paths containing\n # spaces glob correctly; reading line by line keeps each match intact.\n while IFS= read -r file; do\n [[ -n \"$file\" ]] || continue\n [[ -e \"$file\" || -L \"$file\" ]] || continue\n matched=true\n i=$((i + 1))\n file_name=\"$(basename \"$file\")\"\n echo \"removing $file.\"\n # The per-match counter keeps matches that share a basename from\n # overwriting each other in the trash.\n mv -f \"$file\" \"$trash/${file_name}_${timestamp}_${rand}_${i}\"\n done < <(compgen -G \"$target_file\" 2>/dev/null)\n if [[ \"$matched\" == false ]]; then\n echo \"$target_file doesn't exist.\"\n fi\n return\n fi\n\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nremove_pkg_files 'org.weasis.launcher'\nforget_pkg 'org.weasis.launcher'\nremove_pkg_files 'org.weasis.viewer'\nforget_pkg 'org.weasis.viewer'\nsudo rm -rf '/Applications/Weasis.app'\ntrash $LOGGED_IN_USER '~/.weasis'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/org.weasis.launcher.savedState'\n", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Guard the console-user lookup before per-user cleanup.
When no GUI user is active, both scripts can target an invalid home directory or shift the trash arguments because LOGGED_IN_USER is not validated or quoted.
ee/maintained-apps/outputs/weasis/darwin.json#L19-L19: validate and quoteLOGGED_IN_USERbefore the Weasis cleanup calls.ee/maintained-apps/outputs/tailscale-app/darwin.json#L19-L19: validate and quoteLOGGED_IN_USERbefore the Tailscale cleanup calls.
📍 Affects 2 files
ee/maintained-apps/outputs/weasis/darwin.json#L19-L19(this comment)ee/maintained-apps/outputs/tailscale-app/darwin.json#L19-L19
🤖 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/weasis/darwin.json` at line 19, Validate that
LOGGED_IN_USER is non-empty before running per-user cleanup, and quote it in
every trash invocation so missing users cannot produce invalid paths or shift
arguments. Apply this to the Weasis cleanup calls in
ee/maintained-apps/outputs/weasis/darwin.json at lines 19-19 and the
corresponding Tailscale cleanup calls in
ee/maintained-apps/outputs/tailscale-app/darwin.json at lines 19-19; ensure
cleanup is skipped when no GUI user is active.
Script Diff Resultsee/maintained-apps/outputs/1password/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ki1Feq 2026-08-04 15:19:03.610631220 +0000
+++ /tmp/new.RFmoW8 2026-08-04 15:19:03.610631220 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/7-zip/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.cQ5uBb 2026-08-04 15:19:03.673631260 +0000
+++ /tmp/new.7XRl7M 2026-08-04 15:19:03.673631260 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/8x8-work/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/8x8-work/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.aY9yso 2026-08-04 15:19:03.763631316 +0000
+++ /tmp/new.XIcdKI 2026-08-04 15:19:03.763631316 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/adobe-acrobat-pro/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/adobe-acrobat-reader/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/adobe-dng-converter/darwin.json=== Install // b175e533 -> ac06e091 ===
--- /tmp/old.ReUP0v 2026-08-04 15:19:03.902631402 +0000
+++ /tmp/new.vJ1BNP 2026-08-04 15:19:03.902631402 +0000
@@ -101,5 +101,5 @@
hdiutil detach "$MOUNT_POINT" || true
# install pkg files
quit_and_track_application 'com.adobe.DNGConverter'
-sudo installer -pkg "$TMPDIR/DNGConverter_18_4_1.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/DNGConverter_18_5.pkg" -target / || exit $?
relaunch_application 'com.adobe.DNGConverter'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/advanced-installer/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.2cwniI 2026-08-04 15:19:03.957631436 +0000
+++ /tmp/new.dpDcTd 2026-08-04 15:19:03.957631436 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/advanced-renamer/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aircall/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.6tXnwH 2026-08-04 15:19:04.057631498 +0000
+++ /tmp/new.dRh3Y9 2026-08-04 15:19:04.057631498 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/airparrot/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.PFddkm 2026-08-04 15:19:04.125631540 +0000
+++ /tmp/new.NVDTU8 2026-08-04 15:19:04.125631540 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/airtame/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/alacritty/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.82mNGa 2026-08-04 15:19:04.244631614 +0000
+++ /tmp/new.PZIdk2 2026-08-04 15:19:04.245631615 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/alfaview/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.jz9iKi 2026-08-04 15:19:04.298631648 +0000
+++ /tmp/new.HACKc6 2026-08-04 15:19:04.299631648 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/allway-sync/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.FKQNrx 2026-08-04 15:19:04.352631681 +0000
+++ /tmp/new.Y2m3Q8 2026-08-04 15:19:04.352631681 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ak92Gj 2026-08-04 15:19:04.402631712 +0000
+++ /tmp/new.kz7mng 2026-08-04 15:19:04.402631712 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Anrhro 2026-08-04 15:19:04.451631743 +0000
+++ /tmp/new.itFds9 2026-08-04 15:19:04.451631743 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.mSw78L 2026-08-04 15:19:04.500631773 +0000
+++ /tmp/new.PLfjl5 2026-08-04 15:19:04.500631773 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-24/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.8TsS4S 2026-08-04 15:19:04.565631813 +0000
+++ /tmp/new.edLKap 2026-08-04 15:19:04.565631813 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-25/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.SvQJwF 2026-08-04 15:19:04.614631844 +0000
+++ /tmp/new.yr0OHZ 2026-08-04 15:19:04.614631844 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-26/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.xF05c5 2026-08-04 15:19:04.662631873 +0000
+++ /tmp/new.5vPaAL 2026-08-04 15:19:04.662631873 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.VLzXcW 2026-08-04 15:19:04.712631905 +0000
+++ /tmp/new.30OFJ7 2026-08-04 15:19:04.712631905 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-jre-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.mghtip 2026-08-04 15:19:04.761631935 +0000
+++ /tmp/new.DmS46c 2026-08-04 15:19:04.762631936 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-dcv-client/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ZDeZxd 2026-08-04 15:19:04.826631975 +0000
+++ /tmp/new.GmUMfs 2026-08-04 15:19:04.826631975 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-dcv-server/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.rBU6fw 2026-08-04 15:19:04.890632015 +0000
+++ /tmp/new.5pKBcE 2026-08-04 15:19:04.890632015 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-redshift-odbc-driver/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.qc19vx 2026-08-04 15:19:04.947632050 +0000
+++ /tmp/new.diKyyH 2026-08-04 15:19:04.947632050 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-workspaces/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.zVbPmk 2026-08-04 15:19:05.010632089 +0000
+++ /tmp/new.SkARE5 2026-08-04 15:19:05.010632089 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/apidog/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aptakube/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.uvX3JY 2026-08-04 15:19:05.089632138 +0000
+++ /tmp/new.rzHWpA 2026-08-04 15:19:05.089632138 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/arduino-ide/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.U7F0pT 2026-08-04 15:19:05.155632179 +0000
+++ /tmp/new.xR9uud 2026-08-04 15:19:05.155632179 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/audiveris/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.YGXLXt 2026-08-04 15:19:05.209632213 +0000
+++ /tmp/new.eBYOPS 2026-08-04 15:19:05.209632213 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/autopsy/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.vXdGQs 2026-08-04 15:19:05.269632250 +0000
+++ /tmp/new.FLjlp3 2026-08-04 15:19:05.270632251 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aws-cli/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.l5abyL 2026-08-04 15:19:05.313632278 +0000
+++ /tmp/new.ALsw3t 2026-08-04 15:19:05.313632278 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aws-sam-cli/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.cnfOYh 2026-08-04 15:19:05.357632305 +0000
+++ /tmp/new.G1HNKs 2026-08-04 15:19:05.358632306 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aws-vpn-client/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.72Twbg 2026-08-04 15:19:05.403632334 +0000
+++ /tmp/new.dGzuJg 2026-08-04 15:19:05.403632334 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/azul-zulu-25-jdk/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.LlEwoC 2026-08-04 15:19:05.453632365 +0000
+++ /tmp/new.za338O 2026-08-04 15:19:05.453632365 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/azul-zulu-25-jre/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.R4w53D 2026-08-04 15:19:05.499632393 +0000
+++ /tmp/new.CdWXdr 2026-08-04 15:19:05.499632393 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/azure-functions-core-tools/windows.json=== Install // 42c7791f -> 49fc2740 ===
--- /tmp/old.biWQPn 2026-08-04 15:19:05.554632427 +0000
+++ /tmp/new.Qlf5oS 2026-08-04 15:19:05.554632427 +0000
@@ -11,7 +11,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/betterzip/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/beyond-compare/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/beyond-compare/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/bitwig-studio/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.1XHTJw 2026-08-04 15:19:05.714632527 +0000
+++ /tmp/new.7F2hU9 2026-08-04 15:19:05.714632527 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/blender/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.KKnefV 2026-08-04 15:19:05.768632560 +0000
+++ /tmp/new.UAspDR 2026-08-04 15:19:05.768632560 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/bluej/windows.json=== Install // 29a9338f -> 85459eac ===
--- /tmp/old.AbuxV6 2026-08-04 15:19:05.835632602 +0000
+++ /tmp/new.Acwn0e 2026-08-04 15:19:05.835632602 +0000
@@ -7,7 +7,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`" ALLUSERS=2" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`" ALLUSERS=2" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/box-drive/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.A8e1Jk 2026-08-04 15:19:05.891632637 +0000
+++ /tmp/new.60EQOU 2026-08-04 15:19:05.891632637 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/box-tools/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.wta7lv 2026-08-04 15:19:05.940632667 +0000
+++ /tmp/new.NDjgN2 2026-08-04 15:19:05.940632667 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/browserstacklocal/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.m4zPGB 2026-08-04 15:19:05.989632698 +0000
+++ /tmp/new.hYuPt7 2026-08-04 15:19:05.989632698 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/bruno/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.C4p6B8 2026-08-04 15:19:06.039632729 +0000
+++ /tmp/new.YChEoo 2026-08-04 15:19:06.039632729 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/calibre/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.GFapJI 2026-08-04 15:19:06.085632757 +0000
+++ /tmp/new.rCgUZ0 2026-08-04 15:19:06.085632757 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/camtasia/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.NB1W5T 2026-08-04 15:19:06.137632789 +0000
+++ /tmp/new.uRsBMC 2026-08-04 15:19:06.138632790 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/charles/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/chef-workstation/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.DGTlnP 2026-08-04 15:19:06.222632842 +0000
+++ /tmp/new.0ldzA5 2026-08-04 15:19:06.222632842 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cherry-keys/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.lMoSyo 2026-08-04 15:19:06.285632881 +0000
+++ /tmp/new.hoB9d0 2026-08-04 15:19:06.285632881 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/chrome-remote-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.hyAlAu 2026-08-04 15:19:06.338632914 +0000
+++ /tmp/new.7ln9sm 2026-08-04 15:19:06.338632914 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cinc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.F22STF 2026-08-04 15:19:06.406632956 +0000
+++ /tmp/new.aVO2y0 2026-08-04 15:19:06.406632956 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cisco-jabber/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.MS4V5M 2026-08-04 15:19:06.456632987 +0000
+++ /tmp/new.4aSvpB 2026-08-04 15:19:06.456632987 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cisco-webex-recorder-and-player/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Sug5E5 2026-08-04 15:19:06.512633022 +0000
+++ /tmp/new.8JVNYl 2026-08-04 15:19:06.512633022 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/claude/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/clickup/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.HgKpSe 2026-08-04 15:19:06.593633072 +0000
+++ /tmp/new.4AFkmY 2026-08-04 15:19:06.593633072 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/clockassist/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ztAm3r 2026-08-04 15:19:06.648633106 +0000
+++ /tmp/new.RA1VHR 2026-08-04 15:19:06.648633106 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/clockify/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.eVn9Sj 2026-08-04 15:19:06.697633137 +0000
+++ /tmp/new.c7wHmG 2026-08-04 15:19:06.697633137 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cloudflare-warp/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.uBwQxM 2026-08-04 15:19:06.748633169 +0000
+++ /tmp/new.N9CeTM 2026-08-04 15:19:06.748633169 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cmake-app/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.uO5uzK 2026-08-04 15:19:06.794633197 +0000
+++ /tmp/new.S8JFEK 2026-08-04 15:19:06.795633198 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/codemeter-runtime-kit/windows.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/colour-contrast-analyser/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.nOq1YV 2026-08-04 15:19:06.930633281 +0000
+++ /tmp/new.Keizgz 2026-08-04 15:19:06.930633281 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crashplan/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.8PErb5 2026-08-04 15:19:06.977633311 +0000
+++ /tmp/new.pzmiuU 2026-08-04 15:19:06.977633311 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/creative-force-kelvin/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Rmg3F7 2026-08-04 15:19:07.023633339 +0000
+++ /tmp/new.Mqsp7K 2026-08-04 15:19:07.024633340 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crestron-airmedia-peripherals/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.9Mqwtr 2026-08-04 15:19:07.078633373 +0000
+++ /tmp/new.XuNkQs 2026-08-04 15:19:07.079633374 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crestron-airmedia/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.jZVZ5V 2026-08-04 15:19:07.134633408 +0000
+++ /tmp/new.lijYAj 2026-08-04 15:19:07.134633408 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cribl-edge/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.O59BWL 2026-08-04 15:19:07.183633439 +0000
+++ /tmp/new.ksY4kI 2026-08-04 15:19:07.183633439 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crisisgo/windows.json=== Install // 27b04e7a -> 01aaef68 ===
--- /tmp/old.Qw6WkF 2026-08-04 15:19:07.238633473 +0000
+++ /tmp/new.IpVgV3 2026-08-04 15:19:07.239633474 +0000
@@ -11,7 +11,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ISSETUPDRIVEN=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ISSETUPDRIVEN=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cryptomator/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.EMpUzH 2026-08-04 15:19:07.296633509 +0000
+++ /tmp/new.XYtFEt 2026-08-04 15:19:07.296633509 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cursor/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cyberduck-cli/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.7LaD5H 2026-08-04 15:19:07.382633562 +0000
+++ /tmp/new.8VjREQ 2026-08-04 15:19:07.382633562 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cyberduck/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cyberduck/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.5CZZ9y 2026-08-04 15:19:07.472633618 +0000
+++ /tmp/new.miNfqZ 2026-08-04 15:19:07.472633618 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/db-browser-for-sqlite/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.LeTlKM 2026-08-04 15:19:07.539633659 +0000
+++ /tmp/new.lLL07a 2026-08-04 15:19:07.539633659 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dbgate/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/delinea-connection-manager/windows.json=== Install // d3f438be -> 00512c4c ===
--- /tmp/old.GNFA7t 2026-08-04 15:19:07.619633709 +0000
+++ /tmp/new.32lySn 2026-08-04 15:19:07.619633709 +0000
@@ -12,7 +12,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 MSIINSTALLPERUSER=`"`" /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 MSIINSTALLPERUSER=`"`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/devolutions-launcher/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.hoZVo8 2026-08-04 15:19:07.670633741 +0000
+++ /tmp/new.rxdFHu 2026-08-04 15:19:07.670633741 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/devolutions-workspace/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ELiOEZ 2026-08-04 15:19:07.722633773 +0000
+++ /tmp/new.IBIUWc 2026-08-04 15:19:07.722633773 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/devpod/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.6tbRY6 2026-08-04 15:19:07.777633807 +0000
+++ /tmp/new.XncT3i 2026-08-04 15:19:07.777633807 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== 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/dngrep/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.LXgbWt 2026-08-04 15:19:07.899633883 +0000
+++ /tmp/new.3utQrH 2026-08-04 15:19:07.899633883 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/docker/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dot/darwin.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/draftable-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.VA5DK8 2026-08-04 15:19:08.056633980 +0000
+++ /tmp/new.ICZ6YA 2026-08-04 15:19:08.056633980 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/drawio/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/drofus/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.hbm1jm 2026-08-04 15:19:08.145634036 +0000
+++ /tmp/new.FgsoFi 2026-08-04 15:19:08.145634036 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dropbox/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.xpnOVr 2026-08-04 15:19:08.194634066 +0000
+++ /tmp/new.wqaoez 2026-08-04 15:19:08.194634066 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/druva-insync/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.DtzsGR 2026-08-04 15:19:08.253634103 +0000
+++ /tmp/new.G3L8dl 2026-08-04 15:19:08.253634103 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/duo-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.JbL4TE 2026-08-04 15:19:08.314634141 +0000
+++ /tmp/new.ka2Sp6 2026-08-04 15:19:08.314634141 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.yHTzpE 2026-08-04 15:19:08.362634170 +0000
+++ /tmp/new.TkmiEU 2026-08-04 15:19:08.362634170 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.3Op8fn 2026-08-04 15:19:08.410634200 +0000
+++ /tmp/new.oBV9ew 2026-08-04 15:19:08.410634200 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.opWzly 2026-08-04 15:19:08.456634229 +0000
+++ /tmp/new.QtDFyu 2026-08-04 15:19:08.456634229 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.0XWUIz 2026-08-04 15:19:08.501634257 +0000
+++ /tmp/new.93WAKv 2026-08-04 15:19:08.501634257 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.bO6pvJ 2026-08-04 15:19:08.549634287 +0000
+++ /tmp/new.3tJb7U 2026-08-04 15:19:08.549634287 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.gUNzbE 2026-08-04 15:19:08.595634315 +0000
+++ /tmp/new.ZycHmv 2026-08-04 15:19:08.595634315 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.6Hvi3s 2026-08-04 15:19:08.642634344 +0000
+++ /tmp/new.TOvztb 2026-08-04 15:19:08.642634344 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.kTQaLX 2026-08-04 15:19:08.687634372 +0000
+++ /tmp/new.pzWCBe 2026-08-04 15:19:08.687634372 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/egnyte-webedit/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.rFWE5F 2026-08-04 15:19:08.741634406 +0000
+++ /tmp/new.LnePiF 2026-08-04 15:19:08.741634406 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/elevate-uc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.l7lgQN 2026-08-04 15:19:08.796634440 +0000
+++ /tmp/new.4AeUhB 2026-08-04 15:19:08.796634440 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/elgato-control-center/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.t9bYxE 2026-08-04 15:19:08.880634492 +0000
+++ /tmp/new.WHqezD 2026-08-04 15:19:08.880634492 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/elgato-stream-deck/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.h0GblM 2026-08-04 15:19:08.929634523 +0000
+++ /tmp/new.BB1R2w 2026-08-04 15:19:08.930634523 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/emclient/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.xn5ckK 2026-08-04 15:19:08.976634552 +0000
+++ /tmp/new.JRbjMM 2026-08-04 15:19:08.976634552 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/endnote/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.MynJ6f 2026-08-04 15:19:09.031634586 +0000
+++ /tmp/new.4aRh1u 2026-08-04 15:19:09.031634586 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/epic-games/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.epo5Fg 2026-08-04 15:19:09.084634619 +0000
+++ /tmp/new.g6WWbc 2026-08-04 15:19:09.084634619 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/exifcleaner/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/filebeat/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.88B91A 2026-08-04 15:19:09.165634669 +0000
+++ /tmp/new.g7vE1O 2026-08-04 15:19:09.165634669 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox@developer-edition/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox@nightly/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/flexwhere/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.QfFMaT 2026-08-04 15:19:09.351634785 +0000
+++ /tmp/new.r1qjmt 2026-08-04 15:19:09.351634785 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/fortify/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.H8LaA9 2026-08-04 15:19:09.407634820 +0000
+++ /tmp/new.6s0mDb 2026-08-04 15:19:09.407634820 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/genesys-cloud/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/genesys-cloud/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.7WL53x 2026-08-04 15:19:09.501634882 +0000
+++ /tmp/new.Z1ePlC 2026-08-04 15:19:09.501634882 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/geogebra-classic/windows.json=== Install // ebe19da8 -> d43086d9 ===
--- /tmp/old.riiSrS 2026-08-04 15:19:09.551634914 +0000
+++ /tmp/new.DRnCPv 2026-08-04 15:19:09.551634914 +0000
@@ -10,7 +10,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/git-extensions/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.2pgBXt 2026-08-04 15:19:09.600634946 +0000
+++ /tmp/new.E02zyo 2026-08-04 15:19:09.600634946 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/github-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.AvgD4n 2026-08-04 15:19:09.654634982 +0000
+++ /tmp/new.vAcYsq 2026-08-04 15:19:09.654634982 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/go/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Dhuy0S 2026-08-04 15:19:09.708635017 +0000
+++ /tmp/new.tbBSkH 2026-08-04 15:19:09.708635017 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/google-ads-editor/windows.json=== Install // bdccfcda -> 351845b5 ===
--- /tmp/old.3u2ypg 2026-08-04 15:19:09.755635047 +0000
+++ /tmp/new.Ni8xKS 2026-08-04 15:19:09.755635047 +0000
@@ -11,7 +11,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/google-chrome/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.u6PKzQ 2026-08-04 15:19:09.802635078 +0000
+++ /tmp/new.vdEfni 2026-08-04 15:19:09.802635078 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/google-credential-provider-for-windows/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.4xlyPh 2026-08-04 15:19:09.857635114 +0000
+++ /tmp/new.3YtMMI 2026-08-04 15:19:09.858635115 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/gotomeeting/windows.json=== Install // 36ce6af0 -> a6c7d24e ===
--- /tmp/old.la9abC 2026-08-04 15:19:09.934635164 +0000
+++ /tmp/new.0nahk5 2026-08-04 15:19:09.934635164 +0000
@@ -8,7 +8,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`" G2MINSTALLFORALLUSERS=1" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`" G2MINSTALLFORALLUSERS=1" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== 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/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/grepwin/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.iX3DSu 2026-08-04 15:19:10.056635244 +0000
+++ /tmp/new.YAlrMZ 2026-08-04 15:19:10.056635244 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/home-assistant/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/hwmonitor/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.UExPuU 2026-08-04 15:19:10.174635321 +0000
+++ /tmp/new.O5beTc 2026-08-04 15:19:10.174635321 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.EjlDZB 2026-08-04 15:19:10.220635351 +0000
+++ /tmp/new.cJEgML 2026-08-04 15:19:10.220635351 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.wzXs6k 2026-08-04 15:19:10.265635381 +0000
+++ /tmp/new.lplCgD 2026-08-04 15:19:10.265635381 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.NMkmUA 2026-08-04 15:19:10.311635411 +0000
+++ /tmp/new.aHYaZG 2026-08-04 15:19:10.311635411 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.L24wos 2026-08-04 15:19:10.361635444 +0000
+++ /tmp/new.E0hVHU 2026-08-04 15:19:10.362635444 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.uuVLzk 2026-08-04 15:19:10.408635474 +0000
+++ /tmp/new.zVTxLC 2026-08-04 15:19:10.408635474 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.D30DZu 2026-08-04 15:19:10.454635504 +0000
+++ /tmp/new.f3QFfG 2026-08-04 15:19:10.454635504 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.iXO0Qd 2026-08-04 15:19:10.500635534 +0000
+++ /tmp/new.ywRLOt 2026-08-04 15:19:10.500635534 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/imageglass/windows.json=== Install // e7eaf6bb -> 72349997 ===
--- /tmp/old.LDlXoK 2026-08-04 15:19:10.546635564 +0000
+++ /tmp/new.lYRiv4 2026-08-04 15:19:10.546635564 +0000
@@ -9,7 +9,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/imhex/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.DDctc4 2026-08-04 15:19:10.613635608 +0000
+++ /tmp/new.G2lCqQ 2026-08-04 15:19:10.613635608 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/inkscape/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ts2boj 2026-08-04 15:19:10.684635655 +0000
+++ /tmp/new.CCNgXv 2026-08-04 15:19:10.684635655 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ironpython/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.w5uhHh 2026-08-04 15:19:10.734635688 +0000
+++ /tmp/new.uvdFJw 2026-08-04 15:19:10.734635688 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/jami/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.XUX4eS 2026-08-04 15:19:10.801635731 +0000
+++ /tmp/new.ullxO1 2026-08-04 15:19:10.801635731 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/jetbrains-toolbox/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/jetbrains-toolbox/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/keepassxc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.33Mapf 2026-08-04 15:19:10.943635825 +0000
+++ /tmp/new.ciMx7P 2026-08-04 15:19:10.943635825 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/lapce/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.1f4ndl 2026-08-04 15:19:11.011635869 +0000
+++ /tmp/new.2ov9cz 2026-08-04 15:19:11.011635869 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/lastpass/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.JyqbX6 2026-08-04 15:19:11.068635906 +0000
+++ /tmp/new.2Twr74 2026-08-04 15:19:11.068635906 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/libreoffice/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.B56xQ8 2026-08-04 15:19:11.117635938 +0000
+++ /tmp/new.hT8Bbv 2026-08-04 15:19:11.117635938 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/linear/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/linear/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/lookaway/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/macwhisper/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/marked-app/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mattermost/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.aIyQJX 2026-08-04 15:19:11.347636089 +0000
+++ /tmp/new.LKfmdc 2026-08-04 15:19:11.347636089 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-365-copilot/darwin.json=== Install // 49bf2ee3 -> 0be42f66 ===
--- /tmp/old.h0v3b1 2026-08-04 15:19:11.396636121 +0000
+++ /tmp/new.7GrPGo 2026-08-04 15:19:11.396636121 +0000
@@ -117,6 +117,6 @@
EOF
-sudo installer -pkg "$TMPDIR/Microsoft_365_Copilot_universal_1.2607.2001_Installer.pkg" -target / -applyChoiceChangesXML "$CHOICE_XML" || exit $?
+sudo installer -pkg "$TMPDIR/Microsoft_365_Copilot_universal_1.2607.2701_Installer.pkg" -target / -applyChoiceChangesXML "$CHOICE_XML" || exit $?
relaunch_application 'com.microsoft.m365copilot'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-edge/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.r1CoBv 2026-08-04 15:19:11.442636151 +0000
+++ /tmp/new.Qs0fRl 2026-08-04 15:19:11.442636151 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-teams/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-teams/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mixxx/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.WgUs8J 2026-08-04 15:19:11.586636245 +0000
+++ /tmp/new.wT03MU 2026-08-04 15:19:11.587636246 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mongodb-compass/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.WJT1r9 2026-08-04 15:19:11.642636282 +0000
+++ /tmp/new.U1U33m 2026-08-04 15:19:11.642636282 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mysqlworkbench/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.STva7b 2026-08-04 15:19:11.716636330 +0000
+++ /tmp/new.hOcZ6Y 2026-08-04 15:19:11.716636330 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/naps2/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.kvk8Jk 2026-08-04 15:19:11.767636363 +0000
+++ /tmp/new.dvWGSM 2026-08-04 15:19:11.767636363 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/nessus-agent/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.9FOw77 2026-08-04 15:19:11.817636396 +0000
+++ /tmp/new.BZY18w 2026-08-04 15:19:11.817636396 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/nextcloud/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ZZ0wBY 2026-08-04 15:19:11.866636428 +0000
+++ /tmp/new.AmLxjh 2026-08-04 15:19:11.867636429 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/nodejs/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Rnan4H 2026-08-04 15:19:11.912636458 +0000
+++ /tmp/new.Dq3tFX 2026-08-04 15:19:11.912636458 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/notepadexe/darwin.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/omnifocus/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/opencode-desktop/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/openvpn-connect/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.UoGO9E 2026-08-04 15:19:12.168636625 +0000
+++ /tmp/new.o3xsWt 2026-08-04 15:19:12.168636625 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/origami-studio/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/p4v/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.cIQXkC 2026-08-04 15:19:12.269636692 +0000
+++ /tmp/new.tE1Ynd 2026-08-04 15:19:12.269636692 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/pale-moon/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/pdfsam-basic/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.rKFAjT 2026-08-04 15:19:12.362636753 +0000
+++ /tmp/new.e9Vn9b 2026-08-04 15:19:12.362636753 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/postman/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/powershell/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.qissy3 2026-08-04 15:19:12.444636806 +0000
+++ /tmp/new.DZY7M2 2026-08-04 15:19:12.445636807 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/prisma-browser/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.BYERIa 2026-08-04 15:19:12.493636838 +0000
+++ /tmp/new.5a9ayI 2026-08-04 15:19:12.493636838 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/putty/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.49WhSO 2026-08-04 15:19:12.569636888 +0000
+++ /tmp/new.eNwvZl 2026-08-04 15:19:12.569636888 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/quip/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rectangle-pro/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/reflector/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Bx01uY 2026-08-04 15:19:12.711636981 +0000
+++ /tmp/new.Hj97Gm 2026-08-04 15:19:12.711636981 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/remote-desktop-manager/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.650OCX 2026-08-04 15:19:12.764637015 +0000
+++ /tmp/new.C00Xez 2026-08-04 15:19:12.764637015 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rewritebar/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rider/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/royal-tsx/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.KV4bgX 2026-08-04 15:19:12.887637095 +0000
+++ /tmp/new.0OtMHZ 2026-08-04 15:19:12.887637095 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/shapr3d/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/sharefile/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.HFyPxT 2026-08-04 15:19:12.993637165 +0000
+++ /tmp/new.rTByJq 2026-08-04 15:19:12.993637165 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/snagit/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.hfPR6n 2026-08-04 15:19:13.072637217 +0000
+++ /tmp/new.e5Dvsq 2026-08-04 15:19:13.073637217 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/sonicwall-netextender/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.8l0tWV 2026-08-04 15:19:13.123637250 +0000
+++ /tmp/new.aiOdm4 2026-08-04 15:19:13.123637250 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/sourcetree/windows.json=== Install // 17f62246 -> e23ea804 ===
--- /tmp/old.t7aVE6 2026-08-04 15:19:13.203637302 +0000
+++ /tmp/new.LBKLcN 2026-08-04 15:19:13.203637302 +0000
@@ -3,7 +3,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`" ACCEPTEULA=1" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`" ACCEPTEULA=1" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/spotify/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tailscale-app/darwin.json=== Install // e568557b -> 6301b666 ===
--- /tmp/old.WDniwQ 2026-08-04 15:19:13.296637363 +0000
+++ /tmp/new.Hfz3og 2026-08-04 15:19:13.297637364 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'io.tailscale.ipn.macsys'
-sudo installer -pkg "$TMPDIR/Tailscale-1.98.10-macos.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/Tailscale-1.102.1-macos.pkg" -target / || exit $?
relaunch_application 'io.tailscale.ipn.macsys'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tailscale/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Yew9FI 2026-08-04 15:19:13.349637398 +0000
+++ /tmp/new.Za3zf4 2026-08-04 15:19:13.349637398 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/textexpander/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.1DGC8M 2026-08-04 15:19:13.407637436 +0000
+++ /tmp/new.4kQZD1 2026-08-04 15:19:13.407637436 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tightvnc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.fIPfaK 2026-08-04 15:19:13.458637469 +0000
+++ /tmp/new.q0auYK 2026-08-04 15:19:13.458637469 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/topaz-gigapixel-ai/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.deA8TF 2026-08-04 15:19:13.534637519 +0000
+++ /tmp/new.9FglmE 2026-08-04 15:19:13.534637519 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/topaz-photo-ai/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.jVVxg1 2026-08-04 15:19:13.609637568 +0000
+++ /tmp/new.GAf0s4 2026-08-04 15:19:13.609637568 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tortoisegit/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ioNFSZ 2026-08-04 15:19:13.675637611 +0000
+++ /tmp/new.f52A5N 2026-08-04 15:19:13.675637611 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tower/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.yQnypE 2026-08-04 15:19:13.733637649 +0000
+++ /tmp/new.Ky7rqp 2026-08-04 15:19:13.733637649 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/transmission/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.pr3r4F 2026-08-04 15:19:13.793637688 +0000
+++ /tmp/new.alPlu4 2026-08-04 15:19:13.793637688 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/twingate/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.2lMbCH 2026-08-04 15:19:13.867637736 +0000
+++ /tmp/new.79QTnu 2026-08-04 15:19:13.867637736 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/typeface/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ultimaker-cura/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.I29fXl 2026-08-04 15:19:13.975637807 +0000
+++ /tmp/new.OgA2gV 2026-08-04 15:19:13.975637807 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/vlc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.5LrrkA 2026-08-04 15:19:14.065637866 +0000
+++ /tmp/new.Yj39H1 2026-08-04 15:19:14.065637866 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/wave/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.xfhM6i 2026-08-04 15:19:14.141637915 +0000
+++ /tmp/new.pqMLX0 2026-08-04 15:19:14.141637915 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/weasis/darwin.json=== Install // e404586c -> 61706202 ===
--- /tmp/old.FRAIUA 2026-08-04 15:19:14.191637948 +0000
+++ /tmp/new.VtWcZF 2026-08-04 15:19:14.191637948 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'org.weasis.launcher'
-sudo installer -pkg "$TMPDIR/Weasis-4.7.1-aarch64.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/Weasis-4.7.2-aarch64.pkg" -target / || exit $?
relaunch_application 'org.weasis.launcher'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/weasis/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.MsgYAh 2026-08-04 15:19:14.253637989 +0000
+++ /tmp/new.8kexr2 2026-08-04 15:19:14.253637989 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/webex/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.sxQQYo 2026-08-04 15:19:14.309638025 +0000
+++ /tmp/new.e0sbnT 2026-08-04 15:19:14.309638025 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/whatsapp/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/windirstat/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.EPsymf 2026-08-04 15:19:14.390638078 +0000
+++ /tmp/new.9G3D93 2026-08-04 15:19:14.390638078 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/windows-app/darwin.json=== Install // 333033b1 -> 78ca7433 ===
--- /tmp/old.ihWLcq 2026-08-04 15:19:14.441638112 +0000
+++ /tmp/new.4e85kW 2026-08-04 15:19:14.442638112 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'com.microsoft.rdc.macos'
-sudo installer -pkg "$TMPDIR/Windows_App_11.3.7_installer.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/Windows_App_11.3.8_installer.pkg" -target / || exit $?
relaunch_application 'com.microsoft.rdc.macos'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/winlogbeat/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.yzJpsX 2026-08-04 15:19:14.497638148 +0000
+++ /tmp/new.pBrJ84 2026-08-04 15:19:14.497638148 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/wireshark/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.8MSWzP 2026-08-04 15:19:14.559638189 +0000
+++ /tmp/new.mGvfSq 2026-08-04 15:19:14.560638189 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/wrike/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.DZWmcl 2026-08-04 15:19:14.640638242 +0000
+++ /tmp/new.O0kVG2 2026-08-04 15:19:14.640638242 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/yarn/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.7RcI1a 2026-08-04 15:19:14.692638276 +0000
+++ /tmp/new.o0imG7 2026-08-04 15:19:14.692638276 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/yubico-authenticator/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.SsMfUM 2026-08-04 15:19:14.754638316 +0000
+++ /tmp/new.ViDU3a 2026-08-04 15:19:14.754638316 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/zoom-outlook-plugin/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.68Vsmx 2026-08-04 15:19:14.806638350 +0000
+++ /tmp/new.jCqLbF 2026-08-04 15:19:14.806638350 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/zoom/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.O7Heu9 2026-08-04 15:19:14.862638387 +0000
+++ /tmp/new.s9q3Zw 2026-08-04 15:19:14.862638387 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/zulip/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Y1SSme 2026-08-04 15:19:14.932638432 +0000
+++ /tmp/new.q9yg5F 2026-08-04 15:19:14.932638432 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) === |
macitbetter.com rebuilt 6.0.4 (CFBundleVersion 260804.1, signed today) and replaced the zip at the same URL, so the hash Homebrew's cask still reports (64ab4149…) no longer matches what the CDN serves (b37f810f…). Payload verified benign before updating the hash: same Developer ID Application: Robert Rezabek (79RR9LPM2N), notarized, spctl accepted, CFBundleShortVersionString still 6.0.4.
Script Diff Resultsee/maintained-apps/outputs/1password/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.9Ukl0i 2026-08-04 15:31:35.935003013 +0000
+++ /tmp/new.ABYpxi 2026-08-04 15:31:35.935003013 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/7-zip/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.r1yXA6 2026-08-04 15:31:36.001002172 +0000
+++ /tmp/new.33VcbK 2026-08-04 15:31:36.002002159 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/8x8-work/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/8x8-work/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.OZ37c4 2026-08-04 15:31:36.095000975 +0000
+++ /tmp/new.fUbiE6 2026-08-04 15:31:36.095000975 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/adobe-acrobat-pro/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/adobe-acrobat-reader/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/adobe-dng-converter/darwin.json=== Install // b175e533 -> ac06e091 ===
--- /tmp/old.an31qR 2026-08-04 15:31:36.224999320 +0000
+++ /tmp/new.RSZ9oc 2026-08-04 15:31:36.224999320 +0000
@@ -101,5 +101,5 @@
hdiutil detach "$MOUNT_POINT" || true
# install pkg files
quit_and_track_application 'com.adobe.DNGConverter'
-sudo installer -pkg "$TMPDIR/DNGConverter_18_4_1.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/DNGConverter_18_5.pkg" -target / || exit $?
relaunch_application 'com.adobe.DNGConverter'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/advanced-installer/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.qczYWc 2026-08-04 15:31:36.278998632 +0000
+++ /tmp/new.ghX3Va 2026-08-04 15:31:36.278998632 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/advanced-renamer/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aircall/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.8ZtbAW 2026-08-04 15:31:36.379997345 +0000
+++ /tmp/new.3tLeO0 2026-08-04 15:31:36.379997345 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/airparrot/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Otytwr 2026-08-04 15:31:36.442996543 +0000
+++ /tmp/new.qJudqg 2026-08-04 15:31:36.442996543 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/airtame/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/alacritty/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.JvBjpg 2026-08-04 15:31:36.563995002 +0000
+++ /tmp/new.xFlJBG 2026-08-04 15:31:36.564994989 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/alfaview/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.U6GmKF 2026-08-04 15:31:36.619994289 +0000
+++ /tmp/new.Pz4qpY 2026-08-04 15:31:36.619994289 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/allway-sync/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.IcGiIR 2026-08-04 15:31:36.676993563 +0000
+++ /tmp/new.nFO5OS 2026-08-04 15:31:36.676993563 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.at7KDi 2026-08-04 15:31:36.728992901 +0000
+++ /tmp/new.XKlRTG 2026-08-04 15:31:36.728992901 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.wDfVQ3 2026-08-04 15:31:36.780992238 +0000
+++ /tmp/new.uejFNm 2026-08-04 15:31:36.780992238 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.eaYkU7 2026-08-04 15:31:36.831991589 +0000
+++ /tmp/new.LTAIsq 2026-08-04 15:31:36.831991589 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-24/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.AVjCVI 2026-08-04 15:31:36.896990761 +0000
+++ /tmp/new.UwmwYW 2026-08-04 15:31:36.896990761 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-25/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.EsROd5 2026-08-04 15:31:36.948990099 +0000
+++ /tmp/new.6tDoG9 2026-08-04 15:31:36.948990099 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-26/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.dM15VZ 2026-08-04 15:31:36.999989449 +0000
+++ /tmp/new.KqOYio 2026-08-04 15:31:36.999989449 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Q9pfPX 2026-08-04 15:31:37.050988800 +0000
+++ /tmp/new.slxsUG 2026-08-04 15:31:37.050988800 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-jre-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.fMyJSd 2026-08-04 15:31:37.102988137 +0000
+++ /tmp/new.G1Tq9f 2026-08-04 15:31:37.102988137 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-dcv-client/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.K7GhwW 2026-08-04 15:31:37.169987284 +0000
+++ /tmp/new.sWbs8S 2026-08-04 15:31:37.169987284 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-dcv-server/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.k7ppI7 2026-08-04 15:31:37.236986431 +0000
+++ /tmp/new.EYZRQt 2026-08-04 15:31:37.236986431 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-redshift-odbc-driver/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.WmX8GO 2026-08-04 15:31:37.291985730 +0000
+++ /tmp/new.P8KqgM 2026-08-04 15:31:37.291985730 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-workspaces/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.UpDejP 2026-08-04 15:31:37.359984864 +0000
+++ /tmp/new.dRa7z5 2026-08-04 15:31:37.359984864 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/apidog/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aptakube/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.e4c4m2 2026-08-04 15:31:37.447983744 +0000
+++ /tmp/new.V9qYB8 2026-08-04 15:31:37.447983744 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/arduino-ide/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.hFTGRO 2026-08-04 15:31:37.513982903 +0000
+++ /tmp/new.6P2IGB 2026-08-04 15:31:37.513982903 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/audiveris/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.VwUzpJ 2026-08-04 15:31:37.568982203 +0000
+++ /tmp/new.b0C4jp 2026-08-04 15:31:37.568982203 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/autopsy/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.xIncAq 2026-08-04 15:31:37.632981388 +0000
+++ /tmp/new.By5mtc 2026-08-04 15:31:37.632981388 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aws-cli/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.5smn8H 2026-08-04 15:31:37.678980802 +0000
+++ /tmp/new.Is54tw 2026-08-04 15:31:37.678980802 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aws-sam-cli/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.9DDi3V 2026-08-04 15:31:37.725980203 +0000
+++ /tmp/new.Hbl48E 2026-08-04 15:31:37.725980203 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aws-vpn-client/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.FwG7am 2026-08-04 15:31:37.772979605 +0000
+++ /tmp/new.Bff67F 2026-08-04 15:31:37.772979605 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/azul-zulu-25-jdk/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.DIHGeT 2026-08-04 15:31:37.823978955 +0000
+++ /tmp/new.mdXYR0 2026-08-04 15:31:37.824978942 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/azul-zulu-25-jre/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.fi5BaG 2026-08-04 15:31:37.873978318 +0000
+++ /tmp/new.96kScw 2026-08-04 15:31:37.873978318 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/azure-functions-core-tools/windows.json=== Install // 42c7791f -> 49fc2740 ===
--- /tmp/old.Y1jaDd 2026-08-04 15:31:37.930977592 +0000
+++ /tmp/new.gCIbxm 2026-08-04 15:31:37.930977592 +0000
@@ -11,7 +11,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/betterzip/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/beyond-compare/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/beyond-compare/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/bitwig-studio/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.zONUG0 2026-08-04 15:31:38.096975478 +0000
+++ /tmp/new.jRcl9n 2026-08-04 15:31:38.096975478 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/blender/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.qqfSGV 2026-08-04 15:31:38.152974765 +0000
+++ /tmp/new.7n8KUR 2026-08-04 15:31:38.152974765 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/bluej/windows.json=== Install // 29a9338f -> 85459eac ===
--- /tmp/old.cCoaIR 2026-08-04 15:31:38.228973922 +0000
+++ /tmp/new.amcsWM 2026-08-04 15:31:38.229973911 +0000
@@ -7,7 +7,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`" ALLUSERS=2" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`" ALLUSERS=2" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/box-drive/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Vq2Nv9 2026-08-04 15:31:38.283973346 +0000
+++ /tmp/new.cMiRao 2026-08-04 15:31:38.284973335 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/box-tools/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.3PpkLz 2026-08-04 15:31:38.336972791 +0000
+++ /tmp/new.Iy95dT 2026-08-04 15:31:38.336972791 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/browserstacklocal/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Fg9h2V 2026-08-04 15:31:38.387972258 +0000
+++ /tmp/new.ugJUmr 2026-08-04 15:31:38.387972258 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/bruno/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.xyXTSF 2026-08-04 15:31:38.438971724 +0000
+++ /tmp/new.TSLtcJ 2026-08-04 15:31:38.438971724 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/calibre/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Rt8gHK 2026-08-04 15:31:38.485971232 +0000
+++ /tmp/new.lqWXOu 2026-08-04 15:31:38.486971222 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/camtasia/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.FTlY6v 2026-08-04 15:31:38.541970646 +0000
+++ /tmp/new.aoV9Go 2026-08-04 15:31:38.541970646 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/charles/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/chef-workstation/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.i8WeLy 2026-08-04 15:31:38.629969725 +0000
+++ /tmp/new.p24kGu 2026-08-04 15:31:38.629969725 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cherry-keys/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.LxMFNR 2026-08-04 15:31:38.693969055 +0000
+++ /tmp/new.9ieJpE 2026-08-04 15:31:38.693969055 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/chrome-remote-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.LrEiVC 2026-08-04 15:31:38.748968480 +0000
+++ /tmp/new.LdrBUJ 2026-08-04 15:31:38.748968480 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cinc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.822qV2 2026-08-04 15:31:38.818967747 +0000
+++ /tmp/new.KOJMgE 2026-08-04 15:31:38.818967747 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cisco-jabber/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.X65D7e 2026-08-04 15:31:38.870967203 +0000
+++ /tmp/new.REKeG8 2026-08-04 15:31:38.870967203 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cisco-webex-recorder-and-player/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.7RZfrl 2026-08-04 15:31:38.926966617 +0000
+++ /tmp/new.qTgD7A 2026-08-04 15:31:38.927966606 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/claude/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/clickup/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.TN9NyG 2026-08-04 15:31:39.011965727 +0000
+++ /tmp/new.joT8Cd 2026-08-04 15:31:39.012965717 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/clockassist/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.r8EkiG 2026-08-04 15:31:39.069965120 +0000
+++ /tmp/new.U4Nd3j 2026-08-04 15:31:39.070965110 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/clockify/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.7pCgQb 2026-08-04 15:31:39.120964586 +0000
+++ /tmp/new.ZAbG8B 2026-08-04 15:31:39.121964576 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cloudflare-warp/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.b3kpbH 2026-08-04 15:31:39.172964042 +0000
+++ /tmp/new.jmwHip 2026-08-04 15:31:39.172964042 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cmake-app/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.VrHr1Z 2026-08-04 15:31:39.220963540 +0000
+++ /tmp/new.nXLeA2 2026-08-04 15:31:39.220963540 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/codemeter-runtime-kit/windows.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/colour-contrast-analyser/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.PBmRe7 2026-08-04 15:31:39.363962043 +0000
+++ /tmp/new.xKOCxI 2026-08-04 15:31:39.363962043 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crashplan/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.exWBpl 2026-08-04 15:31:39.412961530 +0000
+++ /tmp/new.KdS6bp 2026-08-04 15:31:39.412961530 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/creative-force-kelvin/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.VZ6xoH 2026-08-04 15:31:39.457961059 +0000
+++ /tmp/new.znYLIH 2026-08-04 15:31:39.457961059 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crestron-airmedia-peripherals/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.m8thyR 2026-08-04 15:31:39.513960473 +0000
+++ /tmp/new.loM8FQ 2026-08-04 15:31:39.513960473 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crestron-airmedia/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Tu1eqm 2026-08-04 15:31:39.570959877 +0000
+++ /tmp/new.yQ9eFS 2026-08-04 15:31:39.570959877 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cribl-edge/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.C2EwqT 2026-08-04 15:31:39.621959343 +0000
+++ /tmp/new.bWC4zr 2026-08-04 15:31:39.622959333 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crisisgo/windows.json=== Install // 27b04e7a -> 01aaef68 ===
--- /tmp/old.Hak3SK 2026-08-04 15:31:39.679958736 +0000
+++ /tmp/new.Hp5kZK 2026-08-04 15:31:39.679958736 +0000
@@ -11,7 +11,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ISSETUPDRIVEN=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ISSETUPDRIVEN=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cryptomator/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.s3vPGY 2026-08-04 15:31:39.740958098 +0000
+++ /tmp/new.Bj1wGN 2026-08-04 15:31:39.741958087 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cursor/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cyberduck-cli/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ie5c11 2026-08-04 15:31:39.832957135 +0000
+++ /tmp/new.1wBmjD 2026-08-04 15:31:39.832957135 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cyberduck/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cyberduck/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.NPWyQ2 2026-08-04 15:31:39.927956141 +0000
+++ /tmp/new.L6zahY 2026-08-04 15:31:39.927956141 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/db-browser-for-sqlite/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ejdzlG 2026-08-04 15:31:39.996955419 +0000
+++ /tmp/new.KSJscT 2026-08-04 15:31:39.997955408 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dbgate/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/delinea-connection-manager/windows.json=== Install // d3f438be -> 00512c4c ===
--- /tmp/old.cRqMpi 2026-08-04 15:31:40.082954519 +0000
+++ /tmp/new.9jQXnK 2026-08-04 15:31:40.082954519 +0000
@@ -12,7 +12,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 MSIINSTALLPERUSER=`"`" /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 MSIINSTALLPERUSER=`"`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/devolutions-launcher/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Lo2iud 2026-08-04 15:31:40.136953953 +0000
+++ /tmp/new.36gepD 2026-08-04 15:31:40.137953943 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/devolutions-workspace/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.kkCgJU 2026-08-04 15:31:40.192953367 +0000
+++ /tmp/new.ziBkgy 2026-08-04 15:31:40.192953367 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/devpod/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.CM9aA2 2026-08-04 15:31:40.250952760 +0000
+++ /tmp/new.lcavlA 2026-08-04 15:31:40.250952760 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== 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/dngrep/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.N9nOUh 2026-08-04 15:31:40.380951400 +0000
+++ /tmp/new.zOjdcI 2026-08-04 15:31:40.380951400 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/docker/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dot/darwin.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/draftable-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.NcCc2h 2026-08-04 15:31:40.542949704 +0000
+++ /tmp/new.e9dvYZ 2026-08-04 15:31:40.542949704 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/drawio/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/drofus/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.q07jpI 2026-08-04 15:31:40.636948721 +0000
+++ /tmp/new.ibDeF0 2026-08-04 15:31:40.637948710 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dropbox/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.FtWkb5 2026-08-04 15:31:40.688948176 +0000
+++ /tmp/new.mH5lHr 2026-08-04 15:31:40.688948176 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/druva-insync/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ZeJtYT 2026-08-04 15:31:40.749947538 +0000
+++ /tmp/new.rB81bM 2026-08-04 15:31:40.750947527 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/duo-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.vWfkJn 2026-08-04 15:31:40.814946858 +0000
+++ /tmp/new.At4eHz 2026-08-04 15:31:40.814946858 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.2qqfRi 2026-08-04 15:31:40.864946335 +0000
+++ /tmp/new.qNbZhE 2026-08-04 15:31:40.864946335 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.UJGicg 2026-08-04 15:31:40.914945811 +0000
+++ /tmp/new.QcEJ0p 2026-08-04 15:31:40.914945811 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.II2mOe 2026-08-04 15:31:40.962945309 +0000
+++ /tmp/new.S8hV3z 2026-08-04 15:31:40.962945309 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.2rYmhy 2026-08-04 15:31:41.009944817 +0000
+++ /tmp/new.9UVVST 2026-08-04 15:31:41.009944817 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.XSuXhR 2026-08-04 15:31:41.059944294 +0000
+++ /tmp/new.6fAfGy 2026-08-04 15:31:41.059944294 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.1twYyD 2026-08-04 15:31:41.107943791 +0000
+++ /tmp/new.LF5dbE 2026-08-04 15:31:41.107943791 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ob0qkC 2026-08-04 15:31:41.156943278 +0000
+++ /tmp/new.83n31H 2026-08-04 15:31:41.156943278 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.lhnuc4 2026-08-04 15:31:41.203942787 +0000
+++ /tmp/new.ZZdsYO 2026-08-04 15:31:41.203942787 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/egnyte-webedit/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.sq7xS2 2026-08-04 15:31:41.262942169 +0000
+++ /tmp/new.70FcVS 2026-08-04 15:31:41.262942169 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/elevate-uc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Uo28c3 2026-08-04 15:31:41.319941573 +0000
+++ /tmp/new.2LG920 2026-08-04 15:31:41.319941573 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/elgato-control-center/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.9UTD6q 2026-08-04 15:31:41.390940830 +0000
+++ /tmp/new.gY2yZX 2026-08-04 15:31:41.390940830 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/elgato-stream-deck/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ohNF4E 2026-08-04 15:31:41.441940296 +0000
+++ /tmp/new.88v9mu 2026-08-04 15:31:41.441940296 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/emclient/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.G5eEW7 2026-08-04 15:31:41.489939794 +0000
+++ /tmp/new.uDS1QD 2026-08-04 15:31:41.490939783 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/endnote/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.2djDJG 2026-08-04 15:31:41.547939209 +0000
+++ /tmp/new.LxD6sI 2026-08-04 15:31:41.547939209 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/epic-games/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.VIHTpO 2026-08-04 15:31:41.603938650 +0000
+++ /tmp/new.w6A6qd 2026-08-04 15:31:41.603938650 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/exifcleaner/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/filebeat/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.8JDMjK 2026-08-04 15:31:41.701937673 +0000
+++ /tmp/new.zrqFG0 2026-08-04 15:31:41.701937673 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox@developer-edition/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox@nightly/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/flexwhere/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Z6ysi9 2026-08-04 15:31:41.898935710 +0000
+++ /tmp/new.7WJK7m 2026-08-04 15:31:41.898935710 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/fortify/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.tFCm2P 2026-08-04 15:31:41.956935131 +0000
+++ /tmp/new.TxTiUP 2026-08-04 15:31:41.956935131 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/genesys-cloud/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/genesys-cloud/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.GBdrAb 2026-08-04 15:31:42.054934154 +0000
+++ /tmp/new.9Lqf7b 2026-08-04 15:31:42.054934154 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/geogebra-classic/windows.json=== Install // ebe19da8 -> d43086d9 ===
--- /tmp/old.0cjyNR 2026-08-04 15:31:42.108933616 +0000
+++ /tmp/new.XmK7pT 2026-08-04 15:31:42.108933616 +0000
@@ -10,7 +10,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/git-extensions/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.pML31E 2026-08-04 15:31:42.160933098 +0000
+++ /tmp/new.37Aozg 2026-08-04 15:31:42.160933098 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/github-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ruD9h9 2026-08-04 15:31:42.219932509 +0000
+++ /tmp/new.RHKmxy 2026-08-04 15:31:42.219932509 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/go/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.irPOLR 2026-08-04 15:31:42.278931921 +0000
+++ /tmp/new.wEa9ZF 2026-08-04 15:31:42.278931921 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/google-ads-editor/windows.json=== Install // bdccfcda -> 351845b5 ===
--- /tmp/old.bTYwhu 2026-08-04 15:31:42.327931433 +0000
+++ /tmp/new.nqMuUn 2026-08-04 15:31:42.327931433 +0000
@@ -11,7 +11,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/google-chrome/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.tMotit 2026-08-04 15:31:42.376930944 +0000
+++ /tmp/new.NQYCY9 2026-08-04 15:31:42.376930944 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/google-credential-provider-for-windows/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.XKS2dq 2026-08-04 15:31:42.435930356 +0000
+++ /tmp/new.mtAzW6 2026-08-04 15:31:42.435930356 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/gotomeeting/windows.json=== Install // 36ce6af0 -> a6c7d24e ===
--- /tmp/old.ylhYhf 2026-08-04 15:31:42.514929569 +0000
+++ /tmp/new.oSTIak 2026-08-04 15:31:42.514929569 +0000
@@ -8,7 +8,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`" G2MINSTALLFORALLUSERS=1" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`" G2MINSTALLFORALLUSERS=1" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== 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/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/grepwin/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.qOZ6Xp 2026-08-04 15:31:42.643928283 +0000
+++ /tmp/new.CZFw7Y 2026-08-04 15:31:42.644928273 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/home-assistant/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/hwmonitor/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.bnQyhu 2026-08-04 15:31:42.768927036 +0000
+++ /tmp/new.nTlha0 2026-08-04 15:31:42.768927036 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.DjrAFL 2026-08-04 15:31:42.817926548 +0000
+++ /tmp/new.ObIvop 2026-08-04 15:31:42.817926548 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.t9EV1B 2026-08-04 15:31:42.866926060 +0000
+++ /tmp/new.YTFc9x 2026-08-04 15:31:42.866926060 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.lybcEJ 2026-08-04 15:31:42.915925571 +0000
+++ /tmp/new.4mY6jq 2026-08-04 15:31:42.915925571 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.YSSlz3 2026-08-04 15:31:42.968925043 +0000
+++ /tmp/new.skZDBt 2026-08-04 15:31:42.968925043 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.vIty4A 2026-08-04 15:31:43.017924554 +0000
+++ /tmp/new.86gF1Y 2026-08-04 15:31:43.017924554 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.KkyqLz 2026-08-04 15:31:43.065924076 +0000
+++ /tmp/new.Yj7CPJ 2026-08-04 15:31:43.065924076 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.iLczah 2026-08-04 15:31:43.114923587 +0000
+++ /tmp/new.7ipo0H 2026-08-04 15:31:43.114923587 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/imageglass/windows.json=== Install // e7eaf6bb -> 72349997 ===
--- /tmp/old.JIIXCV 2026-08-04 15:31:43.163923099 +0000
+++ /tmp/new.V12vVc 2026-08-04 15:31:43.163923099 +0000
@@ -9,7 +9,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/imhex/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.6VKEMM 2026-08-04 15:31:43.234922391 +0000
+++ /tmp/new.gHrksl 2026-08-04 15:31:43.235922381 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/inkscape/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.a46Tp1 2026-08-04 15:31:43.309921643 +0000
+++ /tmp/new.b3TudI 2026-08-04 15:31:43.309921643 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ironpython/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.l2VUuo 2026-08-04 15:31:43.363921105 +0000
+++ /tmp/new.kld8l7 2026-08-04 15:31:43.363921105 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/jami/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.k6DtT1 2026-08-04 15:31:43.434920397 +0000
+++ /tmp/new.SP0lYQ 2026-08-04 15:31:43.434920397 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/jetbrains-toolbox/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/jetbrains-toolbox/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/keepassxc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.J4ekh2 2026-08-04 15:31:43.583918912 +0000
+++ /tmp/new.fVPqlI 2026-08-04 15:31:43.583918912 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/lapce/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.46HjhN 2026-08-04 15:31:43.655918194 +0000
+++ /tmp/new.f9IWI0 2026-08-04 15:31:43.656918184 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/lastpass/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.5NNxuT 2026-08-04 15:31:43.714917606 +0000
+++ /tmp/new.o9dAyj 2026-08-04 15:31:43.714917606 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/libreoffice/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Jaf7tt 2026-08-04 15:31:43.766917087 +0000
+++ /tmp/new.vNBIOf 2026-08-04 15:31:43.766917087 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/linear/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/linear/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/lookaway/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/macwhisper/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/marked-app/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mattermost/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.DzbIuX 2026-08-04 15:31:44.013914625 +0000
+++ /tmp/new.gQJSvd 2026-08-04 15:31:44.013914625 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-365-copilot/darwin.json=== Install // 49bf2ee3 -> 0be42f66 ===
--- /tmp/old.7qD8Cd 2026-08-04 15:31:44.065914106 +0000
+++ /tmp/new.4RMDNo 2026-08-04 15:31:44.065914106 +0000
@@ -117,6 +117,6 @@
EOF
-sudo installer -pkg "$TMPDIR/Microsoft_365_Copilot_universal_1.2607.2001_Installer.pkg" -target / -applyChoiceChangesXML "$CHOICE_XML" || exit $?
+sudo installer -pkg "$TMPDIR/Microsoft_365_Copilot_universal_1.2607.2701_Installer.pkg" -target / -applyChoiceChangesXML "$CHOICE_XML" || exit $?
relaunch_application 'com.microsoft.m365copilot'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-edge/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.j1uIL0 2026-08-04 15:31:44.115913608 +0000
+++ /tmp/new.8N0Pg3 2026-08-04 15:31:44.115913608 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-teams/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-teams/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mixxx/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.eWKFpu 2026-08-04 15:31:44.266912103 +0000
+++ /tmp/new.RVQprR 2026-08-04 15:31:44.266912103 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mongodb-compass/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.6Y91CS 2026-08-04 15:31:44.325911514 +0000
+++ /tmp/new.y3wtjb 2026-08-04 15:31:44.325911514 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mysqlworkbench/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.rDtpvZ 2026-08-04 15:31:44.401910757 +0000
+++ /tmp/new.i6UK3l 2026-08-04 15:31:44.401910757 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/naps2/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.8z3pVF 2026-08-04 15:31:44.455910219 +0000
+++ /tmp/new.3mV8wL 2026-08-04 15:31:44.455910219 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/nessus-agent/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.WDJa7I 2026-08-04 15:31:44.506909710 +0000
+++ /tmp/new.tdBMNX 2026-08-04 15:31:44.507909700 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/nextcloud/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.4d2xCJ 2026-08-04 15:31:44.557909202 +0000
+++ /tmp/new.9PN7z9 2026-08-04 15:31:44.557909202 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/nodejs/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.2XMFgl 2026-08-04 15:31:44.604908733 +0000
+++ /tmp/new.gtzICq 2026-08-04 15:31:44.605908723 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/notepadexe/darwin.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/omnifocus/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/opencode-desktop/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/openvpn-connect/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.3rjhTN 2026-08-04 15:31:44.856906221 +0000
+++ /tmp/new.Iohlq5 2026-08-04 15:31:44.856906221 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/origami-studio/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/p4v/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.PeYMrn 2026-08-04 15:31:44.958905204 +0000
+++ /tmp/new.mlRp4o 2026-08-04 15:31:44.958905204 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/pale-moon/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/pdfsam-basic/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.qy1U0e 2026-08-04 15:31:45.053904257 +0000
+++ /tmp/new.4RSpKj 2026-08-04 15:31:45.053904257 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/postman/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/powershell/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.sMmPOj 2026-08-04 15:31:45.142903370 +0000
+++ /tmp/new.2EBo9x 2026-08-04 15:31:45.142903370 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/prisma-browser/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.YKUQCY 2026-08-04 15:31:45.192902871 +0000
+++ /tmp/new.RuE9ta 2026-08-04 15:31:45.192902871 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/putty/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.tO8knb 2026-08-04 15:31:45.270902094 +0000
+++ /tmp/new.NgOVxD 2026-08-04 15:31:45.270902094 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/quip/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rectangle-pro/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/reflector/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.AjJYkZ 2026-08-04 15:31:45.418900618 +0000
+++ /tmp/new.e8PJv0 2026-08-04 15:31:45.418900618 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/remote-desktop-manager/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.dLaoLE 2026-08-04 15:31:45.488899921 +0000
+++ /tmp/new.SqWcGv 2026-08-04 15:31:45.489899911 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rewritebar/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rider/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/royal-tsx/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.g4K25Y 2026-08-04 15:31:45.620898605 +0000
+++ /tmp/new.VsQDcu 2026-08-04 15:31:45.620898605 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/shapr3d/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/sharefile/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.gpZ9fe 2026-08-04 15:31:45.733897478 +0000
+++ /tmp/new.nTJgWp 2026-08-04 15:31:45.733897478 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/snagit/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.PTD3SB 2026-08-04 15:31:45.815896661 +0000
+++ /tmp/new.h72GVZ 2026-08-04 15:31:45.815896661 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/sonicwall-netextender/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Id2YXN 2026-08-04 15:31:45.869896122 +0000
+++ /tmp/new.xvBj58 2026-08-04 15:31:45.869896122 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/sourcetree/windows.json=== Install // 17f62246 -> e23ea804 ===
--- /tmp/old.R7XATS 2026-08-04 15:31:45.951895305 +0000
+++ /tmp/new.5IBwli 2026-08-04 15:31:45.951895305 +0000
@@ -3,7 +3,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`" ACCEPTEULA=1" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`" ACCEPTEULA=1" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/spotify/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tailscale-app/darwin.json=== Install // e568557b -> 6301b666 ===
--- /tmp/old.8j7pEA 2026-08-04 15:31:46.052894298 +0000
+++ /tmp/new.QTiwXA 2026-08-04 15:31:46.052894298 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'io.tailscale.ipn.macsys'
-sudo installer -pkg "$TMPDIR/Tailscale-1.98.10-macos.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/Tailscale-1.102.1-macos.pkg" -target / || exit $?
relaunch_application 'io.tailscale.ipn.macsys'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tailscale/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.SBtwHR 2026-08-04 15:31:46.107893750 +0000
+++ /tmp/new.RJb6PF 2026-08-04 15:31:46.107893750 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/textexpander/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ym9mnJ 2026-08-04 15:31:46.169893132 +0000
+++ /tmp/new.sZyaDG 2026-08-04 15:31:46.169893132 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tightvnc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.XSf3Sm 2026-08-04 15:31:46.224892583 +0000
+++ /tmp/new.ePTr05 2026-08-04 15:31:46.224892583 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/topaz-gigapixel-ai/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.vYf5TW 2026-08-04 15:31:46.302891806 +0000
+++ /tmp/new.ElMvul 2026-08-04 15:31:46.302891806 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/topaz-photo-ai/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.qyZ6PD 2026-08-04 15:31:46.380891028 +0000
+++ /tmp/new.0NPRIj 2026-08-04 15:31:46.380891028 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tortoisegit/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Nzn6y5 2026-08-04 15:31:46.449890340 +0000
+++ /tmp/new.rasmZj 2026-08-04 15:31:46.449890340 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tower/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.xvqpb6 2026-08-04 15:31:46.510889732 +0000
+++ /tmp/new.04B7oV 2026-08-04 15:31:46.510889732 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/transmission/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.d1taaD 2026-08-04 15:31:46.574889094 +0000
+++ /tmp/new.hc3ZjU 2026-08-04 15:31:46.574889094 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/twingate/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.eEsURN 2026-08-04 15:31:46.654888296 +0000
+++ /tmp/new.YATtdV 2026-08-04 15:31:46.654888296 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/typeface/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ultimaker-cura/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.O1xNpy 2026-08-04 15:31:46.771887130 +0000
+++ /tmp/new.ujedhd 2026-08-04 15:31:46.771887130 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/vlc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.9Cbd7U 2026-08-04 15:31:46.864886203 +0000
+++ /tmp/new.VmBjpc 2026-08-04 15:31:46.864886203 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/wave/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.qtKfgd 2026-08-04 15:31:46.943885415 +0000
+++ /tmp/new.ilupjB 2026-08-04 15:31:46.943885415 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/weasis/darwin.json=== Install // e404586c -> 61706202 ===
--- /tmp/old.4IWIkh 2026-08-04 15:31:46.996884887 +0000
+++ /tmp/new.pWfuc7 2026-08-04 15:31:46.996884887 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'org.weasis.launcher'
-sudo installer -pkg "$TMPDIR/Weasis-4.7.1-aarch64.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/Weasis-4.7.2-aarch64.pkg" -target / || exit $?
relaunch_application 'org.weasis.launcher'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/weasis/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.tk9Fz8 2026-08-04 15:31:47.061884239 +0000
+++ /tmp/new.44vSU8 2026-08-04 15:31:47.061884239 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/webex/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.O2WZ0v 2026-08-04 15:31:47.121883641 +0000
+++ /tmp/new.dFmk0T 2026-08-04 15:31:47.121883641 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/whatsapp/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/windirstat/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ZZPUN2 2026-08-04 15:31:47.208882774 +0000
+++ /tmp/new.izKsgF 2026-08-04 15:31:47.208882774 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/windows-app/darwin.json=== Install // 333033b1 -> 78ca7433 ===
--- /tmp/old.E1xpN0 2026-08-04 15:31:47.262882235 +0000
+++ /tmp/new.JJtXQZ 2026-08-04 15:31:47.262882235 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'com.microsoft.rdc.macos'
-sudo installer -pkg "$TMPDIR/Windows_App_11.3.7_installer.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/Windows_App_11.3.8_installer.pkg" -target / || exit $?
relaunch_application 'com.microsoft.rdc.macos'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/winlogbeat/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.63opOj 2026-08-04 15:31:47.320881657 +0000
+++ /tmp/new.LQ5TBi 2026-08-04 15:31:47.320881657 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/wireshark/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.To5933 2026-08-04 15:31:47.385881009 +0000
+++ /tmp/new.XbdqvT 2026-08-04 15:31:47.385881009 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/wrike/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.K2gZwi 2026-08-04 15:31:47.471880152 +0000
+++ /tmp/new.5VF3AL 2026-08-04 15:31:47.471880152 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/yarn/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.70Zy7m 2026-08-04 15:31:47.526879603 +0000
+++ /tmp/new.iqSbs1 2026-08-04 15:31:47.526879603 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/yubico-authenticator/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.R8JkL9 2026-08-04 15:31:47.591878955 +0000
+++ /tmp/new.vQ8Iwd 2026-08-04 15:31:47.591878955 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/zoom-outlook-plugin/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.CE541M 2026-08-04 15:31:47.646878407 +0000
+++ /tmp/new.zGb9ve 2026-08-04 15:31:47.646878407 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/zoom/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.1T1hqi 2026-08-04 15:31:47.706877809 +0000
+++ /tmp/new.ByqI92 2026-08-04 15:31:47.706877809 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/zulip/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.9h2uPS 2026-08-04 15:31:47.779877081 +0000
+++ /tmp/new.lU2SCw 2026-08-04 15:31:47.779877081 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) === |
GCPW ships from a non-pinned URL (dl.google.com/credentialprovider/gcpwstandaloneenterprise64.msi) that Google overwrites in place on every release, so winget's pinned InstallerSha256 goes stale the moment a new build lands. winget still has only 148.0.7778.160 (last bumped 2026-07-10) while that URL now serves 150.0.7871.100, so the manifest hash can never match and validation fails on every run, not just this one. Same situation as Google Chrome and the other non-pinned-URL apps: set ignore_hash so the manifest carries "no_check". Installer identity is still anchored by Authenticode — the current payload is signed by CN=Google LLC (DigiCert Trusted G4 EV code signing).
Script Diff Resultsee/maintained-apps/outputs/1password/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.btZEHI 2026-08-04 16:47:05.448974281 +0000
+++ /tmp/new.SIdQAJ 2026-08-04 16:47:05.448974281 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/7-zip/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.wh5iBU 2026-08-04 16:47:05.529974961 +0000
+++ /tmp/new.3jQLxX 2026-08-04 16:47:05.529974961 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/8x8-work/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/8x8-work/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.QoR4Ug 2026-08-04 16:47:05.627975783 +0000
+++ /tmp/new.JuK4gh 2026-08-04 16:47:05.627975783 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/adobe-acrobat-pro/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/adobe-acrobat-reader/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/adobe-dng-converter/darwin.json=== Install // b175e533 -> ac06e091 ===
--- /tmp/old.YBYAxe 2026-08-04 16:47:05.756976865 +0000
+++ /tmp/new.FU7Ile 2026-08-04 16:47:05.757976874 +0000
@@ -101,5 +101,5 @@
hdiutil detach "$MOUNT_POINT" || true
# install pkg files
quit_and_track_application 'com.adobe.DNGConverter'
-sudo installer -pkg "$TMPDIR/DNGConverter_18_4_1.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/DNGConverter_18_5.pkg" -target / || exit $?
relaunch_application 'com.adobe.DNGConverter'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/advanced-installer/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.07WYFz 2026-08-04 16:47:05.808977302 +0000
+++ /tmp/new.7kTq5I 2026-08-04 16:47:05.808977302 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/advanced-renamer/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aircall/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Gg60ec 2026-08-04 16:47:05.913978183 +0000
+++ /tmp/new.QWM6kq 2026-08-04 16:47:05.913978183 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/airparrot/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.kwUSNX 2026-08-04 16:47:05.977978720 +0000
+++ /tmp/new.ALIdbu 2026-08-04 16:47:05.977978720 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/airtame/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/alacritty/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Ml5nGy 2026-08-04 16:47:06.100979752 +0000
+++ /tmp/new.amRa3V 2026-08-04 16:47:06.100979752 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/alfaview/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.iukBnQ 2026-08-04 16:47:06.156980222 +0000
+++ /tmp/new.7N6io6 2026-08-04 16:47:06.156980222 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/allway-sync/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.jMYcDF 2026-08-04 16:47:06.213980700 +0000
+++ /tmp/new.HJTHl8 2026-08-04 16:47:06.213980700 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.aJxpjY 2026-08-04 16:47:06.265981136 +0000
+++ /tmp/new.HFFYmN 2026-08-04 16:47:06.265981136 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.OFv2Qx 2026-08-04 16:47:06.316981564 +0000
+++ /tmp/new.8SOTtq 2026-08-04 16:47:06.316981564 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.v9xNd2 2026-08-04 16:47:06.367981992 +0000
+++ /tmp/new.BPTjnD 2026-08-04 16:47:06.367981992 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-24/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.WgDcAN 2026-08-04 16:47:06.433982546 +0000
+++ /tmp/new.jaareN 2026-08-04 16:47:06.433982546 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-25/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.xGmJOQ 2026-08-04 16:47:06.487982999 +0000
+++ /tmp/new.nQIN6l 2026-08-04 16:47:06.487982999 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-26/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.PgzeIM 2026-08-04 16:47:06.538983427 +0000
+++ /tmp/new.nnCMi2 2026-08-04 16:47:06.538983427 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.crXrjV 2026-08-04 16:47:06.591983872 +0000
+++ /tmp/new.l4d1LT 2026-08-04 16:47:06.591983872 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-jre-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.aSi2JR 2026-08-04 16:47:06.643984308 +0000
+++ /tmp/new.LjdNTm 2026-08-04 16:47:06.643984308 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-dcv-client/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.qfxNvn 2026-08-04 16:47:06.710984870 +0000
+++ /tmp/new.TSRf5r 2026-08-04 16:47:06.710984870 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-dcv-server/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.u2VpM3 2026-08-04 16:47:06.775985415 +0000
+++ /tmp/new.dCX8aZ 2026-08-04 16:47:06.775985415 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-redshift-odbc-driver/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.C4TY4Z 2026-08-04 16:47:06.831985885 +0000
+++ /tmp/new.cMpqUT 2026-08-04 16:47:06.831985885 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-workspaces/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.1pTh4q 2026-08-04 16:47:06.897986439 +0000
+++ /tmp/new.1YSfcz 2026-08-04 16:47:06.897986439 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/apidog/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aptakube/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.bVSeV8 2026-08-04 16:47:06.979987127 +0000
+++ /tmp/new.mtwsXo 2026-08-04 16:47:06.979987127 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/arduino-ide/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.toWUX3 2026-08-04 16:47:07.046987689 +0000
+++ /tmp/new.2vRkOl 2026-08-04 16:47:07.046987689 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/audiveris/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.bZqpoh 2026-08-04 16:47:07.100988142 +0000
+++ /tmp/new.9kFU5S 2026-08-04 16:47:07.100988142 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/autopsy/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.kE6JVI 2026-08-04 16:47:07.162988663 +0000
+++ /tmp/new.Y3nEMZ 2026-08-04 16:47:07.162988663 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aws-cli/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.zrP8NO 2026-08-04 16:47:07.213989090 +0000
+++ /tmp/new.fTakBa 2026-08-04 16:47:07.213989090 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aws-sam-cli/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.JWyeZl 2026-08-04 16:47:07.268989552 +0000
+++ /tmp/new.1K4Ugm 2026-08-04 16:47:07.269989560 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aws-vpn-client/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.KaSZPQ 2026-08-04 16:47:07.315989946 +0000
+++ /tmp/new.vYBUOQ 2026-08-04 16:47:07.315989946 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/azul-zulu-25-jdk/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.t6URtT 2026-08-04 16:47:07.365990366 +0000
+++ /tmp/new.MZmDqH 2026-08-04 16:47:07.365990366 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/azul-zulu-25-jre/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.C9NVGg 2026-08-04 16:47:07.413990769 +0000
+++ /tmp/new.ArkZfs 2026-08-04 16:47:07.413990769 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/azure-functions-core-tools/windows.json=== Install // 42c7791f -> 49fc2740 ===
--- /tmp/old.s9nEbD 2026-08-04 16:47:07.471991255 +0000
+++ /tmp/new.FVbABP 2026-08-04 16:47:07.471991255 +0000
@@ -11,7 +11,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/betterzip/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/beyond-compare/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/beyond-compare/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/bitwig-studio/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.NglMa0 2026-08-04 16:47:07.635992631 +0000
+++ /tmp/new.yCRxXz 2026-08-04 16:47:07.635992631 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/blender/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.2FKYm7 2026-08-04 16:47:07.688993076 +0000
+++ /tmp/new.6EEIJk 2026-08-04 16:47:07.688993076 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/bluej/windows.json=== Install // 29a9338f -> 85459eac ===
--- /tmp/old.sBvLi3 2026-08-04 16:47:07.747993571 +0000
+++ /tmp/new.nng5QV 2026-08-04 16:47:07.747993571 +0000
@@ -7,7 +7,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`" ALLUSERS=2" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`" ALLUSERS=2" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/box-drive/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.81cENW 2026-08-04 16:47:07.801994024 +0000
+++ /tmp/new.HPPZaj 2026-08-04 16:47:07.801994024 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/box-tools/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.u7O79H 2026-08-04 16:47:07.852994452 +0000
+++ /tmp/new.AJlZrK 2026-08-04 16:47:07.852994452 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/browserstacklocal/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.kvgQ1N 2026-08-04 16:47:07.903994880 +0000
+++ /tmp/new.WJJnTV 2026-08-04 16:47:07.903994880 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/bruno/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.No7OE3 2026-08-04 16:47:07.953995299 +0000
+++ /tmp/new.uDIWor 2026-08-04 16:47:07.953995299 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/calibre/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.DsPbTb 2026-08-04 16:47:07.999995685 +0000
+++ /tmp/new.QLKwYA 2026-08-04 16:47:07.999995685 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/camtasia/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.rXGDMW 2026-08-04 16:47:08.053996139 +0000
+++ /tmp/new.IO1shc 2026-08-04 16:47:08.054996147 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/charles/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/chef-workstation/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.U5fqxR 2026-08-04 16:47:08.138996852 +0000
+++ /tmp/new.Y915SS 2026-08-04 16:47:08.138996852 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cherry-keys/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.aabpmn 2026-08-04 16:47:08.201997380 +0000
+++ /tmp/new.LulxVD 2026-08-04 16:47:08.201997380 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/chrome-remote-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.21AQL4 2026-08-04 16:47:08.256997842 +0000
+++ /tmp/new.XcuLcb 2026-08-04 16:47:08.256997842 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cinc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.dxKNCp 2026-08-04 16:47:08.324998412 +0000
+++ /tmp/new.HhJQuR 2026-08-04 16:47:08.324998412 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cisco-jabber/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.DDIc6O 2026-08-04 16:47:08.375998840 +0000
+++ /tmp/new.8HlrLn 2026-08-04 16:47:08.375998840 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cisco-webex-recorder-and-player/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.dvlWkX 2026-08-04 16:47:08.431999310 +0000
+++ /tmp/new.S0ZKNP 2026-08-04 16:47:08.431999310 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/claude/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/clickup/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.eIAqIj 2026-08-04 16:47:08.517000023 +0000
+++ /tmp/new.gBwXe4 2026-08-04 16:47:08.517000023 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/clockassist/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.b0uWYb 2026-08-04 16:47:08.575000510 +0000
+++ /tmp/new.otJdV4 2026-08-04 16:47:08.575000510 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/clockify/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.XJ1ppE 2026-08-04 16:47:08.629000963 +0000
+++ /tmp/new.TPOK9h 2026-08-04 16:47:08.629000963 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cloudflare-warp/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.wd6u8K 2026-08-04 16:47:08.681001399 +0000
+++ /tmp/new.y3lRS7 2026-08-04 16:47:08.681001399 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cmake-app/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Fd0PDK 2026-08-04 16:47:08.729001802 +0000
+++ /tmp/new.j3cMFj 2026-08-04 16:47:08.729001802 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/codemeter-runtime-kit/windows.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/colour-contrast-analyser/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.0HWDml 2026-08-04 16:47:08.873003010 +0000
+++ /tmp/new.xzunMn 2026-08-04 16:47:08.873003010 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crashplan/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.iwoQlr 2026-08-04 16:47:08.922003422 +0000
+++ /tmp/new.YaXaf9 2026-08-04 16:47:08.922003422 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/creative-force-kelvin/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.aBwA1m 2026-08-04 16:47:08.968003808 +0000
+++ /tmp/new.1GH9fm 2026-08-04 16:47:08.968003808 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crestron-airmedia-peripherals/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.2xzS3l 2026-08-04 16:47:09.029004319 +0000
+++ /tmp/new.jkPOOW 2026-08-04 16:47:09.029004319 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crestron-airmedia/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.qypKDP 2026-08-04 16:47:09.085004789 +0000
+++ /tmp/new.M3ZgsT 2026-08-04 16:47:09.085004789 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cribl-edge/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.40rOiM 2026-08-04 16:47:09.136005217 +0000
+++ /tmp/new.1C9EaW 2026-08-04 16:47:09.136005217 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crisisgo/windows.json=== Install // 27b04e7a -> 01aaef68 ===
--- /tmp/old.sEhveY 2026-08-04 16:47:09.194005704 +0000
+++ /tmp/new.U0n7D0 2026-08-04 16:47:09.194005704 +0000
@@ -11,7 +11,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ISSETUPDRIVEN=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ISSETUPDRIVEN=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cryptomator/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.wkNbpl 2026-08-04 16:47:09.255006216 +0000
+++ /tmp/new.E63SX9 2026-08-04 16:47:09.255006216 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cursor/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cyberduck-cli/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.jZ9vVG 2026-08-04 16:47:09.345006971 +0000
+++ /tmp/new.ly7pAh 2026-08-04 16:47:09.345006971 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cyberduck/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cyberduck/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.0gerRp 2026-08-04 16:47:09.443007793 +0000
+++ /tmp/new.Cd6ujE 2026-08-04 16:47:09.443007793 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/db-browser-for-sqlite/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Kjr5TB 2026-08-04 16:47:09.516008406 +0000
+++ /tmp/new.LJBbgy 2026-08-04 16:47:09.516008406 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dbgate/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/delinea-connection-manager/windows.json=== Install // d3f438be -> 00512c4c ===
--- /tmp/old.l6ZqX4 2026-08-04 16:47:09.601009119 +0000
+++ /tmp/new.bx7L9O 2026-08-04 16:47:09.601009119 +0000
@@ -12,7 +12,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 MSIINSTALLPERUSER=`"`" /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 MSIINSTALLPERUSER=`"`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/devolutions-launcher/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.xpcurP 2026-08-04 16:47:09.654009564 +0000
+++ /tmp/new.4STru3 2026-08-04 16:47:09.654009564 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/devolutions-workspace/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.FZjaSZ 2026-08-04 16:47:09.708010017 +0000
+++ /tmp/new.dE0sT3 2026-08-04 16:47:09.708010017 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/devpod/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.B9TbyR 2026-08-04 16:47:09.766010503 +0000
+++ /tmp/new.7Foa7n 2026-08-04 16:47:09.766010503 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== 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/dngrep/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.FfXlOc 2026-08-04 16:47:09.897011602 +0000
+++ /tmp/new.THcJxr 2026-08-04 16:47:09.897011602 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/docker/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dot/darwin.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/draftable-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.lN4RZB 2026-08-04 16:47:10.063012995 +0000
+++ /tmp/new.vZRLDM 2026-08-04 16:47:10.063012995 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/drawio/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/drofus/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.a3LDkl 2026-08-04 16:47:10.157013784 +0000
+++ /tmp/new.UQl8Ba 2026-08-04 16:47:10.157013784 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dropbox/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.uQXbvc 2026-08-04 16:47:10.209014220 +0000
+++ /tmp/new.x7i4bS 2026-08-04 16:47:10.209014220 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/druva-insync/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.qFdxe9 2026-08-04 16:47:10.284014850 +0000
+++ /tmp/new.bogBn7 2026-08-04 16:47:10.284014850 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/duo-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.QdV6yN 2026-08-04 16:47:10.348015387 +0000
+++ /tmp/new.7drTxD 2026-08-04 16:47:10.348015387 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.wfUemt 2026-08-04 16:47:10.398015806 +0000
+++ /tmp/new.Wn2BnV 2026-08-04 16:47:10.398015806 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.DkOYvK 2026-08-04 16:47:10.448016226 +0000
+++ /tmp/new.mjmAF1 2026-08-04 16:47:10.448016226 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.UnH41L 2026-08-04 16:47:10.496016628 +0000
+++ /tmp/new.7mJBdT 2026-08-04 16:47:10.496016628 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.n6umVJ 2026-08-04 16:47:10.544017031 +0000
+++ /tmp/new.3MscuL 2026-08-04 16:47:10.544017031 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Dg4hSU 2026-08-04 16:47:10.594017451 +0000
+++ /tmp/new.AzJobZ 2026-08-04 16:47:10.594017451 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.OXbXTC 2026-08-04 16:47:10.642017853 +0000
+++ /tmp/new.1IKFlD 2026-08-04 16:47:10.642017853 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.SelhZa 2026-08-04 16:47:10.691018265 +0000
+++ /tmp/new.a0WTZK 2026-08-04 16:47:10.691018265 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ZLKE65 2026-08-04 16:47:10.739018667 +0000
+++ /tmp/new.DKoZaf 2026-08-04 16:47:10.739018667 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/egnyte-webedit/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.7cANG8 2026-08-04 16:47:10.797019154 +0000
+++ /tmp/new.WDDXWQ 2026-08-04 16:47:10.797019154 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/elevate-uc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.2SyQnV 2026-08-04 16:47:10.854019632 +0000
+++ /tmp/new.emEWkn 2026-08-04 16:47:10.854019632 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/elgato-control-center/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.vKEYAV 2026-08-04 16:47:10.926020236 +0000
+++ /tmp/new.SN79Dr 2026-08-04 16:47:10.926020236 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/elgato-stream-deck/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.uQutJB 2026-08-04 16:47:10.975020647 +0000
+++ /tmp/new.4y8Qu3 2026-08-04 16:47:10.975020647 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/emclient/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.weKlt6 2026-08-04 16:47:11.023021050 +0000
+++ /tmp/new.ybycgs 2026-08-04 16:47:11.024021059 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/endnote/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.WCBnZZ 2026-08-04 16:47:11.080021529 +0000
+++ /tmp/new.Rd2Jxi 2026-08-04 16:47:11.080021529 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/epic-games/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.L6j7OS 2026-08-04 16:47:11.139022024 +0000
+++ /tmp/new.qVdPNv 2026-08-04 16:47:11.139022024 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/exifcleaner/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/filebeat/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.euAWuU 2026-08-04 16:47:11.226022754 +0000
+++ /tmp/new.11BRxn 2026-08-04 16:47:11.226022754 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox@developer-edition/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox@nightly/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/flexwhere/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.sLm1mg 2026-08-04 16:47:11.421024406 +0000
+++ /tmp/new.u5kzDw 2026-08-04 16:47:11.421024406 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/fortify/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.WOxBNq 2026-08-04 16:47:11.479024902 +0000
+++ /tmp/new.5hLax0 2026-08-04 16:47:11.479024902 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/genesys-cloud/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/genesys-cloud/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.xgkI15 2026-08-04 16:47:11.576025732 +0000
+++ /tmp/new.3grNDb 2026-08-04 16:47:11.576025732 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/geogebra-classic/windows.json=== Install // ebe19da8 -> d43086d9 ===
--- /tmp/old.LDXxts 2026-08-04 16:47:11.628026177 +0000
+++ /tmp/new.k80WXN 2026-08-04 16:47:11.628026177 +0000
@@ -10,7 +10,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/git-extensions/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Cae733 2026-08-04 16:47:11.678026605 +0000
+++ /tmp/new.w8LFCr 2026-08-04 16:47:11.679026613 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/github-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.U4NYoF 2026-08-04 16:47:11.739027127 +0000
+++ /tmp/new.RVvrvy 2026-08-04 16:47:11.739027127 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/go/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.oMoNqP 2026-08-04 16:47:11.799027640 +0000
+++ /tmp/new.W4Sbk7 2026-08-04 16:47:11.799027640 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/google-ads-editor/windows.json=== Install // bdccfcda -> 351845b5 ===
--- /tmp/old.geDG69 2026-08-04 16:47:11.848028060 +0000
+++ /tmp/new.43FPmn 2026-08-04 16:47:11.848028060 +0000
@@ -11,7 +11,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/google-chrome/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.7dPyLe 2026-08-04 16:47:11.896028470 +0000
+++ /tmp/new.VCNqQh 2026-08-04 16:47:11.896028470 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/google-credential-provider-for-windows/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/gotomeeting/windows.json=== Install // 36ce6af0 -> a6c7d24e ===
--- /tmp/old.mGUdVP 2026-08-04 16:47:12.002029377 +0000
+++ /tmp/new.oAFzuk 2026-08-04 16:47:12.002029377 +0000
@@ -8,7 +8,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`" G2MINSTALLFORALLUSERS=1" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`" G2MINSTALLFORALLUSERS=1" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== 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/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/grepwin/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.5rRyvJ 2026-08-04 16:47:12.128030455 +0000
+++ /tmp/new.hfwtTH 2026-08-04 16:47:12.128030455 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/home-assistant/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/hwmonitor/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.OXfC3S 2026-08-04 16:47:12.250031499 +0000
+++ /tmp/new.R0dIMi 2026-08-04 16:47:12.250031499 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.dNdkSJ 2026-08-04 16:47:12.299031918 +0000
+++ /tmp/new.8qHEaF 2026-08-04 16:47:12.299031918 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.xel9gj 2026-08-04 16:47:12.346032321 +0000
+++ /tmp/new.FQMGbt 2026-08-04 16:47:12.346032321 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.tyDym3 2026-08-04 16:47:12.394032731 +0000
+++ /tmp/new.jhVvdg 2026-08-04 16:47:12.394032731 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.fOnewq 2026-08-04 16:47:12.448033194 +0000
+++ /tmp/new.OKJCIo 2026-08-04 16:47:12.448033194 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.wFIOYN 2026-08-04 16:47:12.498033621 +0000
+++ /tmp/new.mIDtim 2026-08-04 16:47:12.498033621 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.myvtFe 2026-08-04 16:47:12.546034032 +0000
+++ /tmp/new.qvajH5 2026-08-04 16:47:12.546034032 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.uQCLgZ 2026-08-04 16:47:12.595034451 +0000
+++ /tmp/new.iVp6W6 2026-08-04 16:47:12.595034451 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/imageglass/windows.json=== Install // e7eaf6bb -> 72349997 ===
--- /tmp/old.w13DWy 2026-08-04 16:47:12.642034853 +0000
+++ /tmp/new.pd2zlV 2026-08-04 16:47:12.642034853 +0000
@@ -9,7 +9,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/imhex/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.3tgAEu 2026-08-04 16:47:12.712035452 +0000
+++ /tmp/new.wGd4xA 2026-08-04 16:47:12.712035452 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/inkscape/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.OIaqhn 2026-08-04 16:47:12.786036085 +0000
+++ /tmp/new.H7nFtO 2026-08-04 16:47:12.786036085 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ironpython/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Ko2IWg 2026-08-04 16:47:12.838036530 +0000
+++ /tmp/new.VOt7bg 2026-08-04 16:47:12.838036530 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/jami/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.GPsDJ1 2026-08-04 16:47:12.907037121 +0000
+++ /tmp/new.jUMMNM 2026-08-04 16:47:12.907037121 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/jetbrains-toolbox/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/jetbrains-toolbox/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/keepassxc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.0yEOgT 2026-08-04 16:47:13.052038362 +0000
+++ /tmp/new.XOhOYS 2026-08-04 16:47:13.052038362 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/lapce/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.O5emea 2026-08-04 16:47:13.123038969 +0000
+++ /tmp/new.uSY4hx 2026-08-04 16:47:13.123038969 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/lastpass/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.F0EKFS 2026-08-04 16:47:13.182039474 +0000
+++ /tmp/new.RlMDzD 2026-08-04 16:47:13.182039474 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/libreoffice/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.UOLN7c 2026-08-04 16:47:13.233039910 +0000
+++ /tmp/new.EHLFVM 2026-08-04 16:47:13.233039910 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/linear/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/linear/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/lookaway/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/macwhisper/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/marked-app/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mattermost/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.rEuV3K 2026-08-04 16:47:13.490042109 +0000
+++ /tmp/new.3c3Qzn 2026-08-04 16:47:13.490042109 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-365-copilot/darwin.json=== Install // 49bf2ee3 -> 0be42f66 ===
--- /tmp/old.C7WIf1 2026-08-04 16:47:13.542042554 +0000
+++ /tmp/new.eZLPwh 2026-08-04 16:47:13.542042554 +0000
@@ -117,6 +117,6 @@
EOF
-sudo installer -pkg "$TMPDIR/Microsoft_365_Copilot_universal_1.2607.2001_Installer.pkg" -target / -applyChoiceChangesXML "$CHOICE_XML" || exit $?
+sudo installer -pkg "$TMPDIR/Microsoft_365_Copilot_universal_1.2607.2701_Installer.pkg" -target / -applyChoiceChangesXML "$CHOICE_XML" || exit $?
relaunch_application 'com.microsoft.m365copilot'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-edge/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.4hUZo1 2026-08-04 16:47:13.589042956 +0000
+++ /tmp/new.4iWMb2 2026-08-04 16:47:13.589042956 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-teams/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-teams/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mixxx/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ivT9qW 2026-08-04 16:47:13.738044231 +0000
+++ /tmp/new.CjNLWV 2026-08-04 16:47:13.738044231 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mongodb-compass/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Kjpj08 2026-08-04 16:47:13.796044727 +0000
+++ /tmp/new.2Fs6qa 2026-08-04 16:47:13.796044727 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mysqlworkbench/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.p46rlh 2026-08-04 16:47:13.872045378 +0000
+++ /tmp/new.3PV3KV 2026-08-04 16:47:13.872045378 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/naps2/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.BS31Nc 2026-08-04 16:47:13.925045831 +0000
+++ /tmp/new.Cq46PV 2026-08-04 16:47:13.925045831 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/nessus-agent/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.pJg7HE 2026-08-04 16:47:13.977046276 +0000
+++ /tmp/new.1Uah6J 2026-08-04 16:47:13.977046276 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/nextcloud/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.xSZlUZ 2026-08-04 16:47:14.028046713 +0000
+++ /tmp/new.vhjSHI 2026-08-04 16:47:14.028046713 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/nodejs/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.h6cRJa 2026-08-04 16:47:14.078047141 +0000
+++ /tmp/new.wgcc3t 2026-08-04 16:47:14.078047141 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/notepadexe/darwin.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/omnifocus/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/opencode-desktop/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/openvpn-connect/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.lVfH6U 2026-08-04 16:47:14.338049365 +0000
+++ /tmp/new.RDAgjZ 2026-08-04 16:47:14.339049374 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/origami-studio/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/p4v/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.jAAOId 2026-08-04 16:47:14.440050238 +0000
+++ /tmp/new.QlSMNh 2026-08-04 16:47:14.440050238 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/pale-moon/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/pdfsam-basic/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.7YIuP6 2026-08-04 16:47:14.536051059 +0000
+++ /tmp/new.J7iJge 2026-08-04 16:47:14.536051059 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/postman/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/powershell/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.J9Ij6k 2026-08-04 16:47:14.622051795 +0000
+++ /tmp/new.fuTnqV 2026-08-04 16:47:14.622051795 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/prisma-browser/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.hWAbla 2026-08-04 16:47:14.672052223 +0000
+++ /tmp/new.A4uuDQ 2026-08-04 16:47:14.672052223 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/putty/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.JxK5Ss 2026-08-04 16:47:14.751052899 +0000
+++ /tmp/new.AgQwkh 2026-08-04 16:47:14.751052899 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/quip/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rectangle-pro/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/reflector/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.5c3WL8 2026-08-04 16:47:14.901054182 +0000
+++ /tmp/new.TrzKIR 2026-08-04 16:47:14.901054182 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/remote-desktop-manager/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.mAn28m 2026-08-04 16:47:14.959054679 +0000
+++ /tmp/new.9GekhL 2026-08-04 16:47:14.959054679 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rewritebar/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rider/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/royal-tsx/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.aNSFzN 2026-08-04 16:47:15.089055791 +0000
+++ /tmp/new.GLYJyI 2026-08-04 16:47:15.089055791 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/shapr3d/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/sharefile/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.7Rn8yG 2026-08-04 16:47:15.201056749 +0000
+++ /tmp/new.zP5elu 2026-08-04 16:47:15.201056749 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/snagit/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.lM9wjY 2026-08-04 16:47:15.281057434 +0000
+++ /tmp/new.bImABx 2026-08-04 16:47:15.281057434 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/sonicwall-netextender/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.P5KR4Z 2026-08-04 16:47:15.333057879 +0000
+++ /tmp/new.x6ccXV 2026-08-04 16:47:15.333057879 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/sourcetree/windows.json=== Install // 17f62246 -> e23ea804 ===
--- /tmp/old.J3mGf7 2026-08-04 16:47:15.413058563 +0000
+++ /tmp/new.W4F844 2026-08-04 16:47:15.414058572 +0000
@@ -3,7 +3,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`" ACCEPTEULA=1" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`" ACCEPTEULA=1" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/spotify/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tailscale-app/darwin.json=== Install // e568557b -> 6301b666 ===
--- /tmp/old.oUAtyX 2026-08-04 16:47:15.511059402 +0000
+++ /tmp/new.pentIZ 2026-08-04 16:47:15.511059402 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'io.tailscale.ipn.macsys'
-sudo installer -pkg "$TMPDIR/Tailscale-1.98.10-macos.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/Tailscale-1.102.1-macos.pkg" -target / || exit $?
relaunch_application 'io.tailscale.ipn.macsys'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tailscale/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.cr37Ct 2026-08-04 16:47:15.564059855 +0000
+++ /tmp/new.QiDGVS 2026-08-04 16:47:15.564059855 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/textexpander/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ZhtfHC 2026-08-04 16:47:15.625060377 +0000
+++ /tmp/new.6oCQZM 2026-08-04 16:47:15.625060377 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tightvnc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.DOFxZd 2026-08-04 16:47:15.678060831 +0000
+++ /tmp/new.57wR5J 2026-08-04 16:47:15.678060831 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/topaz-gigapixel-ai/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.sJTfAl 2026-08-04 16:47:15.756061498 +0000
+++ /tmp/new.wC1Q2A 2026-08-04 16:47:15.756061498 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/topaz-photo-ai/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.t0K0Oa 2026-08-04 16:47:15.834062166 +0000
+++ /tmp/new.IeaVQa 2026-08-04 16:47:15.834062166 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tortoisegit/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.fsRXMQ 2026-08-04 16:47:15.903062756 +0000
+++ /tmp/new.dNtmCO 2026-08-04 16:47:15.903062756 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tower/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Eo8XO0 2026-08-04 16:47:15.963063269 +0000
+++ /tmp/new.7736Z5 2026-08-04 16:47:15.963063269 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/transmission/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.dg0OPB 2026-08-04 16:47:16.026063808 +0000
+++ /tmp/new.A1a5T8 2026-08-04 16:47:16.026063808 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/twingate/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.7vWDm9 2026-08-04 16:47:16.105064484 +0000
+++ /tmp/new.78iVdP 2026-08-04 16:47:16.105064484 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/typeface/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ultimaker-cura/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Eo4hLs 2026-08-04 16:47:16.220065468 +0000
+++ /tmp/new.iHoShC 2026-08-04 16:47:16.220065468 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/vlc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.XfaVwT 2026-08-04 16:47:16.311066247 +0000
+++ /tmp/new.8tKHOx 2026-08-04 16:47:16.311066247 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/wave/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.bGYtIY 2026-08-04 16:47:16.390066923 +0000
+++ /tmp/new.wI3Ccg 2026-08-04 16:47:16.390066923 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/weasis/darwin.json=== Install // e404586c -> 61706202 ===
--- /tmp/old.tImhQH 2026-08-04 16:47:16.444067385 +0000
+++ /tmp/new.Z8BTeH 2026-08-04 16:47:16.445067394 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'org.weasis.launcher'
-sudo installer -pkg "$TMPDIR/Weasis-4.7.1-aarch64.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/Weasis-4.7.2-aarch64.pkg" -target / || exit $?
relaunch_application 'org.weasis.launcher'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/weasis/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ZFdLGK 2026-08-04 16:47:16.508067933 +0000
+++ /tmp/new.gqOz30 2026-08-04 16:47:16.508067933 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/webex/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.gWxiOc 2026-08-04 16:47:16.565068420 +0000
+++ /tmp/new.zaxk9c 2026-08-04 16:47:16.565068420 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/whatsapp/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/windirstat/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.HhJuFN 2026-08-04 16:47:16.649069139 +0000
+++ /tmp/new.7SjgYU 2026-08-04 16:47:16.649069139 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/windows-app/darwin.json=== Install // 333033b1 -> 78ca7433 ===
--- /tmp/old.VlwBqe 2026-08-04 16:47:16.702069593 +0000
+++ /tmp/new.3JIQgS 2026-08-04 16:47:16.702069593 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'com.microsoft.rdc.macos'
-sudo installer -pkg "$TMPDIR/Windows_App_11.3.7_installer.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/Windows_App_11.3.8_installer.pkg" -target / || exit $?
relaunch_application 'com.microsoft.rdc.macos'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/winlogbeat/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.n0WSlE 2026-08-04 16:47:16.759070080 +0000
+++ /tmp/new.b1G8xA 2026-08-04 16:47:16.759070080 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/wireshark/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.a5aDFF 2026-08-04 16:47:16.834070722 +0000
+++ /tmp/new.JTI16g 2026-08-04 16:47:16.834070722 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/wrike/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.o9zu52 2026-08-04 16:47:16.919071449 +0000
+++ /tmp/new.WRCNB0 2026-08-04 16:47:16.919071449 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/yarn/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Hvu4wH 2026-08-04 16:47:16.973071911 +0000
+++ /tmp/new.t9ayZb 2026-08-04 16:47:16.973071911 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/yubico-authenticator/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.wd7iMw 2026-08-04 16:47:17.038072468 +0000
+++ /tmp/new.jwX8fH 2026-08-04 16:47:17.038072468 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/zoom-outlook-plugin/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Bk2NkI 2026-08-04 16:47:17.091072921 +0000
+++ /tmp/new.JWT3z9 2026-08-04 16:47:17.091072921 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/zoom/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.TwPvPO 2026-08-04 16:47:17.150073426 +0000
+++ /tmp/new.yaPj5c 2026-08-04 16:47:17.150073426 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/zulip/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.tqhj4l 2026-08-04 16:47:17.221074033 +0000
+++ /tmp/new.8obnZV 2026-08-04 16:47:17.221074033 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) === |
There was a problem hiding this comment.
♻️ Duplicate comments (1)
ee/maintained-apps/outputs/google-credential-provider-for-windows/windows.json (1)
10-11: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winUpdate the uninstall script to accept MSI reboot success codes.
The new install script accepts exit codes
0,3010, and1641. The unchanged uninstall script23ea1ef2still accepts only0. An uninstall that requires or initiates a reboot is reported as failed.Apply the same success-code check to the uninstall script.
🤖 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/google-credential-provider-for-windows/windows.json` around lines 10 - 11, Update the uninstall script referenced by uninstall_script_ref 23ea1ef2 to treat MSI exit codes 0, 3010, and 1641 as successful, matching the behavior of install_script_ref 22e48c46. Keep the existing uninstall behavior unchanged for all other exit codes.
🤖 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.
Duplicate comments:
In
`@ee/maintained-apps/outputs/google-credential-provider-for-windows/windows.json`:
- Around line 10-11: Update the uninstall script referenced by
uninstall_script_ref 23ea1ef2 to treat MSI exit codes 0, 3010, and 1641 as
successful, matching the behavior of install_script_ref 22e48c46. Keep the
existing uninstall behavior unchanged for all other exit codes.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: e52bf746-b9c1-4bb1-b8b4-a0fd90da7e75
📒 Files selected for processing (2)
ee/maintained-apps/inputs/winget/google-credential-provider-for-windows.jsonee/maintained-apps/outputs/google-credential-provider-for-windows/windows.json
With ignore_hash the download check passes, but validation still failed: the manifest carried winget's PackageVersion 148.0.7778.160 while the installer at dl.google.com/credentialprovider/gcpwstandaloneenterprise64.msi installs 150.0.7871.100 (MSI ProductVersion, and what osquery reports), so the version lookup found nothing at 148. winget-pkgs has only bumped this package twice in a year (70 -> 138 in 2025-06, 138 -> 148 in 2026-07) while Google overwrites the URL every release, so PackageVersion can't be trusted as the shipped version here. Pin the output to 150.0.7871.100 (version + patch policy) by hand and freeze the input so the ingest job stops resetting it to winget's stale number. Keep ignore_hash: the payload behind that URL keeps changing, so a pinned hash would break installs. Revisit when winget catches up.
Script Diff Resultsee/maintained-apps/outputs/1password/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.JsLYxJ 2026-08-05 01:19:35.072623676 +0000
+++ /tmp/new.9ZWsHs 2026-08-05 01:19:35.072623676 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/7-zip/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.djn9kJ 2026-08-05 01:19:35.136624170 +0000
+++ /tmp/new.CEFTvW 2026-08-05 01:19:35.136624170 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/8x8-work/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/8x8-work/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.DzWxxe 2026-08-05 01:19:35.223624842 +0000
+++ /tmp/new.Kd2kGo 2026-08-05 01:19:35.223624842 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/adobe-acrobat-pro/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/adobe-acrobat-reader/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/adobe-dng-converter/darwin.json=== Install // b175e533 -> ac06e091 ===
--- /tmp/old.54Lw7f 2026-08-05 01:19:35.346625791 +0000
+++ /tmp/new.gyiP3h 2026-08-05 01:19:35.346625791 +0000
@@ -101,5 +101,5 @@
hdiutil detach "$MOUNT_POINT" || true
# install pkg files
quit_and_track_application 'com.adobe.DNGConverter'
-sudo installer -pkg "$TMPDIR/DNGConverter_18_4_1.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/DNGConverter_18_5.pkg" -target / || exit $?
relaunch_application 'com.adobe.DNGConverter'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/advanced-installer/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.AIj9yq 2026-08-05 01:19:35.400626208 +0000
+++ /tmp/new.0dE2Ww 2026-08-05 01:19:35.400626208 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/advanced-renamer/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aircall/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.3mNvsI 2026-08-05 01:19:35.507627034 +0000
+++ /tmp/new.9cjqTo 2026-08-05 01:19:35.507627034 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/airparrot/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.jqIn7a 2026-08-05 01:19:35.568627504 +0000
+++ /tmp/new.9Rxx7I 2026-08-05 01:19:35.568627504 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/airtame/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/alacritty/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.TGbFMM 2026-08-05 01:19:35.686628415 +0000
+++ /tmp/new.vx1yiy 2026-08-05 01:19:35.687628423 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/alfaview/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.SGTdfc 2026-08-05 01:19:35.740628832 +0000
+++ /tmp/new.Uvl1jS 2026-08-05 01:19:35.740628832 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/allway-sync/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.HFO5GN 2026-08-05 01:19:35.793629241 +0000
+++ /tmp/new.H0PIxK 2026-08-05 01:19:35.793629241 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.04bpqC 2026-08-05 01:19:35.845629642 +0000
+++ /tmp/new.67DD79 2026-08-05 01:19:35.845629642 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.WD0Mfq 2026-08-05 01:19:35.898630051 +0000
+++ /tmp/new.ebWVcS 2026-08-05 01:19:35.898630051 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ux1Eri 2026-08-05 01:19:35.951630460 +0000
+++ /tmp/new.jSbWgS 2026-08-05 01:19:35.951630460 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-24/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.FaWIKg 2026-08-05 01:19:36.017630969 +0000
+++ /tmp/new.xPgYzi 2026-08-05 01:19:36.017630969 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-25/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.nTgQ0H 2026-08-05 01:19:36.067631355 +0000
+++ /tmp/new.eWZXVF 2026-08-05 01:19:36.067631355 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-26/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.XucICh 2026-08-05 01:19:36.118631749 +0000
+++ /tmp/new.5YFoy8 2026-08-05 01:19:36.119631757 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.dlUxPF 2026-08-05 01:19:36.169632142 +0000
+++ /tmp/new.T1OnR0 2026-08-05 01:19:36.169632142 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-corretto-jre-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.hj4SH3 2026-08-05 01:19:36.218632521 +0000
+++ /tmp/new.LYMU4W 2026-08-05 01:19:36.218632521 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-dcv-client/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.JL4C5n 2026-08-05 01:19:36.284633030 +0000
+++ /tmp/new.Ec5S1l 2026-08-05 01:19:36.284633030 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-dcv-server/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.wxJ0MO 2026-08-05 01:19:36.348633524 +0000
+++ /tmp/new.rSEkF3 2026-08-05 01:19:36.349633532 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-redshift-odbc-driver/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.8cQl4N 2026-08-05 01:19:36.403633948 +0000
+++ /tmp/new.ZDoO12 2026-08-05 01:19:36.403633948 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/amazon-workspaces/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ghon1x 2026-08-05 01:19:36.467634442 +0000
+++ /tmp/new.RlHPky 2026-08-05 01:19:36.467634442 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/apidog/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aptakube/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.yuOrA6 2026-08-05 01:19:36.549635075 +0000
+++ /tmp/new.iOYpzG 2026-08-05 01:19:36.549635075 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/arduino-ide/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.1ZaxGP 2026-08-05 01:19:36.613635569 +0000
+++ /tmp/new.LtmtMl 2026-08-05 01:19:36.613635569 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/audiveris/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.KZd3mQ 2026-08-05 01:19:36.666635978 +0000
+++ /tmp/new.p3J8zS 2026-08-05 01:19:36.666635978 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/autopsy/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.LhiEkE 2026-08-05 01:19:36.727636449 +0000
+++ /tmp/new.rpJIGM 2026-08-05 01:19:36.727636449 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aws-cli/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.UZy2UJ 2026-08-05 01:19:36.772636796 +0000
+++ /tmp/new.DjRTGw 2026-08-05 01:19:36.772636796 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aws-sam-cli/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.wnXG69 2026-08-05 01:19:36.816637136 +0000
+++ /tmp/new.eAsnTy 2026-08-05 01:19:36.816637136 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/aws-vpn-client/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.QfPavd 2026-08-05 01:19:36.862637491 +0000
+++ /tmp/new.9hC7pO 2026-08-05 01:19:36.862637491 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/azul-zulu-25-jdk/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.G36WtE 2026-08-05 01:19:36.912637877 +0000
+++ /tmp/new.4JK5qv 2026-08-05 01:19:36.912637877 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/azul-zulu-25-jre/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.HCKzcC 2026-08-05 01:19:36.959638239 +0000
+++ /tmp/new.NXLV2H 2026-08-05 01:19:36.959638239 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/azure-functions-core-tools/windows.json=== Install // 42c7791f -> 49fc2740 ===
--- /tmp/old.6Pzibj 2026-08-05 01:19:37.014638664 +0000
+++ /tmp/new.Fkerxu 2026-08-05 01:19:37.014638664 +0000
@@ -11,7 +11,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/betterzip/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/beyond-compare/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/beyond-compare/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/bitwig-studio/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ikYFys 2026-08-05 01:19:37.185639984 +0000
+++ /tmp/new.0AmQOs 2026-08-05 01:19:37.185639984 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/blender/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.wN2Uwk 2026-08-05 01:19:37.237640385 +0000
+++ /tmp/new.5X5tro 2026-08-05 01:19:37.237640385 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/bluej/windows.json=== Install // 29a9338f -> 85459eac ===
--- /tmp/old.lIS6V5 2026-08-05 01:19:37.294640825 +0000
+++ /tmp/new.DlJwG9 2026-08-05 01:19:37.294640825 +0000
@@ -7,7 +7,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`" ALLUSERS=2" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`" ALLUSERS=2" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/box-drive/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.TcERNB 2026-08-05 01:19:37.347641234 +0000
+++ /tmp/new.r9uLwt 2026-08-05 01:19:37.347641234 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/box-tools/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.KmRHJ5 2026-08-05 01:19:37.397641620 +0000
+++ /tmp/new.iKzYBE 2026-08-05 01:19:37.397641620 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/browserstacklocal/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.cBpn3H 2026-08-05 01:19:37.447642005 +0000
+++ /tmp/new.dWa30m 2026-08-05 01:19:37.447642005 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/bruno/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.dImECc 2026-08-05 01:19:37.496642384 +0000
+++ /tmp/new.LB6tO7 2026-08-05 01:19:37.496642384 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/calibre/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.BripZq 2026-08-05 01:19:37.542642739 +0000
+++ /tmp/new.6sOvGb 2026-08-05 01:19:37.542642739 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/camtasia/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.dZbpNO 2026-08-05 01:19:37.595643148 +0000
+++ /tmp/new.sQrX7v 2026-08-05 01:19:37.595643148 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/charles/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/chef-workstation/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.fsXkXt 2026-08-05 01:19:37.682643819 +0000
+++ /tmp/new.LLA4rm 2026-08-05 01:19:37.682643819 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cherry-keys/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ncaUsF 2026-08-05 01:19:37.744644298 +0000
+++ /tmp/new.cnjHKg 2026-08-05 01:19:37.744644298 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/chrome-remote-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.p1eFSm 2026-08-05 01:19:37.797644706 +0000
+++ /tmp/new.L3NTSP 2026-08-05 01:19:37.797644706 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cinc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.t2yfp9 2026-08-05 01:19:37.865645231 +0000
+++ /tmp/new.yUb9Ln 2026-08-05 01:19:37.865645231 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cisco-jabber/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.57n5qD 2026-08-05 01:19:37.914645610 +0000
+++ /tmp/new.DMrQVS 2026-08-05 01:19:37.914645610 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cisco-webex-recorder-and-player/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.q389ZM 2026-08-05 01:19:37.969646034 +0000
+++ /tmp/new.Py9hBb 2026-08-05 01:19:37.970646042 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/claude/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/clickup/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.gOFwfQ 2026-08-05 01:19:38.051646667 +0000
+++ /tmp/new.9hcGyS 2026-08-05 01:19:38.051646667 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/clockassist/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.45eOMw 2026-08-05 01:19:38.107647099 +0000
+++ /tmp/new.jDhCCR 2026-08-05 01:19:38.107647099 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/clockify/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.xVJ88E 2026-08-05 01:19:38.156647477 +0000
+++ /tmp/new.VMYXHc 2026-08-05 01:19:38.156647477 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cloudflare-warp/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.CzLRB0 2026-08-05 01:19:38.206647863 +0000
+++ /tmp/new.Ur7qqb 2026-08-05 01:19:38.206647863 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cmake-app/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.WcEWhn 2026-08-05 01:19:38.252648217 +0000
+++ /tmp/new.0OCswb 2026-08-05 01:19:38.252648217 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/codemeter-runtime-kit/windows.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/colour-contrast-analyser/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.emRhoG 2026-08-05 01:19:38.389649274 +0000
+++ /tmp/new.WGAFbP 2026-08-05 01:19:38.389649274 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crashplan/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.X2n1yF 2026-08-05 01:19:38.436649637 +0000
+++ /tmp/new.zNeaI0 2026-08-05 01:19:38.437649645 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/creative-force-kelvin/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.2Dt3Iw 2026-08-05 01:19:38.480649976 +0000
+++ /tmp/new.PmFtNI 2026-08-05 01:19:38.480649976 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crestron-airmedia-peripherals/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.C1C8b4 2026-08-05 01:19:38.535650401 +0000
+++ /tmp/new.c0rtKV 2026-08-05 01:19:38.535650401 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crestron-airmedia/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.EIdqij 2026-08-05 01:19:38.589650817 +0000
+++ /tmp/new.S1N1iN 2026-08-05 01:19:38.589650817 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cribl-edge/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.QX1sdu 2026-08-05 01:19:38.639651203 +0000
+++ /tmp/new.5MCrQt 2026-08-05 01:19:38.639651203 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/crisisgo/windows.json=== Install // 27b04e7a -> 01aaef68 ===
--- /tmp/old.9OjxHU 2026-08-05 01:19:38.694651627 +0000
+++ /tmp/new.aRBhe9 2026-08-05 01:19:38.694651627 +0000
@@ -11,7 +11,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ISSETUPDRIVEN=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ISSETUPDRIVEN=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cryptomator/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.yY9BgA 2026-08-05 01:19:38.753652082 +0000
+++ /tmp/new.Uc9s0w 2026-08-05 01:19:38.753652082 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cursor/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cyberduck-cli/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Y2Pnez 2026-08-05 01:19:38.839652746 +0000
+++ /tmp/new.KiEEyn 2026-08-05 01:19:38.839652746 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cyberduck/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/cyberduck/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.hsNKSN 2026-08-05 01:19:38.930653448 +0000
+++ /tmp/new.ZuV4rk 2026-08-05 01:19:38.930653448 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/db-browser-for-sqlite/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.DKSNCE 2026-08-05 01:19:38.998653972 +0000
+++ /tmp/new.4kuW5P 2026-08-05 01:19:38.998653972 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dbgate/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/delinea-connection-manager/windows.json=== Install // d3f438be -> 00512c4c ===
--- /tmp/old.0FmJur 2026-08-05 01:19:39.081654613 +0000
+++ /tmp/new.oZbyVT 2026-08-05 01:19:39.081654613 +0000
@@ -12,7 +12,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 MSIINSTALLPERUSER=`"`" /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 MSIINSTALLPERUSER=`"`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/devolutions-launcher/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.o1Q82g 2026-08-05 01:19:39.131654998 +0000
+++ /tmp/new.oqigBd 2026-08-05 01:19:39.131654998 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/devolutions-workspace/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.L1NMCA 2026-08-05 01:19:39.183655399 +0000
+++ /tmp/new.uGSnQC 2026-08-05 01:19:39.183655399 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/devpod/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.CHdCsd 2026-08-05 01:19:39.237655816 +0000
+++ /tmp/new.c4wBDZ 2026-08-05 01:19:39.237655816 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== 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/dngrep/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.9D1iqz 2026-08-05 01:19:39.359656757 +0000
+++ /tmp/new.T6einH 2026-08-05 01:19:39.359656757 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/docker/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dot/darwin.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/draftable-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.EXpw0R 2026-08-05 01:19:39.514657953 +0000
+++ /tmp/new.plJPoT 2026-08-05 01:19:39.514657953 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/drawio/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/drofus/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.2FW7lP 2026-08-05 01:19:39.602658632 +0000
+++ /tmp/new.RQAami 2026-08-05 01:19:39.602658632 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dropbox/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Y39dis 2026-08-05 01:19:39.652659017 +0000
+++ /tmp/new.OcnKhU 2026-08-05 01:19:39.652659017 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/druva-insync/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.urWBXk 2026-08-05 01:19:39.710659465 +0000
+++ /tmp/new.AbO75p 2026-08-05 01:19:39.710659465 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/duo-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.nMcDIS 2026-08-05 01:19:39.771659935 +0000
+++ /tmp/new.rOmsgz 2026-08-05 01:19:39.771659935 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.fMSvfx 2026-08-05 01:19:39.818660298 +0000
+++ /tmp/new.mGs3o8 2026-08-05 01:19:39.818660298 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.K2xTqL 2026-08-05 01:19:39.867660676 +0000
+++ /tmp/new.Qp0j1V 2026-08-05 01:19:39.867660676 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.w66MYu 2026-08-05 01:19:39.913661031 +0000
+++ /tmp/new.lsX5RR 2026-08-05 01:19:39.913661031 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jdk-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.mh4fnL 2026-08-05 01:19:39.958661378 +0000
+++ /tmp/new.DnIxyQ 2026-08-05 01:19:39.958661378 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.k00cKP 2026-08-05 01:19:40.018661841 +0000
+++ /tmp/new.1bAQMt 2026-08-05 01:19:40.018661841 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ABBHyv 2026-08-05 01:19:40.065662203 +0000
+++ /tmp/new.Hiybbk 2026-08-05 01:19:40.065662203 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.vDe2Mn 2026-08-05 01:19:40.113662574 +0000
+++ /tmp/new.d6w7oo 2026-08-05 01:19:40.114662581 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/eclipse-temurin-jre-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.67QP7B 2026-08-05 01:19:40.159662928 +0000
+++ /tmp/new.0G8szm 2026-08-05 01:19:40.159662928 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/egnyte-webedit/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.s0Pitm 2026-08-05 01:19:40.215663361 +0000
+++ /tmp/new.lmYxOQ 2026-08-05 01:19:40.215663361 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/elevate-uc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.XUTHkr 2026-08-05 01:19:40.270663785 +0000
+++ /tmp/new.A8SOYU 2026-08-05 01:19:40.271663792 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/elgato-control-center/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.giFWQa 2026-08-05 01:19:40.339664317 +0000
+++ /tmp/new.LI2uW6 2026-08-05 01:19:40.339664317 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/elgato-stream-deck/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.mzspKU 2026-08-05 01:19:40.387664687 +0000
+++ /tmp/new.ikv9Hq 2026-08-05 01:19:40.387664687 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/emclient/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Vu4CGT 2026-08-05 01:19:40.433665042 +0000
+++ /tmp/new.pF0OxZ 2026-08-05 01:19:40.434665050 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/endnote/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.oVaV77 2026-08-05 01:19:40.489665474 +0000
+++ /tmp/new.TjLD0e 2026-08-05 01:19:40.489665474 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/epic-games/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.SiFBLw 2026-08-05 01:19:40.542665883 +0000
+++ /tmp/new.vaFfVX 2026-08-05 01:19:40.542665883 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/exifcleaner/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/filebeat/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.63C6yG 2026-08-05 01:19:40.623666508 +0000
+++ /tmp/new.Rgfezy 2026-08-05 01:19:40.623666508 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox@developer-edition/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/firefox@nightly/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/flexwhere/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.4sh7BN 2026-08-05 01:19:40.811667958 +0000
+++ /tmp/new.857KGa 2026-08-05 01:19:40.811667958 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/fortify/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.lNNMqA 2026-08-05 01:19:40.867668390 +0000
+++ /tmp/new.OUVKs4 2026-08-05 01:19:40.867668390 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/genesys-cloud/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/genesys-cloud/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.9FBzeb 2026-08-05 01:19:40.961669115 +0000
+++ /tmp/new.bb1N6l 2026-08-05 01:19:40.961669115 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/geogebra-classic/windows.json=== Install // ebe19da8 -> d43086d9 ===
--- /tmp/old.Q8gYyD 2026-08-05 01:19:41.010669493 +0000
+++ /tmp/new.4ZH7Ua 2026-08-05 01:19:41.010669493 +0000
@@ -10,7 +10,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/git-extensions/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.8Qtn0T 2026-08-05 01:19:41.060669879 +0000
+++ /tmp/new.vdrLkV 2026-08-05 01:19:41.060669879 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/github-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.IqNyXx 2026-08-05 01:19:41.116670311 +0000
+++ /tmp/new.ZFKxJq 2026-08-05 01:19:41.116670311 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/go/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.p1Zbn6 2026-08-05 01:19:41.172670743 +0000
+++ /tmp/new.d2aJs7 2026-08-05 01:19:41.172670743 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/google-ads-editor/windows.json=== Install // bdccfcda -> 351845b5 ===
--- /tmp/old.0IAs3T 2026-08-05 01:19:41.219671105 +0000
+++ /tmp/new.Tt0cOI 2026-08-05 01:19:41.219671105 +0000
@@ -11,7 +11,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/google-chrome/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.xCoyz5 2026-08-05 01:19:41.266671468 +0000
+++ /tmp/new.LrZmNu 2026-08-05 01:19:41.266671468 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/google-credential-provider-for-windows/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/gotomeeting/windows.json=== Install // 36ce6af0 -> a6c7d24e ===
--- /tmp/old.mogx9R 2026-08-05 01:19:41.371672278 +0000
+++ /tmp/new.1P6VIK 2026-08-05 01:19:41.371672278 +0000
@@ -8,7 +8,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`" G2MINSTALLFORALLUSERS=1" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`" G2MINSTALLFORALLUSERS=1" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== 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/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/grepwin/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.3fces8 2026-08-05 01:19:41.492673211 +0000
+++ /tmp/new.Ydauni 2026-08-05 01:19:41.492673211 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/home-assistant/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/hwmonitor/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ArkkN3 2026-08-05 01:19:41.609674114 +0000
+++ /tmp/new.YlGzjg 2026-08-05 01:19:41.609674114 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.rsiXwT 2026-08-05 01:19:41.655674469 +0000
+++ /tmp/new.Dtohtm 2026-08-05 01:19:41.655674469 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.LmmqaL 2026-08-05 01:19:41.702674831 +0000
+++ /tmp/new.nIgfPS 2026-08-05 01:19:41.702674831 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jdk-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.qtcEwL 2026-08-05 01:19:41.748675186 +0000
+++ /tmp/new.Eq1d5l 2026-08-05 01:19:41.748675186 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-11/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.9WNQh2 2026-08-05 01:19:41.799675580 +0000
+++ /tmp/new.4t2f5f 2026-08-05 01:19:41.799675580 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-17/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.CSldEY 2026-08-05 01:19:41.845675935 +0000
+++ /tmp/new.58aW3i 2026-08-05 01:19:41.845675935 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-21/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.VokjOP 2026-08-05 01:19:41.891676289 +0000
+++ /tmp/new.islFYA 2026-08-05 01:19:41.892676297 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ibm-semeru-jre-8/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.0OFWgh 2026-08-05 01:19:41.937676644 +0000
+++ /tmp/new.wJ0dgM 2026-08-05 01:19:41.937676644 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/imageglass/windows.json=== Install // e7eaf6bb -> 72349997 ===
--- /tmp/old.ENCs8l 2026-08-05 01:19:41.983676999 +0000
+++ /tmp/new.oGvU5v 2026-08-05 01:19:41.983676999 +0000
@@ -9,7 +9,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" ALLUSERS=1 /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/imhex/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.n4RVcg 2026-08-05 01:19:42.051677523 +0000
+++ /tmp/new.nfZ1RG 2026-08-05 01:19:42.051677523 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/inkscape/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.eEpMEe 2026-08-05 01:19:42.123678079 +0000
+++ /tmp/new.ByJM6X 2026-08-05 01:19:42.123678079 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ironpython/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.zPCchx 2026-08-05 01:19:42.173678465 +0000
+++ /tmp/new.FJm1NV 2026-08-05 01:19:42.173678465 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/jami/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.qef1Uk 2026-08-05 01:19:42.242678997 +0000
+++ /tmp/new.x2ZXp8 2026-08-05 01:19:42.242678997 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/jetbrains-toolbox/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/jetbrains-toolbox/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/keepassxc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.bD2OL3 2026-08-05 01:19:42.385680100 +0000
+++ /tmp/new.fI55yB 2026-08-05 01:19:42.386680108 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/lapce/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.nzAkLq 2026-08-05 01:19:42.455680640 +0000
+++ /tmp/new.H7agD8 2026-08-05 01:19:42.455680640 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/lastpass/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.gMQ0Ms 2026-08-05 01:19:42.511681072 +0000
+++ /tmp/new.b0sMEx 2026-08-05 01:19:42.511681072 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/libreoffice/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.75H4zv 2026-08-05 01:19:42.560681450 +0000
+++ /tmp/new.tnBLwW 2026-08-05 01:19:42.560681450 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/linear/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/linear/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/lookaway/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/macwhisper/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/marked-app/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mattermost/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.D3SVPM 2026-08-05 01:19:42.795683263 +0000
+++ /tmp/new.dISzRB 2026-08-05 01:19:42.795683263 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-365-copilot/darwin.json=== Install // 49bf2ee3 -> 0be42f66 ===
--- /tmp/old.GewSwp 2026-08-05 01:19:42.846683656 +0000
+++ /tmp/new.AKvw4a 2026-08-05 01:19:42.846683656 +0000
@@ -117,6 +117,6 @@
EOF
-sudo installer -pkg "$TMPDIR/Microsoft_365_Copilot_universal_1.2607.2001_Installer.pkg" -target / -applyChoiceChangesXML "$CHOICE_XML" || exit $?
+sudo installer -pkg "$TMPDIR/Microsoft_365_Copilot_universal_1.2607.2701_Installer.pkg" -target / -applyChoiceChangesXML "$CHOICE_XML" || exit $?
relaunch_application 'com.microsoft.m365copilot'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-edge/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.nwPGJM 2026-08-05 01:19:42.893684019 +0000
+++ /tmp/new.fyQufB 2026-08-05 01:19:42.893684019 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-teams/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/microsoft-teams/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mixxx/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.FYnPib 2026-08-05 01:19:43.058685292 +0000
+++ /tmp/new.uRkEoC 2026-08-05 01:19:43.058685292 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mongodb-compass/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.oglBWu 2026-08-05 01:19:43.114685724 +0000
+++ /tmp/new.RNs18K 2026-08-05 01:19:43.114685724 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mysqlworkbench/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.FP3rZl 2026-08-05 01:19:43.188686295 +0000
+++ /tmp/new.wh5eJG 2026-08-05 01:19:43.188686295 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/naps2/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.t5OPAK 2026-08-05 01:19:43.240686696 +0000
+++ /tmp/new.HkfqxP 2026-08-05 01:19:43.240686696 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/nessus-agent/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.e4SbdG 2026-08-05 01:19:43.290687081 +0000
+++ /tmp/new.MT2nKV 2026-08-05 01:19:43.290687081 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/nextcloud/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.bSjqzI 2026-08-05 01:19:43.340687467 +0000
+++ /tmp/new.hZw3SK 2026-08-05 01:19:43.340687467 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/nodejs/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.PnXhdr 2026-08-05 01:19:43.386687822 +0000
+++ /tmp/new.NYdcT8 2026-08-05 01:19:43.387687830 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/notepadexe/darwin.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/omnifocus/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/opencode-desktop/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/openvpn-connect/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.kZtBx9 2026-08-05 01:19:43.631689712 +0000
+++ /tmp/new.I68aAs 2026-08-05 01:19:43.631689712 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/origami-studio/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/p4v/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.ycqBia 2026-08-05 01:19:43.731690483 +0000
+++ /tmp/new.1ULOeL 2026-08-05 01:19:43.731690483 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/pale-moon/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/pdfsam-basic/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.TxkBIp 2026-08-05 01:19:43.823691193 +0000
+++ /tmp/new.vQcEFg 2026-08-05 01:19:43.823691193 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/postman/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/powershell/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.PZZcOZ 2026-08-05 01:19:43.907691841 +0000
+++ /tmp/new.sPV4Dz 2026-08-05 01:19:43.907691841 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/prisma-browser/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.byvqJq 2026-08-05 01:19:43.955692211 +0000
+++ /tmp/new.7i3zPv 2026-08-05 01:19:43.955692211 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/putty/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.BVsRPJ 2026-08-05 01:19:44.032692805 +0000
+++ /tmp/new.2Tqhgu 2026-08-05 01:19:44.032692805 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/quip/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rectangle-pro/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/reflector/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.H2PNDg 2026-08-05 01:19:44.174693901 +0000
+++ /tmp/new.vl6o6n 2026-08-05 01:19:44.175693908 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/remote-desktop-manager/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.4sSJtg 2026-08-05 01:19:44.229694325 +0000
+++ /tmp/new.aLBt6m 2026-08-05 01:19:44.229694325 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rewritebar/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/rider/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/royal-tsx/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.yN8moH 2026-08-05 01:19:44.354695289 +0000
+++ /tmp/new.ghUkvG 2026-08-05 01:19:44.354695289 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/shapr3d/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/sharefile/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.D504b1 2026-08-05 01:19:44.461696115 +0000
+++ /tmp/new.No4WoE 2026-08-05 01:19:44.461696115 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/snagit/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.bo5kWs 2026-08-05 01:19:44.541696732 +0000
+++ /tmp/new.h8JEJL 2026-08-05 01:19:44.541696732 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/sonicwall-netextender/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.RRFPG6 2026-08-05 01:19:44.592697125 +0000
+++ /tmp/new.bCqpMv 2026-08-05 01:19:44.592697125 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/sourcetree/windows.json=== Install // 17f62246 -> e23ea804 ===
--- /tmp/old.w5NJ4w 2026-08-05 01:19:44.673697750 +0000
+++ /tmp/new.1eevo4 2026-08-05 01:19:44.673697750 +0000
@@ -3,7 +3,7 @@
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`" ACCEPTEULA=1" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`" ACCEPTEULA=1" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/spotify/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tailscale-app/darwin.json=== Install // e568557b -> 6301b666 ===
--- /tmp/old.xFPxSe 2026-08-05 01:19:44.767698475 +0000
+++ /tmp/new.qWNIsO 2026-08-05 01:19:44.768698483 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'io.tailscale.ipn.macsys'
-sudo installer -pkg "$TMPDIR/Tailscale-1.98.10-macos.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/Tailscale-1.102.1-macos.pkg" -target / || exit $?
relaunch_application 'io.tailscale.ipn.macsys'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tailscale/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.np4JNe 2026-08-05 01:19:44.819698876 +0000
+++ /tmp/new.YZZmU2 2026-08-05 01:19:44.819698876 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/textexpander/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.WTw7RP 2026-08-05 01:19:44.879699339 +0000
+++ /tmp/new.taWOZl 2026-08-05 01:19:44.879699339 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tightvnc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.SwpyDi 2026-08-05 01:19:44.932699748 +0000
+++ /tmp/new.CIE8Dt 2026-08-05 01:19:44.932699748 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/topaz-gigapixel-ai/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.5brRts 2026-08-05 01:19:45.008700334 +0000
+++ /tmp/new.l1JRWI 2026-08-05 01:19:45.008700334 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/topaz-photo-ai/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.sVMiWq 2026-08-05 01:19:45.084700921 +0000
+++ /tmp/new.E47uuX 2026-08-05 01:19:45.085700928 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tortoisegit/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.5Rb9W8 2026-08-05 01:19:45.151701437 +0000
+++ /tmp/new.8AY2iS 2026-08-05 01:19:45.151701437 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tower/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.sQOrlW 2026-08-05 01:19:45.210701893 +0000
+++ /tmp/new.11qV8W 2026-08-05 01:19:45.210701893 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/transmission/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.phX4UY 2026-08-05 01:19:45.270702355 +0000
+++ /tmp/new.1HFibU 2026-08-05 01:19:45.270702355 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/twingate/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.kK3dpg 2026-08-05 01:19:45.347702949 +0000
+++ /tmp/new.CuNJ1o 2026-08-05 01:19:45.347702949 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/typeface/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/ultimaker-cura/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.rZsBQY 2026-08-05 01:19:45.457703798 +0000
+++ /tmp/new.GsBnAs 2026-08-05 01:19:45.457703798 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/vlc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.YSNSgd 2026-08-05 01:19:45.548704500 +0000
+++ /tmp/new.FbmwNf 2026-08-05 01:19:45.548704500 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/wave/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.1Z6enh 2026-08-05 01:19:45.623705078 +0000
+++ /tmp/new.oVClgi 2026-08-05 01:19:45.623705078 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/weasis/darwin.json=== Install // e404586c -> 61706202 ===
--- /tmp/old.4S3E3S 2026-08-05 01:19:45.673705464 +0000
+++ /tmp/new.lJD07m 2026-08-05 01:19:45.673705464 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'org.weasis.launcher'
-sudo installer -pkg "$TMPDIR/Weasis-4.7.1-aarch64.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/Weasis-4.7.2-aarch64.pkg" -target / || exit $?
relaunch_application 'org.weasis.launcher'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/weasis/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.bi3E0o 2026-08-05 01:19:45.735705942 +0000
+++ /tmp/new.h7RLNk 2026-08-05 01:19:45.735705942 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/webex/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.gl97jf 2026-08-05 01:19:45.791706374 +0000
+++ /tmp/new.461pDF 2026-08-05 01:19:45.791706374 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/whatsapp/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/windirstat/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.TtS8v4 2026-08-05 01:19:45.872706999 +0000
+++ /tmp/new.6s1gjS 2026-08-05 01:19:45.872706999 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/windows-app/darwin.json=== Install // 333033b1 -> 78ca7433 ===
--- /tmp/old.mBTgjy 2026-08-05 01:19:45.923707393 +0000
+++ /tmp/new.hVvX21 2026-08-05 01:19:45.923707393 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'com.microsoft.rdc.macos'
-sudo installer -pkg "$TMPDIR/Windows_App_11.3.7_installer.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/Windows_App_11.3.8_installer.pkg" -target / || exit $?
relaunch_application 'com.microsoft.rdc.macos'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/winlogbeat/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.mEfgqU 2026-08-05 01:19:45.978707817 +0000
+++ /tmp/new.YxUvBY 2026-08-05 01:19:45.978707817 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/wireshark/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.5qw7Wh 2026-08-05 01:19:46.040708295 +0000
+++ /tmp/new.ayDJSi 2026-08-05 01:19:46.040708295 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/wrike/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.r2LuiQ 2026-08-05 01:19:46.122708925 +0000
+++ /tmp/new.Q4iVcU 2026-08-05 01:19:46.122708925 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/yarn/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.pxtz6a 2026-08-05 01:19:46.173709314 +0000
+++ /tmp/new.KMIjuJ 2026-08-05 01:19:46.173709314 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/yubico-authenticator/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.bjs2F7 2026-08-05 01:19:46.235709787 +0000
+++ /tmp/new.jfUIdc 2026-08-05 01:19:46.236709795 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/zoom-outlook-plugin/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.sc2psn 2026-08-05 01:19:46.287710184 +0000
+++ /tmp/new.3abLNF 2026-08-05 01:19:46.287710184 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/zoom/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.hmFkP7 2026-08-05 01:19:46.343710612 +0000
+++ /tmp/new.MeNvg4 2026-08-05 01:19:46.344710619 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/zulip/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.3YmgQM 2026-08-05 01:19:46.420711199 +0000
+++ /tmp/new.Qe7kem 2026-08-05 01:19:46.420711199 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) === |
Automated ingestion of latest Fleet-maintained app data.
Summary by CodeRabbit
Chores