fleet/ee/maintained-apps/outputs/firefox@esr/windows.json
fleet-release 56f0abb199
Update Fleet-maintained apps (#44384)
Automated ingestion of latest Fleet-maintained app data.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated supported versions for 20+ third-party applications across
multiple platforms, including Claude, Cursor, Discord, Firefox ESR,
Google Chrome, Microsoft Office suite, Notion, Ollama, Opera, Postman,
Raycast, Sketch, Visual Studio Code, Wacom Tablet drivers, WhatsApp, and
Windsurf to enable deployment of latest releases.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-04-29 10:20:56 -05:00

22 lines
4.4 KiB
JSON

{
"versions": [
{
"version": "140.10.1",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name LIKE 'Mozilla Firefox % ESR %' AND publisher = 'Mozilla';",
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Mozilla Firefox % ESR %' AND publisher = 'Mozilla' AND version_compare(version, '140.10.1') < 0);"
},
"installer_url": "https://download-installer.cdn.mozilla.net/pub/firefox/releases/140.10.1esr/win64/en-US/Firefox%20Setup%20140.10.1esr.exe",
"install_script_ref": "36995f4f",
"uninstall_script_ref": "5dc712f7",
"sha256": "ef9b237e30a0c6d0e32ad92704875b49972ec734fff2e8cbba146d3c2e468184",
"default_categories": [
"Browsers"
]
}
],
"refs": {
"36995f4f": "# Learn more about .exe install scripts:\n# http://fleetdm.com/learn-more-about/exe-install-scripts\n\n$exeFilePath = \"${env:INSTALLER_PATH}\"\n$installDir = \"C:\\Program Files\\Mozilla Firefox\"\n$maxWaitSeconds = 120\n\ntry {\n\n# Start silent install without -Wait; the Firefox ESR installer launches the\n# browser after installing and blocks until it is closed.\nStart-Process -FilePath \"$exeFilePath\" -ArgumentList \"/S\"\n\n# Poll for installation to complete\n$elapsed = 0\nwhile ($elapsed -lt $maxWaitSeconds) {\n Start-Sleep -Seconds 5\n $elapsed += 5\n if (Test-Path \"$installDir\\firefox.exe\") {\n Write-Host \"Firefox ESR installed successfully after $elapsed seconds\"\n Exit 0\n }\n}\n\nWrite-Host \"Timed out waiting for Firefox ESR to install\"\nExit 1\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n",
"5dc712f7": "# Fleet extracts name from installer (EXE) and saves it to PACKAGE_ID\n# variable\n# Match Firefox ESR only (e.g. \"Mozilla Firefox 140.7.1 ESR (x64 en-US)\"), not regular Firefox\n$softwareNameLike = \"*Firefox*ESR*\"\n\n# NSIS installers require /S flag for silent uninstall\n$uninstallArgs = \"/S\"\n\n$paths = @(\n 'HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall',\n 'HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall'\n)\n\n$exitCode = 0\n\ntry {\n\n[array]$uninstallKeys = Get-ChildItem `\n -Path $paths `\n -ErrorAction SilentlyContinue |\n ForEach-Object { Get-ItemProperty $_.PSPath }\n\n$foundUninstaller = $false\nforeach ($key in $uninstallKeys) {\n if ($key.DisplayName -like $softwareNameLike) {\n $foundUninstaller = $true\n $uninstallCommand = if ($key.QuietUninstallString) {\n $key.QuietUninstallString\n } else {\n $key.UninstallString\n }\n\n # The uninstall command may contain command and args, like:\n # \"C:\\Program Files\\Mozilla Firefox ESR\\uninstall\\helper.exe\" /S\n $splitArgs = $uninstallCommand.Split('\"')\n if ($splitArgs.Length -gt 1) {\n if ($splitArgs.Length -eq 3) {\n $existingArgs = $splitArgs[2].Trim()\n if ($existingArgs -notmatch '\\b/S\\b') {\n $uninstallArgs = \"$existingArgs /S\".Trim()\n } else {\n $uninstallArgs = $existingArgs\n }\n } elseif ($splitArgs.Length -gt 3) {\n Throw `\n \"Uninstall command contains multiple quoted strings. \" +\n \"Please update the uninstall script.`n\" +\n \"Uninstall command: $uninstallCommand\"\n }\n $uninstallCommand = $splitArgs[1]\n } else {\n if ($uninstallCommand -notmatch '\\b/S\\b') {\n $uninstallArgs = \"/S\"\n } else {\n $uninstallArgs = \"\"\n }\n }\n Write-Host \"Uninstall command: $uninstallCommand\"\n Write-Host \"Uninstall args: $uninstallArgs\"\n\n $processOptions = @{\n FilePath = $uninstallCommand\n PassThru = $true\n Wait = $true\n }\n\n if ($uninstallArgs -ne '') {\n $processOptions.ArgumentList = $uninstallArgs\n }\n\n $process = Start-Process @processOptions\n $exitCode = $process.ExitCode\n Write-Host \"Uninstall exit code: $exitCode\"\n break\n }\n}\n\nif (-not $foundUninstaller) {\n Write-Host \"Uninstaller for Firefox ESR not found.\"\n $exitCode = 1\n}\n\nExit $exitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n"
}
}