Windows FMA - Amazon WorkSpaces (#46304)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added Amazon WorkSpaces support on Windows: app listing, version entry, installer/uninstaller metadata, and a UI icon. * **Improvements** * Relaxed input validation to allow comma (,) and ampersand (&) characters in query filters. <!-- review_stack_entry_start --> [](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46304?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack) <!-- review_stack_entry_end --> <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
This commit is contained in:
co-authored by
Allen Houchins
parent
75dee678e4
commit
e7bf5e60ae
@@ -487,7 +487,7 @@ func detectApplicationChange(installationSearchDirectory string, appListPre, app
|
||||
|
||||
func validateSqlInput(input string) error {
|
||||
// Allow alphanumeric, spaces, dots, hyphens, underscores, forward/back slashes, colons, parentheses, pluses.
|
||||
if matched, _ := regexp.MatchString(`^[a-zA-Z0-9\s.\-_/\\:()+]*$`, input); !matched {
|
||||
if matched, _ := regexp.MatchString(`^[a-zA-Z0-9\s.\-_/\\:()+,&]*$`, input); !matched {
|
||||
return fmt.Errorf("invalid characters in input: %s", input)
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "Amazon WorkSpaces",
|
||||
"slug": "amazon-workspaces/windows",
|
||||
"package_identifier": "Amazon.WorkspacesClient",
|
||||
"unique_identifier": "Amazon WorkSpaces",
|
||||
"installer_arch": "x64",
|
||||
"installer_type": "msi",
|
||||
"installer_scope": "machine",
|
||||
"default_categories": ["Productivity"]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "5.32.2.5905",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM programs WHERE name = 'Amazon WorkSpaces' AND publisher = 'Amazon Web Services, Inc';",
|
||||
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Amazon WorkSpaces' AND publisher = 'Amazon Web Services, Inc' AND version_compare(version, '5.32.2.5905') < 0);"
|
||||
},
|
||||
"installer_url": "https://d2td7dqidlhjx7.cloudfront.net/prod/global/windows/Amazon+WorkSpaces.msi",
|
||||
"install_script_ref": "8959087b",
|
||||
"uninstall_script_ref": "b645e295",
|
||||
"sha256": "d92852c27efd33f349da727f6a7d2c5622441bf7fdb1a00a3132e4a4988f3f96",
|
||||
"default_categories": [
|
||||
"Productivity"
|
||||
],
|
||||
"upgrade_code": "{CB7B8EA8-3D5A-4233-A9CB-31A692E24E62}"
|
||||
}
|
||||
],
|
||||
"refs": {
|
||||
"8959087b": "$logFile = \"${env:TEMP}/fleet-install-software.log\"\n\ntry {\n\n$installProcess = Start-Process msiexec.exe `\n -ArgumentList \"/quiet /norestart /lv ${logFile} /i `\"${env:INSTALLER_PATH}`\"\" `\n -PassThru -Verb RunAs -Wait\n\nGet-Content $logFile -Tail 500\n\nExit $installProcess.ExitCode\n\n} catch {\n Write-Host \"Error: $_\"\n Exit 1\n}\n",
|
||||
"b645e295": "# 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('{CB7B8EA8-3D5A-4233-A9CB-31A692E24E62}')) {\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"
|
||||
}
|
||||
}
|
||||
@@ -148,6 +148,13 @@
|
||||
"unique_identifier": "Amazon Corretto (x64)",
|
||||
"description": "Amazon Corretto 25 is a no-cost, multiplatform, production-ready distribution of OpenJDK 25."
|
||||
},
|
||||
{
|
||||
"name": "Amazon WorkSpaces",
|
||||
"slug": "amazon-workspaces/windows",
|
||||
"platform": "windows",
|
||||
"unique_identifier": "Amazon WorkSpaces",
|
||||
"description": "Amazon WorkSpaces provides secure, managed virtual desktop infrastructure (VDI) in the cloud."
|
||||
},
|
||||
{
|
||||
"name": "Android Studio",
|
||||
"slug": "android-studio/darwin",
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -6,6 +6,7 @@ import { ISoftware } from "interfaces/software";
|
||||
import { matchLoosePrefixToKey } from "utilities/strings/stringUtils";
|
||||
|
||||
import AmazonCorretto25 from "./AmazonCorretto25";
|
||||
import AmazonWorkspaces from "./AmazonWorkspaces";
|
||||
import AnotherRedisDesktopManager from "./AnotherRedisDesktopManager";
|
||||
import AzulZulu25Jdk from "./AzulZulu25Jdk";
|
||||
import AzulZulu25Jre from "./AzulZulu25Jre";
|
||||
@@ -300,6 +301,7 @@ export const SOFTWARE_NAME_TO_ICON_MAP = {
|
||||
"amazon chime": AmazonChime,
|
||||
"amazon corretto 25": AmazonCorretto25,
|
||||
"amazon dcv": AmazonDCV,
|
||||
"amazon workspaces": AmazonWorkspaces,
|
||||
androidPlayStore: AndroidPlayStore,
|
||||
"android studio": AndroidStudio,
|
||||
anka: Anka,
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 7.7 KiB |
Reference in New Issue
Block a user