Update Fleet-maintained apps - #50549
Conversation
Generated automatically with cmd/maintained-apps.
Script Diff Resultsee/maintained-apps/outputs/1password/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.Z5EDPq 2026-08-05 00:28:52.732132675 +0000
+++ /tmp/new.vkypWh 2026-08-05 00:28:52.732132675 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.Jb0ZWZ 2026-08-05 00:28:52.799132056 +0000
+++ /tmp/new.O9a1wh 2026-08-05 00:28:52.800132047 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ZeCATP 2026-08-05 00:28:52.892131196 +0000
+++ /tmp/new.EqaeDy 2026-08-05 00:28:52.892131196 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.Oe1Rgx 2026-08-05 00:28:53.045129782 +0000
+++ /tmp/new.wfn22a 2026-08-05 00:28:53.046129772 +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.SAcwfl 2026-08-05 00:28:53.099129282 +0000
+++ /tmp/new.49vzYz 2026-08-05 00:28:53.099129282 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.l8suJF 2026-08-05 00:28:53.211128247 +0000
+++ /tmp/new.urW6Xq 2026-08-05 00:28:53.211128247 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.tS1TYd 2026-08-05 00:28:53.276127646 +0000
+++ /tmp/new.4Xy15A 2026-08-05 00:28:53.276127646 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.wJsiuw 2026-08-05 00:28:53.402126481 +0000
+++ /tmp/new.mwjq3G 2026-08-05 00:28:53.402126481 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.7CCqa1 2026-08-05 00:28:53.460125945 +0000
+++ /tmp/new.kVqbN3 2026-08-05 00:28:53.460125945 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.s2MqSo 2026-08-05 00:28:53.518125408 +0000
+++ /tmp/new.Qd7V3X 2026-08-05 00:28:53.518125408 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.2h5LQh 2026-08-05 00:28:53.572124909 +0000
+++ /tmp/new.flD5ek 2026-08-05 00:28:53.572124909 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.vyemFP 2026-08-05 00:28:53.625124419 +0000
+++ /tmp/new.rtyZr8 2026-08-05 00:28:53.625124419 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.Ne7dpu 2026-08-05 00:28:53.677123938 +0000
+++ /tmp/new.TOBtlp 2026-08-05 00:28:53.677123938 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.NVS4zs 2026-08-05 00:28:53.749123273 +0000
+++ /tmp/new.QHvbNA 2026-08-05 00:28:53.749123273 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.6BNC2w 2026-08-05 00:28:53.806122746 +0000
+++ /tmp/new.fEFgTh 2026-08-05 00:28:53.806122746 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.HOMhr1 2026-08-05 00:28:53.862122228 +0000
+++ /tmp/new.IyIDXN 2026-08-05 00:28:53.862122228 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.WZENRm 2026-08-05 00:28:53.916121729 +0000
+++ /tmp/new.s1y0HT 2026-08-05 00:28:53.916121729 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.p3yOoz 2026-08-05 00:28:53.970121229 +0000
+++ /tmp/new.XN3CWG 2026-08-05 00:28:53.970121229 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.VNPdYD 2026-08-05 00:28:54.039120591 +0000
+++ /tmp/new.SY4FJW 2026-08-05 00:28:54.039120591 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.FQ5Wmb 2026-08-05 00:28:54.109119944 +0000
+++ /tmp/new.TpUukn 2026-08-05 00:28:54.109119944 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.TFasbV 2026-08-05 00:28:54.167119408 +0000
+++ /tmp/new.E6a42b 2026-08-05 00:28:54.167119408 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.lmSGIf 2026-08-05 00:28:54.236118770 +0000
+++ /tmp/new.kWwyYH 2026-08-05 00:28:54.236118770 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ckt6xl 2026-08-05 00:28:54.333117873 +0000
+++ /tmp/new.lvMiyT 2026-08-05 00:28:54.333117873 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.bW2739 2026-08-05 00:28:54.403117226 +0000
+++ /tmp/new.FsYJPH 2026-08-05 00:28:54.404117217 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/asana/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/asana/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/audiveris/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.sqzJd4 2026-08-05 00:28:54.536115996 +0000
+++ /tmp/new.vWk9cQ 2026-08-05 00:28:54.537115987 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.LKzSJI 2026-08-05 00:28:54.602115386 +0000
+++ /tmp/new.b1qMHA 2026-08-05 00:28:54.603115377 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.1fDs0e 2026-08-05 00:28:54.650114943 +0000
+++ /tmp/new.Y74Hng 2026-08-05 00:28:54.650114943 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.8DTWBR 2026-08-05 00:28:54.698114499 +0000
+++ /tmp/new.9wyuJN 2026-08-05 00:28:54.698114499 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.umfmhw 2026-08-05 00:28:54.747114045 +0000
+++ /tmp/new.PxagcL 2026-08-05 00:28:54.747114045 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.Rl307F 2026-08-05 00:28:54.800113556 +0000
+++ /tmp/new.uYp6LP 2026-08-05 00:28:54.801113546 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.iyHeMQ 2026-08-05 00:28:54.851113084 +0000
+++ /tmp/new.TfL6S5 2026-08-05 00:28:54.851113084 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.iK3NPv 2026-08-05 00:28:54.910112538 +0000
+++ /tmp/new.bZ3ryV 2026-08-05 00:28:54.910112538 +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.YVVt1V 2026-08-05 00:28:55.087110902 +0000
+++ /tmp/new.iik6sn 2026-08-05 00:28:55.087110902 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.jrOzzu 2026-08-05 00:28:55.144110375 +0000
+++ /tmp/new.fArqNo 2026-08-05 00:28:55.144110375 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.WPw57f 2026-08-05 00:28:55.205109811 +0000
+++ /tmp/new.TKzVqn 2026-08-05 00:28:55.205109811 +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.OCw7Ji 2026-08-05 00:28:55.261109293 +0000
+++ /tmp/new.JdBfzU 2026-08-05 00:28:55.261109293 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.SoxNqk 2026-08-05 00:28:55.314108803 +0000
+++ /tmp/new.hsSqRR 2026-08-05 00:28:55.314108803 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.AXM5jz 2026-08-05 00:28:55.366108323 +0000
+++ /tmp/new.JGu5Tj 2026-08-05 00:28:55.366108323 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.2ol7dk 2026-08-05 00:28:55.418107842 +0000
+++ /tmp/new.IZyq1r 2026-08-05 00:28:55.418107842 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.n6FNg4 2026-08-05 00:28:55.468107379 +0000
+++ /tmp/new.tuXi2h 2026-08-05 00:28:55.468107379 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.qicIVf 2026-08-05 00:28:55.526106843 +0000
+++ /tmp/new.zlTEFV 2026-08-05 00:28:55.526106843 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.f22x1g 2026-08-05 00:28:55.614106030 +0000
+++ /tmp/new.T8R8JC 2026-08-05 00:28:55.615106020 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.cW2W3r 2026-08-05 00:28:55.680105420 +0000
+++ /tmp/new.uBCBq4 2026-08-05 00:28:55.680105420 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.3nCPvQ 2026-08-05 00:28:55.737104892 +0000
+++ /tmp/new.Rz9ri5 2026-08-05 00:28:55.737104892 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.X4FNYU 2026-08-05 00:28:55.809104227 +0000
+++ /tmp/new.7mrN9S 2026-08-05 00:28:55.809104227 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.aahUDH 2026-08-05 00:28:55.863103727 +0000
+++ /tmp/new.64cMCS 2026-08-05 00:28:55.863103727 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.tZZ5SD 2026-08-05 00:28:55.922103182 +0000
+++ /tmp/new.IVPK90 2026-08-05 00:28:55.922103182 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.LNyyzb 2026-08-05 00:28:56.009102378 +0000
+++ /tmp/new.X9XdiH 2026-08-05 00:28:56.009102378 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.849KWU 2026-08-05 00:28:56.068101832 +0000
+++ /tmp/new.miiCcl 2026-08-05 00:28:56.068101832 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.cSnioW 2026-08-05 00:28:56.121101342 +0000
+++ /tmp/new.enDEOe 2026-08-05 00:28:56.121101342 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.cp2kGB 2026-08-05 00:28:56.175100843 +0000
+++ /tmp/new.f8pcyV 2026-08-05 00:28:56.175100843 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.UlnQ0I 2026-08-05 00:28:56.224100390 +0000
+++ /tmp/new.r2nEcc 2026-08-05 00:28:56.224100390 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.dLLZSf 2026-08-05 00:28:56.370099040 +0000
+++ /tmp/new.mJjy3W 2026-08-05 00:28:56.370099040 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.3tND4j 2026-08-05 00:28:56.421098569 +0000
+++ /tmp/new.BSSAL1 2026-08-05 00:28:56.421098569 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.1E1NoO 2026-08-05 00:28:56.468098134 +0000
+++ /tmp/new.TqG7l3 2026-08-05 00:28:56.468098134 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.GKSOND 2026-08-05 00:28:56.526097598 +0000
+++ /tmp/new.J4CD18 2026-08-05 00:28:56.526097598 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.eGROcy 2026-08-05 00:28:56.584097061 +0000
+++ /tmp/new.BfEFGd 2026-08-05 00:28:56.584097061 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ska51x 2026-08-05 00:28:56.636096581 +0000
+++ /tmp/new.699qm2 2026-08-05 00:28:56.637096571 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.WqfHtn 2026-08-05 00:28:56.696096026 +0000
+++ /tmp/new.dDlu4r 2026-08-05 00:28:56.696096026 +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.AorE7y 2026-08-05 00:28:56.758095453 +0000
+++ /tmp/new.vvQff4 2026-08-05 00:28:56.758095453 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.BcMz0S 2026-08-05 00:28:56.851094593 +0000
+++ /tmp/new.alvY22 2026-08-05 00:28:56.851094593 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.GCni8q 2026-08-05 00:28:56.949093687 +0000
+++ /tmp/new.vNzEPl 2026-08-05 00:28:56.949093687 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.vmdUfu 2026-08-05 00:28:57.022093012 +0000
+++ /tmp/new.RaV62U 2026-08-05 00:28:57.022093012 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.Yhjctz 2026-08-05 00:28:57.109092207 +0000
+++ /tmp/new.P5k4ja 2026-08-05 00:28:57.109092207 +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.sXKVQB 2026-08-05 00:28:57.164091699 +0000
+++ /tmp/new.Opmj0w 2026-08-05 00:28:57.164091699 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.0mbh1z 2026-08-05 00:28:57.220091181 +0000
+++ /tmp/new.OFPH6M 2026-08-05 00:28:57.221091172 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.nkbcIs 2026-08-05 00:28:57.280090626 +0000
+++ /tmp/new.kCoiyC 2026-08-05 00:28:57.280090626 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/digiseal-reader/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/discord/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/discord/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/dngrep/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.myCKaI 2026-08-05 00:28:57.462088944 +0000
+++ /tmp/new.h3S0qR 2026-08-05 00:28:57.462088944 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.EsWaMC 2026-08-05 00:28:57.629087400 +0000
+++ /tmp/new.04EKQn 2026-08-05 00:28:57.629087400 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.vtD4I2 2026-08-05 00:28:57.722086540 +0000
+++ /tmp/new.kr849D 2026-08-05 00:28:57.723086530 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.98rRQM 2026-08-05 00:28:57.774086059 +0000
+++ /tmp/new.Q7lJsF 2026-08-05 00:28:57.774086059 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.cY1Co4 2026-08-05 00:28:57.837085477 +0000
+++ /tmp/new.S8Go5h 2026-08-05 00:28:57.837085477 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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/darwin.json=== Install // bac43c9b -> 96c63e5c ===
--- /tmp/old.SXur7j 2026-08-05 00:28:57.889084996 +0000
+++ /tmp/new.RnEdcr 2026-08-05 00:28:57.889084996 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'com.duosecurity.duo-device-health'
-sudo installer -pkg "$TMPDIR/DuoDesktop-7.19.0.0.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/DuoDesktop-7.20.0.0.pkg" -target / || exit $?
relaunch_application 'com.duosecurity.duo-device-health'
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/duo-desktop/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.oAKJOV 2026-08-05 00:28:57.956084376 +0000
+++ /tmp/new.bq80yG 2026-08-05 00:28:57.956084376 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.qbJzkK 2026-08-05 00:28:58.006083914 +0000
+++ /tmp/new.tbqAlk 2026-08-05 00:28:58.006083914 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.MaGyxE 2026-08-05 00:28:58.056083452 +0000
+++ /tmp/new.DG7qxJ 2026-08-05 00:28:58.056083452 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.5nA9l4 2026-08-05 00:28:58.106082989 +0000
+++ /tmp/new.e4iOKz 2026-08-05 00:28:58.106082989 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.YCGw6M 2026-08-05 00:28:58.154082546 +0000
+++ /tmp/new.wm00ao 2026-08-05 00:28:58.154082546 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.2LXqnG 2026-08-05 00:28:58.204082084 +0000
+++ /tmp/new.eTFur9 2026-08-05 00:28:58.204082084 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.R1QjK0 2026-08-05 00:28:58.253081630 +0000
+++ /tmp/new.NeaL12 2026-08-05 00:28:58.253081630 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.yrnd2y 2026-08-05 00:28:58.303081168 +0000
+++ /tmp/new.TBNVuA 2026-08-05 00:28:58.303081168 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.bBRfQ7 2026-08-05 00:28:58.351080724 +0000
+++ /tmp/new.lgYH1T 2026-08-05 00:28:58.352080715 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.D8zDGu 2026-08-05 00:28:58.410080179 +0000
+++ /tmp/new.duOxTX 2026-08-05 00:28:58.410080179 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.m8grJQ 2026-08-05 00:28:58.469079633 +0000
+++ /tmp/new.i0b7wx 2026-08-05 00:28:58.469079633 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.zEGVbL 2026-08-05 00:28:58.542078959 +0000
+++ /tmp/new.GyC6H7 2026-08-05 00:28:58.542078959 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.S5dyDx 2026-08-05 00:28:58.594078478 +0000
+++ /tmp/new.73Saio 2026-08-05 00:28:58.594078478 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.B3VSMB 2026-08-05 00:28:58.643078025 +0000
+++ /tmp/new.syZtjr 2026-08-05 00:28:58.643078025 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.oaEZ99 2026-08-05 00:28:58.701077488 +0000
+++ /tmp/new.PD8HUt 2026-08-05 00:28:58.701077488 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.dUgWEu 2026-08-05 00:28:58.757076971 +0000
+++ /tmp/new.HwUrMK 2026-08-05 00:28:58.757076971 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.uOpDYH 2026-08-05 00:28:58.843076176 +0000
+++ /tmp/new.iS1Yd2 2026-08-05 00:28:58.843076176 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.LVLS66 2026-08-05 00:28:59.043074326 +0000
+++ /tmp/new.DBCh4p 2026-08-05 00:28:59.043074326 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.02G0jU 2026-08-05 00:28:59.102073781 +0000
+++ /tmp/new.n9gvks 2026-08-05 00:28:59.102073781 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.gP6ri0 2026-08-05 00:28:59.201072865 +0000
+++ /tmp/new.pxEuAy 2026-08-05 00:28:59.201072865 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.IvVVTN 2026-08-05 00:28:59.253072382 +0000
+++ /tmp/new.CD7s9z 2026-08-05 00:28:59.253072382 +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.81NS8L 2026-08-05 00:28:59.306071887 +0000
+++ /tmp/new.nMnHrR 2026-08-05 00:28:59.306071887 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.zoIsag 2026-08-05 00:28:59.365071336 +0000
+++ /tmp/new.0fh4UD 2026-08-05 00:28:59.365071336 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.gfqrZM 2026-08-05 00:28:59.424070785 +0000
+++ /tmp/new.VnaPjl 2026-08-05 00:28:59.425070775 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.5YPBq3 2026-08-05 00:28:59.475070308 +0000
+++ /tmp/new.7LWE7K 2026-08-05 00:28:59.475070308 +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.TKuNdu 2026-08-05 00:28:59.525069841 +0000
+++ /tmp/new.IvYT1h 2026-08-05 00:28:59.525069841 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.kLOrci 2026-08-05 00:28:59.585069281 +0000
+++ /tmp/new.Gu4pIL 2026-08-05 00:28:59.585069281 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.B56bwQ 2026-08-05 00:28:59.667068515 +0000
+++ /tmp/new.nnaSOZ 2026-08-05 00:28:59.667068515 +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.dBWQ5B 2026-08-05 00:28:59.798067291 +0000
+++ /tmp/new.20ml2G 2026-08-05 00:28:59.798067291 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.UHEUxc 2026-08-05 00:28:59.924066115 +0000
+++ /tmp/new.owYU91 2026-08-05 00:28:59.924066115 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.EG4YVB 2026-08-05 00:28:59.974065647 +0000
+++ /tmp/new.dDiXsv 2026-08-05 00:28:59.974065647 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.LvxICH 2026-08-05 00:29:00.025065171 +0000
+++ /tmp/new.4JTqJ6 2026-08-05 00:29:00.025065171 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.NnYmY3 2026-08-05 00:29:00.075064704 +0000
+++ /tmp/new.BU1yvp 2026-08-05 00:29:00.075064704 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.MiTpRY 2026-08-05 00:29:00.128064209 +0000
+++ /tmp/new.5M9Ve4 2026-08-05 00:29:00.128064209 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.SU7hHB 2026-08-05 00:29:00.177063752 +0000
+++ /tmp/new.5s0Y9z 2026-08-05 00:29:00.177063752 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.MOXxGJ 2026-08-05 00:29:00.228063275 +0000
+++ /tmp/new.dW1LoK 2026-08-05 00:29:00.228063275 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.nLx4mR 2026-08-05 00:29:00.279062799 +0000
+++ /tmp/new.LQWotm 2026-08-05 00:29:00.279062799 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.bWmuvQ 2026-08-05 00:29:00.329062332 +0000
+++ /tmp/new.QerDKT 2026-08-05 00:29:00.329062332 +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.PsvtdO 2026-08-05 00:29:00.403061641 +0000
+++ /tmp/new.3WzScI 2026-08-05 00:29:00.403061641 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.9H03is 2026-08-05 00:29:00.481060912 +0000
+++ /tmp/new.pN0a9B 2026-08-05 00:29:00.481060912 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.j5aKe4 2026-08-05 00:29:00.536060399 +0000
+++ /tmp/new.Z3TF1h 2026-08-05 00:29:00.536060399 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.6jWMAd 2026-08-05 00:29:00.611059698 +0000
+++ /tmp/new.sIJ8AC 2026-08-05 00:29:00.611059698 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.TkifoW 2026-08-05 00:29:00.775058166 +0000
+++ /tmp/new.tKlPvy 2026-08-05 00:29:00.775058166 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.8UgzpE 2026-08-05 00:29:00.849057475 +0000
+++ /tmp/new.ZTsiLc 2026-08-05 00:29:00.849057475 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.IuFTCa 2026-08-05 00:29:00.909056915 +0000
+++ /tmp/new.MRjN1S 2026-08-05 00:29:00.909056915 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.Q2Ar9m 2026-08-05 00:29:00.962056420 +0000
+++ /tmp/new.nV4CMz 2026-08-05 00:29:00.962056420 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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/loom/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/loom/windows.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.nYbTGr 2026-08-05 00:29:01.286053394 +0000
+++ /tmp/new.NYs9Zp 2026-08-05 00:29:01.286053394 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ICsfNt 2026-08-05 00:29:01.339052899 +0000
+++ /tmp/new.2Q3F2m 2026-08-05 00:29:01.339052899 +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.NwJS6P 2026-08-05 00:29:01.389052432 +0000
+++ /tmp/new.HjzzlJ 2026-08-05 00:29:01.389052432 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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/miro/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/mixxx/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.cQoFZn 2026-08-05 00:29:01.586050591 +0000
+++ /tmp/new.ms1eXY 2026-08-05 00:29:01.586050591 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ZYU2B1 2026-08-05 00:29:01.647050022 +0000
+++ /tmp/new.AgcxxG 2026-08-05 00:29:01.647050022 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.2v25rM 2026-08-05 00:29:01.728049265 +0000
+++ /tmp/new.Nvv4t3 2026-08-05 00:29:01.728049265 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.mxv2Oq 2026-08-05 00:29:01.785048733 +0000
+++ /tmp/new.N0glwS 2026-08-05 00:29:01.785048733 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.zWALNN 2026-08-05 00:29:01.839048229 +0000
+++ /tmp/new.6vd2rd 2026-08-05 00:29:01.839048229 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.nDmYjg 2026-08-05 00:29:01.893047724 +0000
+++ /tmp/new.HYAVqC 2026-08-05 00:29:01.893047724 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.r8DbbM 2026-08-05 00:29:01.944047248 +0000
+++ /tmp/new.6b00H9 2026-08-05 00:29:01.944047248 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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/nudge/darwin.json=== Install // ac39d8ab -> aa291dac ===
--- /tmp/old.xn4Cus 2026-08-05 00:29:02.110045698 +0000
+++ /tmp/new.EQ8q2l 2026-08-05 00:29:02.110045698 +0000
@@ -96,5 +96,5 @@
# install pkg files
quit_and_track_application 'com.github.macadmins.Nudge'
-sudo installer -pkg "$TMPDIR/Nudge-2.1.2.81856.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/Nudge-2.1.3.81860.pkg" -target / || exit $?
relaunch_application 'com.github.macadmins.Nudge'
=== 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.mViyVC 2026-08-05 00:29:02.264044259 +0000
+++ /tmp/new.o1qY2U 2026-08-05 00:29:02.264044259 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.cMJxVk 2026-08-05 00:29:02.372043251 +0000
+++ /tmp/new.HDK2FU 2026-08-05 00:29:02.372043251 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.Ci5l9t 2026-08-05 00:29:02.474042298 +0000
+++ /tmp/new.1McRDz 2026-08-05 00:29:02.474042298 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/plex-media-server/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/postman/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/powershell/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.R3bgw8 2026-08-05 00:29:02.606041065 +0000
+++ /tmp/new.RSdDxi 2026-08-05 00:29:02.606041065 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.yNP4e7 2026-08-05 00:29:02.658040579 +0000
+++ /tmp/new.zPJCG2 2026-08-05 00:29:02.659040570 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.MAOrXX 2026-08-05 00:29:02.741039804 +0000
+++ /tmp/new.v3VV77 2026-08-05 00:29:02.741039804 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.VzDQtr 2026-08-05 00:29:02.894038375 +0000
+++ /tmp/new.8MTWCR 2026-08-05 00:29:02.894038375 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.o0d27Q 2026-08-05 00:29:02.952037833 +0000
+++ /tmp/new.0IAtVT 2026-08-05 00:29:02.952037833 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/reqable/windows.json=== Install Script (no changes) ===
=== 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.K2kCVw 2026-08-05 00:29:03.124036227 +0000
+++ /tmp/new.laqbPk 2026-08-05 00:29:03.124036227 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/santa/darwin.json=== Install // e01d4393 -> a542a793 ===
--- /tmp/old.byfRu0 2026-08-05 00:29:03.180035704 +0000
+++ /tmp/new.znHDE8 2026-08-05 00:29:03.180035704 +0000
@@ -101,5 +101,5 @@
hdiutil detach "$MOUNT_POINT" || true
# install pkg files
quit_and_track_application 'com.northpolesec.santa'
-sudo installer -pkg "$TMPDIR/santa-2026.6.pkg" -target / || exit $?
+sudo installer -pkg "$TMPDIR/santa-2026.7.pkg" -target / || exit $?
relaunch_application 'com.northpolesec.santa'
=== 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.kcPBJZ 2026-08-05 00:29:03.297034611 +0000
+++ /tmp/new.l87jIM 2026-08-05 00:29:03.297034611 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.uNA76a 2026-08-05 00:29:03.381033827 +0000
+++ /tmp/new.UrWi2d 2026-08-05 00:29:03.382033817 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.BUMRO4 2026-08-05 00:29:03.436033313 +0000
+++ /tmp/new.Un7aK1 2026-08-05 00:29:03.436033313 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.gyL598 2026-08-05 00:29:03.522032509 +0000
+++ /tmp/new.7d2ANV 2026-08-05 00:29:03.522032509 +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/superwhisper/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tailscale-app/darwin.json=== Install // e568557b -> 6301b666 ===
--- /tmp/old.FO6HAi 2026-08-05 00:29:03.661031211 +0000
+++ /tmp/new.0U9B5a 2026-08-05 00:29:03.661031211 +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.bDjAkW 2026-08-05 00:29:03.717030688 +0000
+++ /tmp/new.UUrViJ 2026-08-05 00:29:03.717030688 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.utLaL8 2026-08-05 00:29:03.781030090 +0000
+++ /tmp/new.3B0joJ 2026-08-05 00:29:03.781030090 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/thunderbird/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/thunderbird/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/tightvnc/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.v0ICAq 2026-08-05 00:29:03.915028839 +0000
+++ /tmp/new.nTFKpN 2026-08-05 00:29:03.915028839 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/todoist-app/darwin.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/todoist-app/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/topaz-gigapixel-ai/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.gsmmkC 2026-08-05 00:29:04.090027205 +0000
+++ /tmp/new.87YIQe 2026-08-05 00:29:04.090027205 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.pQnsIi 2026-08-05 00:29:04.172026438 +0000
+++ /tmp/new.h63K9p 2026-08-05 00:29:04.172026438 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.8Cvcbl 2026-08-05 00:29:04.255025663 +0000
+++ /tmp/new.4ryEsj 2026-08-05 00:29:04.255025663 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.gmveqW 2026-08-05 00:29:04.317025084 +0000
+++ /tmp/new.tyFZ0O 2026-08-05 00:29:04.318025075 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.U3lK5d 2026-08-05 00:29:04.382024477 +0000
+++ /tmp/new.8xyWgy 2026-08-05 00:29:04.382024477 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.os8fxa 2026-08-05 00:29:04.502023356 +0000
+++ /tmp/new.p9xlTU 2026-08-05 00:29:04.502023356 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.cqfHfu 2026-08-05 00:29:04.621022245 +0000
+++ /tmp/new.GhxAJu 2026-08-05 00:29:04.621022245 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.uMYARP 2026-08-05 00:29:04.717021348 +0000
+++ /tmp/new.7MV4kS 2026-08-05 00:29:04.717021348 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.aa5mlm 2026-08-05 00:29:04.798020592 +0000
+++ /tmp/new.COlCG8 2026-08-05 00:29:04.798020592 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.ZUG0Ld 2026-08-05 00:29:04.852020087 +0000
+++ /tmp/new.EDCCtq 2026-08-05 00:29:04.853020078 +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.AA4HxT 2026-08-05 00:29:04.919019462 +0000
+++ /tmp/new.1lMzWF 2026-08-05 00:29:04.919019462 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.6o7WBv 2026-08-05 00:29:04.979018901 +0000
+++ /tmp/new.spiiyT 2026-08-05 00:29:04.980018892 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.hlpvXo 2026-08-05 00:29:05.067018079 +0000
+++ /tmp/new.2bL4QZ 2026-08-05 00:29:05.067018079 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.jn1tpn 2026-08-05 00:29:05.122017566 +0000
+++ /tmp/new.s3bYYO 2026-08-05 00:29:05.122017566 +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.JpIWvX 2026-08-05 00:29:05.181017015 +0000
+++ /tmp/new.SgqzVv 2026-08-05 00:29:05.182017005 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.oPYo9h 2026-08-05 00:29:05.247016398 +0000
+++ /tmp/new.PbVect 2026-08-05 00:29:05.247016398 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/wispr-flow/darwin.json=== Install Script (no changes) ===
=== 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.xXD2Kq 2026-08-05 00:29:05.408014894 +0000
+++ /tmp/new.kezSTS 2026-08-05 00:29:05.408014894 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
Get-Content $logFile -Tail 500
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+
Exit $installProcess.ExitCode
} catch {
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/xnconvert/windows.json=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===ee/maintained-apps/outputs/yarn/windows.json=== Install // 8959087b -> 22e48c46 ===
--- /tmp/old.OhdCWD 2026-08-05 00:29:05.528013774 +0000
+++ /tmp/new.o3JJxE 2026-08-05 00:29:05.528013774 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.T8XIYG 2026-08-05 00:29:05.595013148 +0000
+++ /tmp/new.ibmjSK 2026-08-05 00:29:05.595013148 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.v70UWa 2026-08-05 00:29:05.650012634 +0000
+++ /tmp/new.2it6z9 2026-08-05 00:29:05.650012634 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.CErXun 2026-08-05 00:29:05.710012074 +0000
+++ /tmp/new.k2uA7D 2026-08-05 00:29:05.710012074 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-PassThru -Verb RunAs -Wait
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.nyAhNq 2026-08-05 00:29:05.784011382 +0000
+++ /tmp/new.s6WwbD 2026-08-05 00:29:05.784011382 +0000
@@ -1,13 +1,21 @@
$logFile = "${env:TEMP}/fleet-install-software.log"
+# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,
+# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.
+$successCodes = @(0, 3010, 1641)
+
try {
$installProcess = Start-Process msiexec.exe `
- -ArgumentList "/quiet /norestart /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" `
+ -ArgumentList "/quiet /norestart /lv `"${logFile}`" /i `"${env:INSTALLER_PATH}`"" `
-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 output manifests with new application versions, download URLs, patch queries, checksums, and installer package names. Updated many Windows installer references and standardized MSI handling for exit codes 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: 7
🤖 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/1password/windows.json`:
- Line 10: Update the 1Password Windows uninstall flow referenced by
install_script_ref so process exit codes 3010 and 1641, alongside 0, are treated
as successful uninstall outcomes. Keep the existing failure behavior for all
other exit codes, changing the uninstall script or its consumer rather than the
install mapping.
In `@ee/maintained-apps/outputs/bluej/windows.json`:
- Line 10: Update the install script referenced by install_script_ref for BlueJ
to translate MSI exit codes 3010 and 1641 to exit code 0 before propagating the
installer result; preserve the existing behavior for all other exit codes.
In `@ee/maintained-apps/outputs/cinc/windows.json`:
- Line 20: Update the exit-code validation in the PowerShell uninstall script
for upgrade code {9870C512-DF2C-43D9-8C28-7ACD60ABBE27} to use the shared
maintained-app success-code check, accepting 0, 3010, and 1641 instead of only
0. Preserve the existing failure logging and exit behavior for all other codes.
In `@ee/maintained-apps/outputs/gotomeeting/windows.json`:
- Line 19: Update the GoToMeeting MSI script identified by a6c7d24e to normalize
successful reboot-required exit codes before exiting: treat 3010 and 1641 as
success, matching the handling used by 22e48c46, while preserving failure codes
and the existing logging and installation flow.
In `@ee/maintained-apps/outputs/rider/darwin.json`:
- Around line 9-10: Update the Rider darwin manifest to avoid serving the
aarch64 DMG to Intel macOS hosts: either scope this record explicitly to Apple
Silicon or add a separate Intel record using the corresponding Intel DMG URL,
while preserving the existing installer metadata.
In `@ee/maintained-apps/outputs/sourcetree/windows.json`:
- Line 21: Update the PowerShell script identified by the e23ea804 entry to map
MSI exit codes 0, 3010, and 1641 to process exit code 0 instead of returning
$installProcess.ExitCode unchanged. Preserve the existing installer arguments,
including ACCEPTEULA=1, logging, and error handling, using the shared 22e48c46
script’s behavior as the reference.
In `@ee/maintained-apps/outputs/vlc/windows.json`:
- Line 10: Update the VLC uninstaller configuration referenced by
install_script_ref, including the applicable 20-20 entry, so msiexec /x exit
codes 0, 3010, and 1641 are all normalized to exit code 0 instead of treating
reboot-success codes as failures.
🪄 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: f96a294d-0ec9-4c5e-813c-f677cd18b714
📒 Files selected for processing (244)
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/asana/darwin.jsonee/maintained-apps/outputs/asana/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/digiseal-reader/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/darwin.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/loom/darwin.jsonee/maintained-apps/outputs/loom/windows.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/miro/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/nudge/darwin.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/plex-media-server/darwin.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/reqable/windows.jsonee/maintained-apps/outputs/rewritebar/darwin.jsonee/maintained-apps/outputs/rider/darwin.jsonee/maintained-apps/outputs/royal-tsx/windows.jsonee/maintained-apps/outputs/santa/darwin.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/superwhisper/darwin.jsonee/maintained-apps/outputs/tailscale-app/darwin.jsonee/maintained-apps/outputs/tailscale/windows.jsonee/maintained-apps/outputs/textexpander/windows.jsonee/maintained-apps/outputs/thunderbird/darwin.jsonee/maintained-apps/outputs/thunderbird/windows.jsonee/maintained-apps/outputs/tightvnc/windows.jsonee/maintained-apps/outputs/todoist-app/darwin.jsonee/maintained-apps/outputs/todoist-app/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/wispr-flow/darwin.jsonee/maintained-apps/outputs/workflowy/darwin.jsonee/maintained-apps/outputs/wrike/windows.jsonee/maintained-apps/outputs/xnconvert/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
| }, | ||
| "installer_url": "https://c.1password.com/dist/1P/win8/1PasswordSetup-8.12.30.msi", | ||
| "install_script_ref": "8959087b", | ||
| "install_script_ref": "22e48c46", |
There was a problem hiding this comment.
🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
rg -n -C 12 \
'22e48c46|c70e0a85|3010|1641|ExitCode|uninstall' \
ee/maintained-apps/outputs/1password/windows.json ee/server \
--glob '*.json' --glob '*.go'Repository: fleetdm/fleet
Length of output: 50370
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Locate maintained-app uninstall-result consumers and their exit-code handling.
rg -n -C 8 \
'software_install_[uninstall|result]|uninstall.*result|SoftwareInstaller[Un|S]|ExitCode|msireturncode|msiexec|SuccessSoftwareInstaller|SoftwareInstallerSoftware' \
ee/server . --glob '*.go' --glob '!**/vendor/**' --glob '!**/third_party/**' | \
rg -n -C 4 'SuccessSoftware|SoftwareInstallerSoftware|Uninstall|SoftwareInstall|msiexec|ExitCode' | head -n 300 || true
echo '--- candidate files ---'
git ls-files '*.go' | rg 'mdm/maintainedapps|software_install|software_installer|uninstall' | sed -n '1,200p'Repository: fleetdm/fleet
Length of output: 27880
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Find exact uninstall-result processing references and focused file sections.
rg -n 'software_install_[uninstall|result]|SuccessSoftwareInstaller|SoftwareInstallerSoftware|msireturncode|msiexec|ExitCode' \
server ee --glob '*.go' --glob '!**/vendor/**' --glob '!**/third_party/**' | sed -n '1,260p'
echo '--- installed files candidates ---'
git ls-files server ee | rg 'uninstall|install.*result|software|maintained|mdm' | sed -n '1,240p'Repository: fleetdm/fleet
Length of output: 40394
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo '--- orbit software install result structs ---'
rg -n -C 10 'type .*SoftwareInstallResult|HostSoftwareInstallResultPayload|SoftwareInstallResultPayload|InstallScriptExitCode|PostInstall' \
server/fleet/server/orbit.go server/service/orbit.go server/service/orbit_test.go --glob '*.go' | sed -n '1,240p'
echo '--- focused sections ---'
rg -n 'SoftwareInstallResult|HostSoftwareInstallResultPayload|software_install_[uninstall|result]|msireturncode|SoftwareInstall' \
server --glob '*.go' --glob '!**/tests/**' --glob '!**/test/**' | sed -n '1,220p'Repository: fleetdm/fleet
Length of output: 7317
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo '--- orbit software install result saving ---'
sed -n '1816,1935p' server/service/orbit.go
echo '--- fleet payload and status definitions ---'
rg -n -C 8 'type HostSoftwareInstallResultPayload|type SoftwareInstall.*|SoftwareInstallSuccess|SoftwareInstallFailed|SoftwareInstallPending|InstallScriptExitCode' \
server/fleet/server*.go server/fleet/*.go --glob '*.go' | sed -n '1,260p'
echo '--- save implementation references ---'
rg -n -C 12 'SaveHostSoftwareInstallResult|SoftwareInstallSuccess|SoftwareInstallFailed|SoftwareInstall.*Status' \
server/datastore mysql server/service --glob '*.go' | sed -n '1,320p'Repository: fleetdm/fleet
Length of output: 24737
Align the 1Password uninstall with the install exit-code policy.
ee/maintained-apps/outputs/1password/windows.json:19 maps msiexec success codes 0, 3010, and 1641 for install. The uninstall reference c70e0a85 only writes Exit 0 when $process.ExitCode -eq 0, so reboot-successful uninstalls exit nonzero. Update the uninstall script or its consumer to treat 3010 and 1641 as uninstall success.
🤖 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/1password/windows.json` at line 10, Update the
1Password Windows uninstall flow referenced by install_script_ref so process
exit codes 3010 and 1641, alongside 0, are treated as successful uninstall
outcomes. Keep the existing failure behavior for all other exit codes, changing
the uninstall script or its consumer rather than the install mapping.
| }, | ||
| "installer_url": "https://github.com/k-pet-group/BlueJ-Greenfoot/releases/download/BLUEJ-RELEASE-6.0.0/BlueJ-windows-6.0.0.msi", | ||
| "install_script_ref": "29a9338f", | ||
| "install_script_ref": "85459eac", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== files =="
git ls-files | rg '(^|/)bluej/windows\.json$|maintained-apps/outputs/.*windows\.json$' | head -100
echo "== bluej windows json =="
if [ -f ee/maintained-apps/outputs/bluej/windows.json ]; then
cat -n ee/maintained-apps/outputs/bluej/windows.json
fi
echo "== diff stat/name =="
git diff --stat || true
git diff -- ee/maintained-apps/outputs/bluej/windows.json || true
echo "== references to ExitCode mapping and install script refs =="
rg -n "3010|1641|ExitCode|install_script_ref|ALLUSERS|msiexec|Fleet" . --glob '!**/.git/**' | head -200Repository: fleetdm/fleet
Length of output: 5565
🏁 Script executed:
#!/bin/bash
set -u
echo "== bluej windows json =="
cat -n ee/maintained-apps/outputs/bluej/windows.json
echo "== bluej referenced install script ref occurrences =="
rg -n --hidden --glob '!**/.git/**' '85459eac|Install-BlueJ|Exit $installProcess\.ExitCode|3010|1641|ExitCode' . | head -300
echo "== json install_script_ref refs with 3010/1641 mappings nearby =="
python3 - <<'PY'
import json, pathlib, re
root=pathlib.Path('ee/maintained-apps/outputs')
for p in sorted(root.glob('*')):
if not p.is_dir():
continue
j=p/'windows.json'
if not j.exists():
continue
data=json.loads(j.read_text())
print(f"\n-- {p} --")
print('install_script_ref=', data.get('install_script_ref'))
for sec in ['files','install_script_ref']:
print(sec, data.get(sec))
PY
echo "== search Fleet exit handling in codebase =="
rg -n --hidden --glob '!**/.git/**' 'SuccessExitCodes|3010|1641|install_script_ref|nonzero|exit-code|ExitCode|process\?\.ExitCode|exit-code-status' . | head -400Repository: fleetdm/fleet
Length of output: 50370
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
import pathlib, json
print("\n== json files with non-null install_script_ref and MSI exit-code mapping snippets ==")
for path in sorted(pathlib.Path("ee/maintained-apps/outputs").glob("*")):
if not path.is_dir():
continue
j = path / "windows.json"
if not j.exists():
continue
data = json.loads(j.read_text())
ref = data.get("install_script_ref")
if not ref or ref not in data.get("refs", {}):
continue
text = data["refs"][ref]
has_success_mapping = any(s in text for s in [
"3010", "1641", "successCodes", "@(0, 3010, 1641)", "3010, 1641"
])
if ref == "85459eac" or ("msi" in path.name.lower() and has_success_mapping):
print(f"-- ref={ref} app={path.name} has_success_mapping={has_success_mapping} --")
lines = text.splitlines()
show_idx = []
for idx,l in enumerate(lines):
if "Exit $installProcess.ExitCode" in l or "Exit $ExitCode" in l or "3010" in l or "1641" in l or "successCodes" in l or (idx >=1 and "Exit " in l and ("successCodes" in lines[idx-1] or "3010" in lines[idx-1] or "1641" in lines[idx-1])):
show_idx.append(idx)
show_idx = sorted(set(show_idx))
for idx in show_idx:
print(f"{idx+1}: {lines[idx]}")
PY
echo "\n== Fleet software installer status handling =="
for f in server/fleet/software_installer.go server/fleet/software.go server/datastore/mysql/scripts.go; do
[ -f "$f" ] && sed -n '520,605p;1140,1225p;2700,2728p' "$f" | nl -ba
done
echo "\n== fleetd/maintained-apps exit code handling snippets =="
rg -n --hidden --glob '!**/.git/**' 'InstallScriptExitCode|exit-code|exit_code|SoftwareInstallResultPayload|install script|software install result|exitCode != 0' cmd server orbit --glob '!**/testdata/**' | head -200Repository: fleetdm/fleet
Length of output: 327
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== Fleet software installer status handling =="
sed -n '520,605p' server/fleet/software_installer.go
sed -n '1140,1225p' server/fleet/software_installer.go
echo "\n== fleetd/maintained-apps exit code handling snippets =="
rg -n --hidden --glob '!**/.git/**' 'InstallScriptExitCode|exit-code|exit_code|SoftwareInstallResultPayload|install script|software install result' cmd server orbit --glob '!**/testdata/**' | head -200Repository: fleetdm/fleet
Length of output: 31359
Normalize MSI reboot-success codes in the BlueJ install script.
exit $installProcess.ExitCode returns 3010 and 1641 as failures, because Fleet treats a non-zero install-script exit code as SoftwareInstallFailed. Return 0 for those MSI codes before exiting.
Proposed fix
-Exit $installProcess.ExitCode
+if (@(0, 3010, 1641) -contains $installProcess.ExitCode) {
+ Exit 0
+}
+Exit $installProcess.ExitCode🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@ee/maintained-apps/outputs/bluej/windows.json` at line 10, Update the install
script referenced by install_script_ref for BlueJ to translate MSI exit codes
3010 and 1641 to exit code 0 before propagating the installer result; preserve
the existing behavior for all other exit codes.
| "34a531d4": "# Fleet uninstalls app by finding all related product codes for the specified upgrade code\n$inst = New-Object -ComObject \"WindowsInstaller.Installer\"\n$timeoutSeconds = 300 # 5 minute timeout per product\n\nforeach ($product_code in $inst.RelatedProducts('{9870C512-DF2C-43D9-8C28-7ACD60ABBE27}')) {\n $process = Start-Process msiexec -ArgumentList @(\"/quiet\", \"/x\", $product_code, \"/norestart\") -PassThru\n\n # Wait for process with timeout\n $completed = $process.WaitForExit($timeoutSeconds * 1000)\n\n if (-not $completed) {\n Stop-Process -Id $process.Id -Force -ErrorAction SilentlyContinue\n Exit 1603 # ERROR_UNINSTALL_FAILURE\n }\n\n # If the uninstall failed, bail\n if ($process.ExitCode -ne 0) {\n Write-Output \"Uninstall for $($product_code) exited $($process.ExitCode)\"\n Exit $process.ExitCode\n }\n}\n\n# All uninstalls succeeded; exit success\nExit 0\n", | ||
| "8959087b": "$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv ${logFile} /i `\"${env:INSTALLER_PATH}`\"\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n" | ||
| "22e48c46": "$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\n# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,\n# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.\n$successCodes = @(0, 3010, 1641)\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv `\"${logFile}`\" /i `\"${env:INSTALLER_PATH}`\"\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nif ($successCodes -contains $installProcess.ExitCode) {\n Exit 0\n}\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n", | ||
| "34a531d4": "# Fleet uninstalls app by finding all related product codes for the specified upgrade code\n$inst = New-Object -ComObject \"WindowsInstaller.Installer\"\n$timeoutSeconds = 300 # 5 minute timeout per product\n\nforeach ($product_code in $inst.RelatedProducts('{9870C512-DF2C-43D9-8C28-7ACD60ABBE27}')) {\n $process = Start-Process msiexec -ArgumentList @(\"/quiet\", \"/x\", $product_code, \"/norestart\") -PassThru\n\n # Wait for process with timeout\n $completed = $process.WaitForExit($timeoutSeconds * 1000)\n\n if (-not $completed) {\n Stop-Process -Id $process.Id -Force -ErrorAction SilentlyContinue\n Exit 1603 # ERROR_UNINSTALL_FAILURE\n }\n\n # If the uninstall failed, bail\n if ($process.ExitCode -ne 0) {\n Write-Output \"Uninstall for $($product_code) exited $($process.ExitCode)\"\n Exit $process.ExitCode\n }\n}\n\n# All uninstalls succeeded; exit success\nExit 0\n" |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
rg -n -C 8 '34a531d4|process.ExitCode|successCodes|3010|1641' \
ee/maintained-apps/outputs/cinc/windows.json \
ee/maintained-apps/outputs/cherry-keys/windows.json \
ee/maintained-apps/outputs/cisco-jabber/windows.jsonRepository: fleetdm/fleet
Length of output: 8985
🌐 Web query:
Cinc Workstation 23.5.1040 Windows uninstaller exit codes 3010 1641
💡 Result:
When uninstalling Cinc Workstation 23.5.1040 on Windows using the Windows Installer (msiexec.exe), the exit codes 1641 and 3010 are standard Windows Installer return codes that both indicate a successful operation, with the additional requirement of a system restart [1][2]. Exit Code 1641 (ERROR_SUCCESS_REBOOT_INITIATED) This code indicates that the installer has initiated a restart of the computer to complete the process [1][3][4]. The installation or uninstallation is considered successful [1]. Exit Code 3010 (ERROR_SUCCESS_REBOOT_REQUIRED) This code indicates that the installation or uninstallation was successful, but a restart is required to complete the operation [1][2][5]. Unlike 1641, the installer does not trigger the restart automatically; it is up to the system or the administrator to perform the restart [1][2]. In the context of automating Cinc Workstation removal (such as via PowerShell scripts), these codes are typically handled as success conditions rather than failures, provided that the desired outcome (uninstallation) was achieved [6][7]. For example, automated management tools often treat any exit code that is not 0, 1641, or 3010 as a potential error [6][7].
Citations:
- 1: https://learn.microsoft.com/en-us/windows/win32/msi/error-codes
- 2: https://github.com/MicrosoftDocs/win32/blob/docs/desktop-src/Msi/error-codes.md
- 3: https://help.automox.com/hc/en-us/articles/31579735716628-Common-Windows-Installer-MSIEXEC-Error-Codes
- 4: https://documentation.help/Windows-Installer/error_codes.htm
- 5: https://ftp.zx.net.nz/pub/Patches/ftp.microsoft.com/MISC/KB/en-us/304/888.HTM
- 6: https://fleetdm.com/software-catalog/cinc-windows
- 7: 31a3657
Treat MSI reboot exit codes as successful uninstall.
34a531d4 only accepts 0, but standard msiexec.exe /x success codes also include 3010 and 1641. Use the same shared success-code check as the other maintained-app uninstallers so reboot-required Cinc removals are not reported as failures.
🤖 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/cinc/windows.json` at line 20, Update the
exit-code validation in the PowerShell uninstall script for upgrade code
{9870C512-DF2C-43D9-8C28-7ACD60ABBE27} to use the shared maintained-app
success-code check, accepting 0, 3010, and 1641 instead of only 0. Preserve the
existing failure logging and exit behavior for all other codes.
| ], | ||
| "refs": { | ||
| "36ce6af0": "# GoToMeeting MSI machine-wide install.\n# G2MINSTALLFORALLUSERS=1 installs for all users (the installer defaults to\n# per-user, G2MINSTALLFORALLUSERS=0). Fleet runs elevated, so this produces a\n# machine-wide install.\n\n$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv ${logFile} /i `\"${env:INSTALLER_PATH}`\" G2MINSTALLFORALLUSERS=1\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n", | ||
| "a6c7d24e": "# GoToMeeting MSI machine-wide install.\n# G2MINSTALLFORALLUSERS=1 installs for all users (the installer defaults to\n# per-user, G2MINSTALLFORALLUSERS=0). Fleet runs elevated, so this produces a\n# machine-wide install.\n\n$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv `\"${logFile}`\" /i `\"${env:INSTALLER_PATH}`\" G2MINSTALLFORALLUSERS=1\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
echo "== target file =="
cat -n ee/maintained-apps/outputs/gotomeeting/windows.json | sed -n '1,80p'
echo "== reference file search =="
fd -a '22e48c46|windows.json' ee/maintained-apps/outputs | sed -n '1,80p'
echo "== search for 22e48c46 in repo =="
rg -n "22e48c46|3010|1641|Success codes|successCodes|G2MINSTALLFORALLUSERS|msiexec" ee/maintained-apps -S | sed -n '1,240p'
echo "== repo file list around maintains =="
git ls-files ee/maintained-apps/outputs | sed -n '1,120p'Repository: fleetdm/fleet
Length of output: 50370
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
echo "== exact Gotomeeting installed file content =="
cat -n ee/maintained-apps/outputs/gotomeeting/windows.json | sed -n '1,80p'
echo "== GoToMeeting MSI install references =="
rg -n "9ad157c8|a6c7d24e|Get-Process msiexec|Start-Process msiexec|ExitCode|successCodes|3010|1641" ee/maintained-apps/outputs/gotomeeting/windows.jsonRepository: fleetdm/fleet
Length of output: 8555
🌐 Web query:
Microsoft MSI msiexec exit code 3010 1641 ERROR_SUCCESS_REBOOT_REQUIRED SUCCESS_REBOOT_INITIATED
💡 Result:
In the context of Microsoft Windows Installer (Msiexec.exe), both 1641 and 3010 are considered success codes, indicating that the installation process completed successfully but requires a system restart to finalize [1][2]. The key differences between these codes are as follows: ERROR_SUCCESS_REBOOT_INITIATED (1641) This code indicates that the installer has successfully completed the installation and has already initiated a system restart [1][3]. ERROR_SUCCESS_REBOOT_REQUIRED (3010) This code indicates that the installation completed successfully, but a system restart is required to finish the operation [1][2]. Unlike 1641, this code signifies that the installer itself has not initiated the reboot [3]. These codes are explicitly documented by Microsoft as indicating success [1][2]. They do not apply to instances where the ForceReboot action is used, as that action is handled differently by the installer [1][4]. Because reboots are asynchronous processes, it is possible for a restart to occur before these codes are returned [5]. top_results: [1][2][3][5]
Citations:
- 1: https://learn.microsoft.com/en-us/windows/win32/msi/error-codes
- 2: https://github.com/MicrosoftDocs/win32/blob/docs/desktop-src/Msi/error-codes.md
- 3: https://docs.pdq.com/current-version/Deploy/ms-installer-errors.htm
- 4: https://documentation.help/Windows-Installer/error_codes.htm
- 5: https://learn.microsoft.com/en-us/windows/win32/msi/system-reboots
Normalize MSI reboot-success codes before returning.
a6c7d24e returns $installProcess.ExitCode directly. MSI can return 3010 or 1641 after a successful install that involves reboot handling. Treat those as success, as 22e48c46 does for comparable MSI installs.
Suggested exit-code handling
+$successCodes = @(0, 3010, 1641)
+
...
-Exit $installProcess.ExitCode
+if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+}
+Exit $installProcess.ExitCode📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "a6c7d24e": "# GoToMeeting MSI machine-wide install.\n# G2MINSTALLFORALLUSERS=1 installs for all users (the installer defaults to\n# per-user, G2MINSTALLFORALLUSERS=0). Fleet runs elevated, so this produces a\n# machine-wide install.\n\n$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv `\"${logFile}`\" /i `\"${env:INSTALLER_PATH}`\" G2MINSTALLFORALLUSERS=1\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n", | |
| "a6c7d24e": "# GoToMeeting MSI machine-wide install.\n# G2MINSTALLFORALLUSERS=1 installs for all users (the installer defaults to\n# per-user, G2MINSTALLFORALLUSERS=0). Fleet runs elevated, so this produces a\n# machine-wide install.\n\n$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\ntry {\n\n$successCodes = @(0, 3010, 1641)\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv `\"${logFile}`\" /i `\"${env:INSTALLER_PATH}`\" G2MINSTALLFORALLUSERS=1\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nif ($successCodes -contains $installProcess.ExitCode) {\n Exit 0\n}\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n", |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@ee/maintained-apps/outputs/gotomeeting/windows.json` at line 19, Update the
GoToMeeting MSI script identified by a6c7d24e to normalize successful
reboot-required exit codes before exiting: treat 3010 and 1641 as success,
matching the handling used by 22e48c46, while preserving failure codes and the
existing logging and installation flow.
| "installer_url": "https://download.jetbrains.com/rider/JetBrains.Rider-2026.2.0.2-aarch64.dmg", | ||
| "install_script_ref": "23493a85", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
rg -n -C 6 'rider|aarch64|x86_64|arm64|architecture|arch' ee/maintained-apps cmd/maintained-appsRepository: fleetdm/fleet
Length of output: 50370
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf 'Target file:\n'
cat -n ee/maintained-apps/outputs/rider/darwin.json | sed -n '1,80p'
printf '\nRider-related outputs/inputs:\n'
fd -a 'rider|darwin\.json|amd64|x86_64|arm64|aarch64' ee/maintained-apps/outputs ee/maintained-apps/inputs cmd || true
printf '\nFocused package files:\n'
while IFS= read -r f; do
printf '\n--- %s\n' "$f"
cat -n "$f" | sed -n '1,100p'
done < <(fd '^(rider|.*darwin|.*macos|.*osx|.*intel|.*arm).*\.json$' ee/maintained-apps/outputs ee/maintained-apps/inputs 2>/dev/null || true)Repository: fleetdm/fleet
Length of output: 50369
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf 'Go files mentioning darwin output paths/architectures:\n'
rg -n --glob '*.go' 'darwin\.json|installer_url|architecture|arch|architectures|arm64|x86_64|amd64|os\.Hostname|runtime\..GOARCH|GOARCH|homebrew|macos|arm64|x86_64' cmd ee/maintained-apps cmd/maintained-apps ee/maintained-apps/outputs ee/maintained-apps/inputs | sed -n '1,220p'
printf '\nCandidate Go files with outlines:\n'
while IFS= read -R f; do
printf '\n--- %s\n' "$f"
ast-grep outline "$f" --view compact 2>/dev/null | sed -n '1,80p' || true
done < <(rg -l --glob '*.go' 'darwin\.json|installer_url|architecture|architectures|homebrew|macos' cmd ee/maintained-apps cmd/maintained-apps ee/maintained-apps/outputs ee/maintained-apps/inputs 2>/dev/null || true)Repository: fleetdm/fleet
Length of output: 28127
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf 'Rider input file:\n'
cat -n ee/maintained-apps/inputs/homebrew/rider.json | sed -n '1,220p'
printf '\nMaintained-apps Go files:\n'
find ee/maintained-apps cmd/maintained-apps -name '*.go' -type f | sort
printf '\nFiles mentioning darwin arch/installer selection:\n'
rg -n -C 5 'darwin\.json|installer_url|arch|architecture|architectures|arm64|x86_64|amd64|homebrew' \
-g '*.go' ee/maintained-apps cmd/maintained-apps | sed -n '1,260p'Repository: fleetdm/fleet
Length of output: 23667
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf 'ee/maintained-apps/maintained_apps.go:\n'
cat -n ee/maintained-apps/maintained_apps.go
printf '\nee/maintained-apps/ingesters/homebrew/ingester.go outline/content:\n'
wc -l ee/maintained-apps/ingesters/homebrew/ingester.go ee/maintained-apps/ingesters/homebrew/scripts.go ee/maintained-apps/ingesters/homebrew/ingester_test.go
cat -n ee/maintained-apps/ingesters/homebrew/ingester.go | sed -n '1,260p'
printf '\nArchitecture-specific output json files with aarch64/arch/uni references:\n'
rg -n -C 4 '"installer_url|.*/installer_url|aarch64|x86_64|arm64|amd64|architecture|architectures"|"arch":' ee/maintained-apps/outputs rider ee/maintained-apps/outputs/rider 2>/dev/null | sed -n '1,240p'
printf '\nCheck for runtime selection patterns in Fleet backend/software tables:\n'
rg -n -C 4 'homebrew_packages|apps|bundle_identifier|arch|darwin|macos|maintained_apps|FMA|installer_url' pkg server tools ee --glob '*.go' | sed -n '1,240p'Repository: fleetdm/fleet
Length of output: 43558
🌐 Web query:
JetBrains Rider macOS aarch64 DMG installer universal architecture support Intel macOS
💡 Result:
JetBrains Rider does not use a single "universal" binary (a single DMG containing both architectures) for macOS [1]. Instead, JetBrains provides separate, architecture-specific DMG installers to ensure native performance on each platform [2][3]. Users must download the correct version based on their hardware: - Apple Silicon (aarch64): Use the DMG marked for Apple Silicon [2][3]. - Intel-based Macs (x86_64): Use the DMG marked for Intel [2][1]. Since the introduction of native Apple Silicon support in version 2021.3, JetBrains has explicitly maintained these distinct builds [2][4]. If you use the JetBrains Toolbox App, it automatically handles this detection for you by selecting and installing the appropriate version for your specific hardware [3][4]. For manual installations, you should select the corresponding architecture on the official JetBrains Rider download page [2][3].
Citations:
- 1: https://github.com/Homebrew/homebrew-cask/blob/dabdc97cde3fc9b28db4864dc94697670aab42c3/Casks/r/rider.rb
- 2: https://rider-support.jetbrains.com/hc/en-us/articles/4401925025810-Apple-Silicon-M1-chip-Support-in-Rider
- 3: https://youtrack.jetbrains.com/articles/SUPPORT-A-4201/JetBrains-IDE-on-Apple-Silicon-macOS-shows-Support-for-Intel-based-apps-is-ending-notification
- 4: https://intellij-support.jetbrains.com/hc/en-us/articles/360018972639-Apple-Silicon-Support-in-JetBrains-IDEs
🌐 Web query:
JetBrains Rider 2026.2 download Intel macOS DMG x86_64
💡 Result:
JetBrains Rider 2026.2 was released on July 22, 2026 [1]. For users on Intel-based macOS systems, the standard DMG installation remains available [2][3]. You can download the Intel version by visiting the official JetBrains Rider download page [4]. When downloading for macOS, the site typically detects your architecture automatically, but if you need to select the Intel (x86_64) version specifically, you can use the download dropdown menu on the official website to choose the Intel DMG [5]. The direct URL pattern for the Intel DMG installer follows the format used by the JetBrains distribution servers [3]: https://download.jetbrains.com/rider/JetBrains.Rider-2026.2.dmg Note that this download provides the x86_64 architecture build intended for Intel processors [5][2]. If you use a package manager like Homebrew, the intel build is specified within the cask configuration as the x86_64 variant [2][3].
Citations:
- 1: https://blog.jetbrains.com/dotnet/2026/07/22/rider-2026-2-release/
- 2: https://formulae.brew.sh/cask/rider
- 3: https://github.com/Homebrew/homebrew-cask/blob/07443b20ffc425ca0591c4e4857dbef39aa21c87/Casks/r/rider.rb
- 4: https://www.jetbrains.com/rider/download/
- 5: https://rider-support.jetbrains.com/hc/en-us/articles/4401925025810-Apple-Silicon-M1-chip-Support-in-Rider
🏁 Script executed:
#!/bin/bash
set -euo pipefail
python3 - <<'PY'
import json, pathlib
p = pathlib.Path("ee/maintained-apps/inputs/homebrew/rider.json")
data = json.loads(p.read_text())
print("rider slug:", data.get("slug"))
print("rider unique_identifier:", data.get("unique_identifier"))
print("rider installer_format:", data.get("installer_format"))
PYRepository: fleetdm/fleet
Length of output: 249
Scope Rider to Apple Silicon or add the Intel DMG record.
ee/maintained-apps/outputs/rider/darwin.json has platform scope darwin, while this installer points to the aarch64 Rider DMG. JetBrains provides separate macOS DMG paths for Apple Silicon and Intel; add architecture selection or split the darwin manifests so Intel macOS hosts do not download the aarch64 installer.
🤖 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/rider/darwin.json` around lines 9 - 10, Update the
Rider darwin manifest to avoid serving the aarch64 DMG to Intel macOS hosts:
either scope this record explicitly to Apple Silicon or add a separate Intel
record using the corresponding Intel DMG URL, while preserving the existing
installer metadata.
| "17f62246": "$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}`\" ACCEPTEULA=1\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n\n", | ||
| "6b8b2b2a": "# Fleet uninstalls app by finding all related product codes for the specified upgrade code\n$inst = New-Object -ComObject \"WindowsInstaller.Installer\"\n$timeoutSeconds = 300 # 5 minute timeout per product\n\n# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,\n# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.\n$successCodes = @(0, 3010, 1641)\n\nforeach ($product_code in $inst.RelatedProducts('{E18DCCFE-AFC4-42A5-A020-1FF11BF12D39}')) {\n $process = Start-Process msiexec -ArgumentList @(\"/quiet\", \"/x\", $product_code, \"/norestart\") -PassThru\n\n # Wait for process with timeout\n $completed = $process.WaitForExit($timeoutSeconds * 1000)\n\n if (-not $completed) {\n Stop-Process -Id $process.Id -Force -ErrorAction SilentlyContinue\n Exit 1603 # ERROR_UNINSTALL_FAILURE\n }\n\n # If the uninstall failed, bail\n if ($successCodes -notcontains $process.ExitCode) {\n Write-Output \"Uninstall for $($product_code) exited $($process.ExitCode)\"\n Exit $process.ExitCode\n }\n}\n\n# All uninstalls succeeded; exit success\nExit 0\n" | ||
| "6b8b2b2a": "# Fleet uninstalls app by finding all related product codes for the specified upgrade code\n$inst = New-Object -ComObject \"WindowsInstaller.Installer\"\n$timeoutSeconds = 300 # 5 minute timeout per product\n\n# MSI exit codes that indicate success. 3010 = ERROR_SUCCESS_REBOOT_REQUIRED,\n# 1641 = ERROR_SUCCESS_REBOOT_INITIATED. Treat these as success rather than failure.\n$successCodes = @(0, 3010, 1641)\n\nforeach ($product_code in $inst.RelatedProducts('{E18DCCFE-AFC4-42A5-A020-1FF11BF12D39}')) {\n $process = Start-Process msiexec -ArgumentList @(\"/quiet\", \"/x\", $product_code, \"/norestart\") -PassThru\n\n # Wait for process with timeout\n $completed = $process.WaitForExit($timeoutSeconds * 1000)\n\n if (-not $completed) {\n Stop-Process -Id $process.Id -Force -ErrorAction SilentlyContinue\n Exit 1603 # ERROR_UNINSTALL_FAILURE\n }\n\n # If the uninstall failed, bail\n if ($successCodes -notcontains $process.ExitCode) {\n Write-Output \"Uninstall for $($product_code) exited $($process.ExitCode)\"\n Exit $process.ExitCode\n }\n}\n\n# All uninstalls succeeded; exit success\nExit 0\n", | ||
| "e23ea804": "$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}`\" ACCEPTEULA=1\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n\n" |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Map MSI reboot codes to success.
Line 21 returns $installProcess.ExitCode unchanged. This reports MSI exit codes 3010 and 1641 as installation failures. MSI uses these codes after a successful installation when a reboot is required or initiated. The script already passes /norestart, so 3010 can occur.
Return 0 for 0, 3010, and 1641, as the shared 22e48c46 script does. Preserve ACCEPTEULA=1.
Proposed fix
$logFile = "${env:TEMP}/fleet-install-software.log"
+$successCodes = @(0, 3010, 1641)
try {
...
Get-Content $logFile -Tail 500
+ if ($successCodes -contains $installProcess.ExitCode) {
+ Exit 0
+ }
Exit $installProcess.ExitCode📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "e23ea804": "$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}`\" ACCEPTEULA=1\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n\n" | |
| "e23ea804": "$logFile = \"${env:TEMP}/fleet-install-software.log\"\n$successCodes = @(0, 3010, 1641)\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv `\"${logFile}`\" /i `\"${env:INSTALLER_PATH}`\" ACCEPTEULA=1\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nif ($successCodes -contains $installProcess.ExitCode) {\n Exit 0\n}\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n\n" |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@ee/maintained-apps/outputs/sourcetree/windows.json` at line 21, Update the
PowerShell script identified by the e23ea804 entry to map MSI exit codes 0,
3010, and 1641 to process exit code 0 instead of returning
$installProcess.ExitCode unchanged. Preserve the existing installer arguments,
including ACCEPTEULA=1, logging, and error handling, using the shared 22e48c46
script’s behavior as the reference.
| }, | ||
| "installer_url": "https://download.videolan.org/pub/videolan/vlc/3.0.23/win64/vlc-3.0.23-win64.msi", | ||
| "install_script_ref": "8959087b", | ||
| "install_script_ref": "22e48c46", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Handle reboot-success codes in the VLC uninstaller.
The new installer accepts MSI exit codes 0, 3010, and 1641, but ref 9e6b767e still treats only 0 as success. When msiexec /x returns 3010 or 1641, Fleet reports the uninstall as failed even though MSI completed. Normalize the same three codes to exit 0.
Suggested fix
- if ($process.ExitCode -eq 0) {
+ if (@(0, 3010, 1641) -contains $process.ExitCode) {Also applies to: 20-20
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@ee/maintained-apps/outputs/vlc/windows.json` at line 10, Update the VLC
uninstaller configuration referenced by install_script_ref, including the
applicable 20-20 entry, so msiexec /x exit codes 0, 3010, and 1641 are all
normalized to exit code 0 instead of treating reboot-success codes as failures.
|
Closing in favor of #50554. |
Automated ingestion of latest Fleet-maintained app data.
Summary by CodeRabbit
New Features
Updates