Update Fleet-maintained apps - #50513
Conversation
Generated automatically with cmd/maintained-apps.
Script Diff Resultsee/maintained-apps/outputs/1password/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.oiPBJP 2026-08-04 16:51:59.346345931 +0000
+++ /tmp/new.C2Kd3P 2026-08-04 16:51:59.346345931 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.Cn2wr7 2026-08-04 16:51:59.421346890 +0000
+++ /tmp/new.DQkWVK 2026-08-04 16:51:59.421346890 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.9Tm8ap 2026-08-04 16:51:59.519348142 +0000
+++ /tmp/new.NQSZpr 2026-08-04 16:51:59.519348142 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ZwKtyj 2026-08-04 16:51:59.670350072 +0000
+++ /tmp/new.uLMjQg 2026-08-04 16:51:59.670350072 +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.2w3TOO 2026-08-04 16:51:59.730350839 +0000
+++ /tmp/new.xqgncy 2026-08-04 16:51:59.730350839 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ri71Rb 2026-08-04 16:51:59.846352321 +0000
+++ /tmp/new.XwCSUK 2026-08-04 16:51:59.846352321 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.CEo0IQ 2026-08-04 16:51:59.914353191 +0000
+++ /tmp/new.kwEgYD 2026-08-04 16:51:59.914353191 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ORG7iM 2026-08-04 16:52:00.045354865 +0000
+++ /tmp/new.CK1LPq 2026-08-04 16:52:00.046354877 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.SzK2Au 2026-08-04 16:52:00.120355823 +0000
+++ /tmp/new.RfWlDA 2026-08-04 16:52:00.121355836 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.YqPv60 2026-08-04 16:52:00.190356718 +0000
+++ /tmp/new.8ae9Mh 2026-08-04 16:52:00.191356731 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.1nEBqD 2026-08-04 16:52:00.247357446 +0000
+++ /tmp/new.nluje5 2026-08-04 16:52:00.247357446 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.dHcSNv 2026-08-04 16:52:00.304358175 +0000
+++ /tmp/new.vrtyn8 2026-08-04 16:52:00.304358175 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.8gDov0 2026-08-04 16:52:00.359358878 +0000
+++ /tmp/new.v6LLer 2026-08-04 16:52:00.360358890 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ca9rOb 2026-08-04 16:52:00.431359798 +0000
+++ /tmp/new.ZleEt5 2026-08-04 16:52:00.432359810 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.Kd4Bh1 2026-08-04 16:52:00.487360513 +0000
+++ /tmp/new.JUO98m 2026-08-04 16:52:00.487360513 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.s8loCi 2026-08-04 16:52:00.542361216 +0000
+++ /tmp/new.Dxl5hj 2026-08-04 16:52:00.542361216 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.pllFOC 2026-08-04 16:52:00.597361932 +0000
+++ /tmp/new.G6kP5e 2026-08-04 16:52:00.597361932 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ydgOeI 2026-08-04 16:52:00.653362689 +0000
+++ /tmp/new.r1Vnxm 2026-08-04 16:52:00.653362689 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.kM0eHY 2026-08-04 16:52:00.723363636 +0000
+++ /tmp/new.BAeZ5J 2026-08-04 16:52:00.723363636 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.6leojf 2026-08-04 16:52:00.795364610 +0000
+++ /tmp/new.QdgqBO 2026-08-04 16:52:00.795364610 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.b4ILaS 2026-08-04 16:52:00.860365489 +0000
+++ /tmp/new.4pMGEG 2026-08-04 16:52:00.860365489 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.Hd5EZv 2026-08-04 16:52:00.931366450 +0000
+++ /tmp/new.kPeH1l 2026-08-04 16:52:00.931366450 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ZSaIfP 2026-08-04 16:52:01.020367654 +0000
+++ /tmp/new.8fekZf 2026-08-04 16:52:01.020367654 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.MUtkDC 2026-08-04 16:52:01.111368885 +0000
+++ /tmp/new.7ecS7G 2026-08-04 16:52:01.111368885 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.wwZ2G1 2026-08-04 16:52:01.169369669 +0000
+++ /tmp/new.RkDofx 2026-08-04 16:52:01.169369669 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.XYjv3E 2026-08-04 16:52:01.238370603 +0000
+++ /tmp/new.aGRytk 2026-08-04 16:52:01.238370603 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.i3v2C7 2026-08-04 16:52:01.289371293 +0000
+++ /tmp/new.fIAVw5 2026-08-04 16:52:01.289371293 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.gOF74G 2026-08-04 16:52:01.339371969 +0000
+++ /tmp/new.wTyVuI 2026-08-04 16:52:01.339371969 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.om0We3 2026-08-04 16:52:01.389372645 +0000
+++ /tmp/new.bGkK0b 2026-08-04 16:52:01.390372659 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.UuNWaU 2026-08-04 16:52:01.445373403 +0000
+++ /tmp/new.6GMX6O 2026-08-04 16:52:01.445373403 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.nnrOfD 2026-08-04 16:52:01.498374120 +0000
+++ /tmp/new.ovkuob 2026-08-04 16:52:01.498374120 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.AqMnBD 2026-08-04 16:52:01.561374972 +0000
+++ /tmp/new.GyZvZJ 2026-08-04 16:52:01.561374972 +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.Wjp1q4 2026-08-04 16:52:01.747377488 +0000
+++ /tmp/new.b5D59K 2026-08-04 16:52:01.747377488 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.eUPv46 2026-08-04 16:52:01.807378300 +0000
+++ /tmp/new.lCjhNF 2026-08-04 16:52:01.807378300 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.CEBJsb 2026-08-04 16:52:01.871379165 +0000
+++ /tmp/new.JySWwq 2026-08-04 16:52:01.871379165 +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.2stPNv 2026-08-04 16:52:01.931379977 +0000
+++ /tmp/new.iypUde 2026-08-04 16:52:01.931379977 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.E4VVAn 2026-08-04 16:52:01.988380748 +0000
+++ /tmp/new.L5WG2b 2026-08-04 16:52:01.988380748 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.K9dK40 2026-08-04 16:52:02.043381492 +0000
+++ /tmp/new.gLaLUm 2026-08-04 16:52:02.044381505 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.6fRzBO 2026-08-04 16:52:02.099382249 +0000
+++ /tmp/new.a4C1Zl 2026-08-04 16:52:02.099382249 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.PNRKiG 2026-08-04 16:52:02.151382953 +0000
+++ /tmp/new.W29JLL 2026-08-04 16:52:02.151382953 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.LZDCME 2026-08-04 16:52:02.225383954 +0000
+++ /tmp/new.utQ8m0 2026-08-04 16:52:02.225383954 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.jkzDfA 2026-08-04 16:52:02.321385253 +0000
+++ /tmp/new.j6tFbX 2026-08-04 16:52:02.321385253 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.CjVIBs 2026-08-04 16:52:02.391386199 +0000
+++ /tmp/new.4uFFVw 2026-08-04 16:52:02.391386199 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.BPFcPZ 2026-08-04 16:52:02.451387011 +0000
+++ /tmp/new.urIZUb 2026-08-04 16:52:02.452387024 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.fiwntl 2026-08-04 16:52:02.526388026 +0000
+++ /tmp/new.LfKIpo 2026-08-04 16:52:02.526388026 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.AcnPK4 2026-08-04 16:52:02.583388796 +0000
+++ /tmp/new.awEcSG 2026-08-04 16:52:02.583388796 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.x0nYuW 2026-08-04 16:52:02.645389635 +0000
+++ /tmp/new.KQHnO6 2026-08-04 16:52:02.645389635 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.fQ2VMV 2026-08-04 16:52:02.739390907 +0000
+++ /tmp/new.cgL9zg 2026-08-04 16:52:02.739390907 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.u2if4m 2026-08-04 16:52:02.802391759 +0000
+++ /tmp/new.Yhr6fc 2026-08-04 16:52:02.802391759 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.frokCz 2026-08-04 16:52:02.857392503 +0000
+++ /tmp/new.bzN0wh 2026-08-04 16:52:02.857392503 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.3Cj0wf 2026-08-04 16:52:02.914393274 +0000
+++ /tmp/new.QWXbiM 2026-08-04 16:52:02.914393274 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.wbL3ji 2026-08-04 16:52:02.967393991 +0000
+++ /tmp/new.affCkv 2026-08-04 16:52:02.967393991 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.UumqPw 2026-08-04 16:52:03.120396061 +0000
+++ /tmp/new.athK2Z 2026-08-04 16:52:03.121396074 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.bV4Yu9 2026-08-04 16:52:03.175396805 +0000
+++ /tmp/new.S2N2Sk 2026-08-04 16:52:03.175396805 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ssvxoE 2026-08-04 16:52:03.224397468 +0000
+++ /tmp/new.5SCZFa 2026-08-04 16:52:03.224397468 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.zlpRTw 2026-08-04 16:52:03.286398306 +0000
+++ /tmp/new.zCyzae 2026-08-04 16:52:03.286398306 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.1akkPD 2026-08-04 16:52:03.346399118 +0000
+++ /tmp/new.DIzP7e 2026-08-04 16:52:03.347399131 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.fh9vpr 2026-08-04 16:52:03.402399875 +0000
+++ /tmp/new.2fDlDH 2026-08-04 16:52:03.402399875 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.XIhHDP 2026-08-04 16:52:03.463400701 +0000
+++ /tmp/new.mieYn4 2026-08-04 16:52:03.464400714 +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.Xs4fcd 2026-08-04 16:52:03.528401580 +0000
+++ /tmp/new.DTz63F 2026-08-04 16:52:03.528401580 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.l0JrKf 2026-08-04 16:52:03.624402878 +0000
+++ /tmp/new.gMIezY 2026-08-04 16:52:03.625402892 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.56CQUQ 2026-08-04 16:52:03.727404272 +0000
+++ /tmp/new.B1KEp9 2026-08-04 16:52:03.727404272 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.Hx7i8L 2026-08-04 16:52:03.803405300 +0000
+++ /tmp/new.oLDkPW 2026-08-04 16:52:03.803405300 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.yNyO7H 2026-08-04 16:52:03.894406531 +0000
+++ /tmp/new.ZZb1HL 2026-08-04 16:52:03.894406531 +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.pv1OYH 2026-08-04 16:52:03.951407302 +0000
+++ /tmp/new.t0LIze 2026-08-04 16:52:03.951407302 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.HancRh 2026-08-04 16:52:04.011408113 +0000
+++ /tmp/new.4NZMUI 2026-08-04 16:52:04.011408113 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.zOFyOh 2026-08-04 16:52:04.074408965 +0000
+++ /tmp/new.cm2XSj 2026-08-04 16:52:04.074408965 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.pKVPi1 2026-08-04 16:52:04.217410900 +0000
+++ /tmp/new.Wk0LAA 2026-08-04 16:52:04.217410900 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ouY7C4 2026-08-04 16:52:04.393413281 +0000
+++ /tmp/new.de7gFg 2026-08-04 16:52:04.393413281 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.4Z5V2b 2026-08-04 16:52:04.494414647 +0000
+++ /tmp/new.o7bGz3 2026-08-04 16:52:04.494414647 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.1mE8y0 2026-08-04 16:52:04.549415391 +0000
+++ /tmp/new.c8QDVS 2026-08-04 16:52:04.549415391 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.iS7XLI 2026-08-04 16:52:04.614416270 +0000
+++ /tmp/new.p557Xe 2026-08-04 16:52:04.614416270 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.vz7t2W 2026-08-04 16:52:04.682417190 +0000
+++ /tmp/new.5ZFEdZ 2026-08-04 16:52:04.682417190 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.wi4lCH 2026-08-04 16:52:04.735417907 +0000
+++ /tmp/new.YcOR8W 2026-08-04 16:52:04.735417907 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.LsJnHr 2026-08-04 16:52:04.788418624 +0000
+++ /tmp/new.FkCp2C 2026-08-04 16:52:04.789418637 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.KPDzmI 2026-08-04 16:52:04.840419327 +0000
+++ /tmp/new.k1p9ox 2026-08-04 16:52:04.840419327 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ZKpvrJ 2026-08-04 16:52:04.893420044 +0000
+++ /tmp/new.rLILgb 2026-08-04 16:52:04.893420044 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.zW9kLG 2026-08-04 16:52:04.945420748 +0000
+++ /tmp/new.DWkj9l 2026-08-04 16:52:04.945420748 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ii0kXi 2026-08-04 16:52:04.997421451 +0000
+++ /tmp/new.Zh8Smg 2026-08-04 16:52:04.997421451 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.TLgeBV 2026-08-04 16:52:05.052422195 +0000
+++ /tmp/new.9IoYrh 2026-08-04 16:52:05.052422195 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.rbjXy3 2026-08-04 16:52:05.102422872 +0000
+++ /tmp/new.v8TW8t 2026-08-04 16:52:05.103422885 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.cDdZXo 2026-08-04 16:52:05.164423710 +0000
+++ /tmp/new.a18dtf 2026-08-04 16:52:05.164423710 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.S2a9O3 2026-08-04 16:52:05.226424549 +0000
+++ /tmp/new.fxGoU5 2026-08-04 16:52:05.226424549 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.F7UEFB 2026-08-04 16:52:05.303425591 +0000
+++ /tmp/new.Bze1YH 2026-08-04 16:52:05.303425591 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.MdRSS9 2026-08-04 16:52:05.357426321 +0000
+++ /tmp/new.RkmgzE 2026-08-04 16:52:05.357426321 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.dnNpSK 2026-08-04 16:52:05.410427038 +0000
+++ /tmp/new.GdVoh8 2026-08-04 16:52:05.410427038 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.lCfV2x 2026-08-04 16:52:05.473427890 +0000
+++ /tmp/new.YdGRAe 2026-08-04 16:52:05.473427890 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.xYYlTl 2026-08-04 16:52:05.534428715 +0000
+++ /tmp/new.J7PKvy 2026-08-04 16:52:05.534428715 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.qAj7MR 2026-08-04 16:52:05.625429946 +0000
+++ /tmp/new.6xLYbF 2026-08-04 16:52:05.625429946 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.IfWkV6 2026-08-04 16:52:05.857433085 +0000
+++ /tmp/new.GAcfe8 2026-08-04 16:52:05.858433098 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.dxIfvO 2026-08-04 16:52:05.920433937 +0000
+++ /tmp/new.kcvMam 2026-08-04 16:52:05.920433937 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.cYVoIg 2026-08-04 16:52:06.025435357 +0000
+++ /tmp/new.o995Wx 2026-08-04 16:52:06.025435357 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.cTVMw3 2026-08-04 16:52:06.080436101 +0000
+++ /tmp/new.mjy0oi 2026-08-04 16:52:06.080436101 +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.y9JtNv 2026-08-04 16:52:06.135436845 +0000
+++ /tmp/new.XHKL48 2026-08-04 16:52:06.135436845 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.c0JY6Z 2026-08-04 16:52:06.197437684 +0000
+++ /tmp/new.5TZ2S2 2026-08-04 16:52:06.197437684 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.VHvieT 2026-08-04 16:52:06.258438509 +0000
+++ /tmp/new.wRAyH0 2026-08-04 16:52:06.258438509 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.6FyPpa 2026-08-04 16:52:06.311439226 +0000
+++ /tmp/new.SvoNEi 2026-08-04 16:52:06.311439226 +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.0ZnBp9 2026-08-04 16:52:06.363439929 +0000
+++ /tmp/new.zxegzj 2026-08-04 16:52:06.363439929 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.s3ha3d 2026-08-04 16:52:06.427440795 +0000
+++ /tmp/new.LTpMWj 2026-08-04 16:52:06.427440795 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.16qh62 2026-08-04 16:52:06.510441918 +0000
+++ /tmp/new.3NSf0X 2026-08-04 16:52:06.510441918 +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.9eXVg9 2026-08-04 16:52:06.648443784 +0000
+++ /tmp/new.uyXCsx 2026-08-04 16:52:06.649443798 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.cZ27Km 2026-08-04 16:52:06.779445557 +0000
+++ /tmp/new.lpaMM7 2026-08-04 16:52:06.779445557 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.GxSrci 2026-08-04 16:52:06.831446260 +0000
+++ /tmp/new.KbYi7X 2026-08-04 16:52:06.831446260 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.NVYUyv 2026-08-04 16:52:06.883446963 +0000
+++ /tmp/new.OllvIQ 2026-08-04 16:52:06.883446963 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.BWzSmP 2026-08-04 16:52:06.935447667 +0000
+++ /tmp/new.k8odCU 2026-08-04 16:52:06.935447667 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.fhTsCb 2026-08-04 16:52:06.991448424 +0000
+++ /tmp/new.4KQsVD 2026-08-04 16:52:06.991448424 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.uvsKzl 2026-08-04 16:52:07.044449141 +0000
+++ /tmp/new.BjR3wK 2026-08-04 16:52:07.044449141 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.SsclV2 2026-08-04 16:52:07.096449845 +0000
+++ /tmp/new.MNW2Pw 2026-08-04 16:52:07.096449845 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.1PtjTw 2026-08-04 16:52:07.148450548 +0000
+++ /tmp/new.Tt8X5P 2026-08-04 16:52:07.149450562 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.bZCfpA 2026-08-04 16:52:07.201451265 +0000
+++ /tmp/new.cMDy7g 2026-08-04 16:52:07.201451265 +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.LajWKm 2026-08-04 16:52:07.276452280 +0000
+++ /tmp/new.wrzAGK 2026-08-04 16:52:07.276452280 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.MgMW1p 2026-08-04 16:52:07.355453348 +0000
+++ /tmp/new.ycgUN8 2026-08-04 16:52:07.356453362 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.IWcNPW 2026-08-04 16:52:07.411454106 +0000
+++ /tmp/new.lex8RQ 2026-08-04 16:52:07.411454106 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ufLF5P 2026-08-04 16:52:07.487455134 +0000
+++ /tmp/new.qHCXim 2026-08-04 16:52:07.487455134 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.qXrxUJ 2026-08-04 16:52:07.646457285 +0000
+++ /tmp/new.G1fYgf 2026-08-04 16:52:07.646457285 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.oSWnyl 2026-08-04 16:52:07.722458313 +0000
+++ /tmp/new.4499Rv 2026-08-04 16:52:07.722458313 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.Qw2Y1r 2026-08-04 16:52:07.784459151 +0000
+++ /tmp/new.8qXSaq 2026-08-04 16:52:07.784459151 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.9QLTm6 2026-08-04 16:52:07.839459895 +0000
+++ /tmp/new.tXBkHM 2026-08-04 16:52:07.839459895 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.7YY6Sc 2026-08-04 16:52:08.102463453 +0000
+++ /tmp/new.CcrRYx 2026-08-04 16:52:08.102463453 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.Jbrgsw 2026-08-04 16:52:08.158464210 +0000
+++ /tmp/new.3eGOJy 2026-08-04 16:52:08.158464210 +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.62aQxO 2026-08-04 16:52:08.210464914 +0000
+++ /tmp/new.vyvLLn 2026-08-04 16:52:08.211464927 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.9N91NK 2026-08-04 16:52:08.374467132 +0000
+++ /tmp/new.jdNibI 2026-08-04 16:52:08.374467132 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.zQbJHL 2026-08-04 16:52:08.437467985 +0000
+++ /tmp/new.U7Y6S9 2026-08-04 16:52:08.437467985 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.EzqCpq 2026-08-04 16:52:08.520469107 +0000
+++ /tmp/new.AUCxBd 2026-08-04 16:52:08.520469107 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.WgqvtQ 2026-08-04 16:52:08.578469892 +0000
+++ /tmp/new.vqqavN 2026-08-04 16:52:08.578469892 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.WRJEas 2026-08-04 16:52:08.634470687 +0000
+++ /tmp/new.CydoqE 2026-08-04 16:52:08.635470701 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.5hGW3t 2026-08-04 16:52:08.691471506 +0000
+++ /tmp/new.4FQIO9 2026-08-04 16:52:08.691471506 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.jgpkBt 2026-08-04 16:52:08.744472268 +0000
+++ /tmp/new.Eg1taL 2026-08-04 16:52:08.744472268 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.PMxJru 2026-08-04 16:52:09.023476279 +0000
+++ /tmp/new.hMt7qm 2026-08-04 16:52:09.023476279 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.y3YwV7 2026-08-04 16:52:09.134477875 +0000
+++ /tmp/new.Izm1od 2026-08-04 16:52:09.134477875 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.8oIjkk 2026-08-04 16:52:09.237479356 +0000
+++ /tmp/new.PPPMqd 2026-08-04 16:52:09.237479356 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.EKZSYA 2026-08-04 16:52:09.331480708 +0000
+++ /tmp/new.GoFOLV 2026-08-04 16:52:09.331480708 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.80DDP6 2026-08-04 16:52:09.383481455 +0000
+++ /tmp/new.3Pfa0F 2026-08-04 16:52:09.383481455 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.7midNz 2026-08-04 16:52:09.468482677 +0000
+++ /tmp/new.UjPlKG 2026-08-04 16:52:09.468482677 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.HYqyfP 2026-08-04 16:52:09.638485121 +0000
+++ /tmp/new.aAcoEx 2026-08-04 16:52:09.638485121 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.IgqYvA 2026-08-04 16:52:09.698485984 +0000
+++ /tmp/new.MsuFuH 2026-08-04 16:52:09.698485984 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.OG1DBa 2026-08-04 16:52:09.838487997 +0000
+++ /tmp/new.2fFUXg 2026-08-04 16:52:09.838487997 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.yTHwAm 2026-08-04 16:52:09.956489693 +0000
+++ /tmp/new.E1rBLW 2026-08-04 16:52:09.956489693 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.shAN9g 2026-08-04 16:52:10.041490916 +0000
+++ /tmp/new.J2DVwG 2026-08-04 16:52:10.041490916 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.tjlHTN 2026-08-04 16:52:10.099491749 +0000
+++ /tmp/new.4Ff10a 2026-08-04 16:52:10.099491749 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.c8Fico 2026-08-04 16:52:10.187493015 +0000
+++ /tmp/new.Bwe2VA 2026-08-04 16:52:10.187493015 +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.U3aLhD 2026-08-04 16:52:10.294494553 +0000
+++ /tmp/new.bmOcsM 2026-08-04 16:52:10.294494553 +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.ApGtWK 2026-08-04 16:52:10.353495401 +0000
+++ /tmp/new.tjPUCc 2026-08-04 16:52:10.353495401 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.KJjD2g 2026-08-04 16:52:10.420496365 +0000
+++ /tmp/new.SCfR8z 2026-08-04 16:52:10.420496365 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.Tv3qOG 2026-08-04 16:52:10.478497198 +0000
+++ /tmp/new.IWXvxQ 2026-08-04 16:52:10.478497198 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.73xiE4 2026-08-04 16:52:10.563498420 +0000
+++ /tmp/new.J4MTO1 2026-08-04 16:52:10.563498420 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.Ob5VtB 2026-08-04 16:52:10.647499628 +0000
+++ /tmp/new.a8Wlyw 2026-08-04 16:52:10.647499628 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.azySOA 2026-08-04 16:52:10.722500706 +0000
+++ /tmp/new.WM1Xfz 2026-08-04 16:52:10.722500706 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ZOWEcO 2026-08-04 16:52:10.787501641 +0000
+++ /tmp/new.Bnk4wD 2026-08-04 16:52:10.787501641 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.8eixm4 2026-08-04 16:52:10.855502619 +0000
+++ /tmp/new.U1a7Oo 2026-08-04 16:52:10.855502619 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/trezor-suite/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/twingate/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Cs0q3b 2026-08-04 16:52:10.980504416 +0000
+++ /tmp/new.1TUDfC 2026-08-04 16:52:10.980504416 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.2kLswi 2026-08-04 16:52:11.105506213 +0000
+++ /tmp/new.wmEcQC 2026-08-04 16:52:11.105506213 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.YuqZr1 2026-08-04 16:52:11.202507608 +0000
+++ /tmp/new.zHCFed 2026-08-04 16:52:11.203507622 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.XuKitB 2026-08-04 16:52:11.286508815 +0000
+++ /tmp/new.7BRjkb 2026-08-04 16:52:11.287508830 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.pkebPH 2026-08-04 16:52:11.342509620 +0000
+++ /tmp/new.TXdjAQ 2026-08-04 16:52:11.342509620 +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.bkP97V 2026-08-04 16:52:11.411510612 +0000
+++ /tmp/new.WeBWiX 2026-08-04 16:52:11.411510612 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.nlcSbq 2026-08-04 16:52:11.473511504 +0000
+++ /tmp/new.U1RjIQ 2026-08-04 16:52:11.473511504 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.CvkOUK 2026-08-04 16:52:11.564512812 +0000
+++ /tmp/new.JAOkuS 2026-08-04 16:52:11.565512826 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.yWBtuP 2026-08-04 16:52:11.621513632 +0000
+++ /tmp/new.G1gXsw 2026-08-04 16:52:11.622513646 +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.hSCdeq 2026-08-04 16:52:11.682514509 +0000
+++ /tmp/new.G4B0Nt 2026-08-04 16:52:11.682514509 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.EIuvt6 2026-08-04 16:52:11.750515486 +0000
+++ /tmp/new.K17aW8 2026-08-04 16:52:11.750515486 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/workflowy/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/wrike/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.uIRSIE 2026-08-04 16:52:11.878517327 +0000
+++ /tmp/new.ITnFpX 2026-08-04 16:52:11.879517341 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ikXqlg 2026-08-04 16:52:11.936518160 +0000
+++ /tmp/new.Q0ueJk 2026-08-04 16:52:11.936518160 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.zdotP2 2026-08-04 16:52:12.004519138 +0000
+++ /tmp/new.vy3nJA 2026-08-04 16:52:12.005519152 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.F0DUbU 2026-08-04 16:52:12.064520001 +0000
+++ /tmp/new.nIRTL5 2026-08-04 16:52:12.064520001 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.lGHU4X 2026-08-04 16:52:12.127520907 +0000
+++ /tmp/new.9OAYyS 2026-08-04 16:52:12.127520907 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.p04YxY 2026-08-04 16:52:12.204522014 +0000
+++ /tmp/new.xu3W39 2026-08-04 16:52:12.204522014 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) === |
WalkthroughUpdated maintained-app definitions across Windows and macOS. Windows installer scripts now quote MSI log paths and treat exit codes 0, 3010, and 1641 as successful while preserving other failures. Many Windows and macOS entries also update versions, patch queries, installer URLs, package filenames, script references, and SHA-256 checksums. Existing uninstall configurations remain unchanged in the affected entries. 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: 3
🤖 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/bitwig-studio/windows.json`:
- Line 19: Remove the -Verb RunAs elevation switch from the Fleet MSI
installation command in the source template, then regenerate the maintained-app
outputs. Apply the generated change to
ee/maintained-apps/outputs/bitwig-studio/windows.json:19-19,
ee/maintained-apps/outputs/blender/windows.json:21-21,
ee/maintained-apps/outputs/bluej/windows.json:19-19,
ee/maintained-apps/outputs/mattermost/windows.json:21-21,
ee/maintained-apps/outputs/microsoft-edge/windows.json:20-20,
ee/maintained-apps/outputs/mixxx/windows.json:20-20, and
ee/maintained-apps/outputs/mongodb-compass/windows.json:20-20; preserve the
existing msiexec arguments and exit-code handling.
In `@ee/maintained-apps/outputs/bluej/windows.json`:
- Line 19: The BlueJ Windows installer script currently returns the raw msiexec
exit code, so successful reboot-required codes are treated as failures. Update
the exit handling after Start-Process in the installer entry keyed by "85459eac"
to map exit codes 0, 3010, and 1641 to success, following the mapping used by
reference 22e48c46, then regenerate the maintained-app output.
In `@ee/maintained-apps/outputs/gotomeeting/windows.json`:
- Line 10: Update the Windows GoToMeeting install script referenced by
install_script_ref to map MSI exit codes 3010 and 1641 to exit code 0 before
returning any other exit code, matching the behavior in version 22e48c46.
🪄 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: 7607ae95-5a67-4f75-b1be-e4945288ef17
📒 Files selected for processing (226)
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/trezor-suite/darwin.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/workflowy/darwin.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
| ], | ||
| "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 | 🟠 Major | 🏗️ Heavy lift
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Locate relevant files:"
git ls-files 'ee/maintained-apps/outputs/*/windows.json' | sed -n '1,80p'
echo
echo "Search for -Verb RunAs in maintained app windows JSONs:"
rg -n --hidden 'Verb RunAs|Start-Process msiexec|Start-Process .*msiexec' ee/maintained-apps/outputs/*/windows.json || true
echo
echo "Show python-3.13 installer context:"
if [ -f ee/maintained-apps/outputs/python-3.13/windows.json ]; then
cat -n ee/maintained-apps/outputs/python-3.13/windows.json | sed -n '1,80p'
fi
echo
echo "Search for generator source/config references to maintained app outputs and -Verb RunAs:"
rg -n --hidden -S '\-Verb RunAs|maintained-apps|outputs/bitwig-studio/windows\.json|generator|windows.json' . --glob '!*node_modules*' --glob '!*build*' --glob '!*dist*' | sed -n '1,220p'Repository: fleetdm/fleet
Length of output: 50370
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Target installers install script snippets:"
for f in ee/maintained-apps/outputs/bitwig-studio/windows.json \
ee/maintained-apps/outputs/blender/windows.json \
ee/maintained-apps/outputs/bluej/windows.json \
ee/maintained-apps/outputs/mattermost/windows.json \
ce/maintained-apps/outputs/microsoft-edge/windows.json \
ee/maintained-apps/outputs/mixxx/windows.json \
ee/maintained-apps/outputs/mongodb-compass/windows.json \
ee/maintained-apps/outputs/python-3.13/windows.json; do
if [ -f "$f" ]; then
echo "=== $f ==="
sed -n '15,35p' "$f"
fi
done
echo
echo "Find generator/source files mentioning Windows MSI start-process templates or RunAs:"
rg -n --hidden -S 'Start-Process .*msiexec|Verb RunAs|RunAs|ALLUSERS|fleet-install-software.log|windows.json|maintained-apps' \
cmd internal scripts pkg platform server --glob '!**/*.png' --glob '!**/*.jpg' --glob '!**/*.svg' --glob '!vendor/**' | sed -n '1,220p'
echo
echo "Find Python-3.13 relevant snippet with context:"
sed -n '8,26p' ee/maintained-apps/outputs/python-3.13/windows.json
echo
echo "Focused script templates in repository:"
rg -n --hidden -S 'Start-Process msiexec|Start-Process -FilePath "\\$exeFilePath|NoNewWindow|Verb RunAs|maintained apps' . --glob '!ee/maintained-apps/outputs/**' --glob '!**/node_modules/**' | sed -n '1,240p'Repository: fleetdm/fleet
Length of output: 40208
🌐 Web query:
PowerShell Start-Process Verb RunAs LocalSystem session-0 Cannot create elevated process under same session error
💡 Result:
The error you are encountering occurs because the "RunAs" verb in PowerShell's Start-Process cmdlet (which internally uses CreateProcessWithLogonW) is fundamentally incompatible with the LocalSystem account and Session 0 isolation [1][2]. When you attempt to use the "RunAs" verb, the system tries to perform an interactive logon to create the new process [1]. This requires a user's Logon SID, which the LocalSystem account does not possess [1]. Additionally, services run in Session 0, which is isolated from the interactive user desktop (e.g., Winsta0\Default) [3][4]. Because Session 0 is non-interactive, it cannot display UAC prompts or interact with the desktop session where a user is logged in [4]. Consequently, attempting to elevate a process from this context results in an "Access is denied" (error code 5) or similar failure [1][5]. To resolve this, you must avoid using the "RunAs" verb from a background service or LocalSystem process. Depending on your objective, consider these alternatives: 1. Avoid Elevation: If the task does not strictly require elevation, run it without the "RunAs" verb [2]. 2. Use Task Scheduler: If the process must run elevated, configure a Scheduled Task to run with the desired privileges [5]. You can then trigger this task from your script using the Schtasks.exe utility. 3. Architecture Redesign: If you need to interact with a user's desktop, you must create a helper process running in the user's session (e.g., Session 1+) [3][4]. This helper process is typically launched using Windows APIs like CreateProcessAsUser after obtaining the user's token via WTSQueryUserToken, and then that user-mode process can handle the elevated tasks or UI interactions [3][4][6]. The "RunAs" verb is designed for interactive users who are logged into a desktop session and can respond to UAC elevation prompts, not for non-interactive service accounts [1][7].
Citations:
- 1: https://learn.microsoft.com/en-us/archive/blogs/winsdk/runas-verb-process-start-doesnt-work-from-a-localsystem-net-service
- 2: https://stackoverflow.com/questions/25725925/verb-runas-in-a-start-process-powershell-command-causes-an-error
- 3: https://stackoverflow.com/questions/2426594/starting-a-uac-elevated-process-from-a-non-interactive-service-win32-net-power
- 4: https://learn.microsoft.com/en-us/archive/blogs/winsdk/how-to-launch-a-process-interactively-from-a-windows-service
- 5: https://stackoverflow.com/questions/33462446/elevate-creditals-with-powershell-via-local-system-account
- 6: https://www.codeproject.com/Articles/18367/Launch-your-application-in-Vista-under-the-local-s
- 7: https://stackoverflow.com/questions/78688497/run-elevated-process-from-system-process
Remove -Verb RunAs from the Fleet MSI install scripts.
Fleet installs run elevated as Local System, so -Verb RunAs requests interactive UAC elevation from session 0 and can fail before msiexec.exe starts. Since msiexec.exe already runs elevated here, remove the elevation switch.
Fix the source template(s) and regenerate the maintained-app outputs, including at least: bitwig-studio, blender, bluej, mattermost, microsoft-edge, mixxx, and mongodb-compass.
Proposed fix
- -PassThru -Verb RunAs -Wait
+ -PassThru -Wait📝 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.
| "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", | |
| "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 -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", |
📍 Affects 7 files
ee/maintained-apps/outputs/bitwig-studio/windows.json#L19-L19(this comment)ee/maintained-apps/outputs/blender/windows.json#L21-L21ee/maintained-apps/outputs/bluej/windows.json#L19-L19ee/maintained-apps/outputs/mattermost/windows.json#L21-L21ee/maintained-apps/outputs/microsoft-edge/windows.json#L20-L20ee/maintained-apps/outputs/mixxx/windows.json#L20-L20ee/maintained-apps/outputs/mongodb-compass/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/bitwig-studio/windows.json` at line 19, Remove the
-Verb RunAs elevation switch from the Fleet MSI installation command in the
source template, then regenerate the maintained-app outputs. Apply the generated
change to ee/maintained-apps/outputs/bitwig-studio/windows.json:19-19,
ee/maintained-apps/outputs/blender/windows.json:21-21,
ee/maintained-apps/outputs/bluej/windows.json:19-19,
ee/maintained-apps/outputs/mattermost/windows.json:21-21,
ee/maintained-apps/outputs/microsoft-edge/windows.json:20-20,
ee/maintained-apps/outputs/mixxx/windows.json:20-20, and
ee/maintained-apps/outputs/mongodb-compass/windows.json:20-20; preserve the
existing msiexec arguments and exit-code handling.
| ], | ||
| "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
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf 'Files matching bluej/windows.json:\n'
fd -a 'windows\.json$' . | sed 's#^\./##' | grep 'bluej' || true
printf '\nRelevant current file excerpt:\n'
if [ -f ee/maintained-apps/outputs/bluej/windows.json ]; then
nl -ba ee/maintained-apps/outputs/bluej/windows.json | sed -n '1,80p'
fi
printf '\nSearch for msiexec success code mappings:\n'
rg -n "3010|1641|msiexec|ExitCode|ALLUSERS" ee/maintained-apps/outputs ee/maintained-apps -S || true
printf '\nList commits mentioning 22e48c46:\n'
git log --oneline --all --grep='22e48c46' | head -20 || true
git show --stat 22e48c46 2>/dev/null | head -40 || true
printf '\nSearch for 22e48c46 in tracked files:\n'
rg -n "22e48c46" . -S || trueRepository: fleetdm/fleet
Length of output: 323
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf 'Current bluej/windows.json first 90 lines:\n'
sed -n '1,90p' ee/maintained-apps/outputs/bluej/windows.json | awk '{printf "%8d\t%s\n", NR, $0}'
printf '\nSearch for msiexec success code mappings in maintained-apps outputs/packages:\n'
rg -n "3010|1641|msiexec|msirestart|Start-Process|ExitCode" ee/maintained-apps ee -S || true
printf '\nCommit 22e48c46 stat/shortlog:\n'
git show --stat 22e48c46 2>/dev/null | sed -n '1,80p' || true
printf '\nTracked occurrences of 22e48c46:\n'
rg -n "22e48c46" . -S || true
printf '\nCurrent diff around bluej/windows.json:\n'
git diff -- ee/maintained-apps/outputs/bluej/windows.json | sed -n '1,160p' || trueRepository: fleetdm/fleet
Length of output: 50370
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf 'BlueJ Windows JSON first 120 lines:\n'
awk 'NR<=120 {printf "%8d\t%s\n", NR, $0}' ee/maintained-apps/outputs/bluej/windows.json
printf '\nCommit 22e48c46 status:\n'
git show --format='%H %s' --no-stat 22e48c46 2>/dev/null || true
printf '\nmsiexec Windows install scripts (one-sentence code shape):\n'
python3 - <<'PY'
import json, pathlib, re
for p in pathlib.Path('ee/maintained-apps/outputs').glob('**/windows.json'):
if 'bluej' in str(p):
continue
try:
data=json.loads(p.read_text())
except Exception:
continue
if not isinstance(data, dict):
continue
for k,v in data.items():
if v is None or 'msiexec' not in str(v).lower():
continue
has_3010 = bool(re.search(r'(?:^|(?<=\W))(3010|0x12BA|0x12ba)(?=\W|$)', re.sub(rb'(^|/)[^"/\s][^"\s]*', b'', v, flags=re.S)))
has_1641 = bool(re.search(r'(?:^|(?<=\W))(1641|0x661|0x0661)(?=\W|$)', re.sub(rb'(^|/)[^"/\s][^"\s]*', b'', v, flags=re.S)))
success_exit0 = bool(re.search(r'((?:successCodes|ExpectedExitCodes)|\bSuccessCode\b)\s*[=\[]+.*\b(?:0|3010|1641).*\b(?=.*\b0\b)|\b(if|if)\b(?=.*(?<![!\s])3010|(?<![!\s])1641).*\{\s*Exit\s+0', v, flags=re.S|re.I))
raw_exit = re.search(r'Exit\s+\$[A-Za-z0-9]+=1603|\bExit\s+\$installProcess\.ExitCode\b|\bExit\s+\$exitCode\b', v, flags=re.I)
print(f'{p}:{k}: msiexec present, has_3010={has_3010}, has_1641={has_1641}, success_exit0={success_exit0}, raw_exit={bool(raw_exit)}')
PYRepository: fleetdm/fleet
Length of output: 3005
Map MSI reboot-success codes to success.
This install runs msiexec.exe and exits $installProcess.ExitCode directly. MSI codes 3010 (ERROR_SUCCESS_REBOOT_REQUIRED) and 1641 (ERROR_SUCCESS_REBOOT_INITIATED) indicate a successful install with reboot handling, but Fleet can treat them as failure. Apply the 0, 3010, 1641 mapping used by the MSI install script reference 22e48c46, then regenerate this output.
🤖 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, The BlueJ Windows
installer script currently returns the raw msiexec exit code, so successful
reboot-required codes are treated as failures. Update the exit handling after
Start-Process in the installer entry keyed by "85459eac" to map exit codes 0,
3010, and 1641 to success, following the mapping used by reference 22e48c46,
then regenerate the maintained-app output.
| }, | ||
| "installer_url": "https://link.gotomeeting.com/latest-msi", | ||
| "install_script_ref": "36ce6af0", | ||
| "install_script_ref": "a6c7d24e", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Map MSI reboot-success codes to exit code 0.
Line 19 still returns MSI exit codes 3010 and 1641 directly. Fleet will receive these codes as installation failures even though MSI reports success with reboot required or reboot initiated.
Use the same mapping as 22e48c46 before returning other exit codes.
Also applies to: 19-19
🤖 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 10, Update the
Windows GoToMeeting install script referenced by install_script_ref to map MSI
exit codes 3010 and 1641 to exit code 0 before returning any other exit code,
matching the behavior in version 22e48c46.
|
Closing in favor of #50537. |
Automated ingestion of latest Fleet-maintained app data.
Summary by CodeRabbit