Add Yubico Authenticator as a Windows FMA (#39351)

This pull request adds support for managing the Yubico Authenticator
application on Windows. The changes introduce the necessary metadata,
installation and uninstallation scripts, and update the application
catalog to include this new platform-specific entry.

**Addition of Yubico Authenticator for Windows:**

* Added a new input file with metadata for the Windows version of Yubico
Authenticator, specifying details like package identifier, architecture,
and default categories in `yubico-authenticator.json`.
* Created an output file containing version information, installation
and uninstallation scripts, installer URL, SHA256 hash, and upgrade code
for Yubico Authenticator on Windows in
`yubico-authenticator/windows.json`.
* Updated the main application catalog (`apps.json`) to include a
Windows-specific entry for Yubico Authenticator, with appropriate slug
and description.

**Frontend icon update:**

* Updated the image data for the Yubico Authenticator icon in the
frontend component to reflect the correct or updated icon asset.
This commit is contained in:
Allen Houchins
2026-02-04 15:13:30 -06:00
committed by GitHub
parent e12552e5fb
commit 72dfd1f414
5 changed files with 40 additions and 1 deletions
@@ -0,0 +1,10 @@
{
"name": "Yubico Authenticator",
"slug": "yubico-authenticator/windows",
"package_identifier": "Yubico.Authenticator",
"unique_identifier": "Yubico Authenticator",
"installer_arch": "x64",
"installer_type": "msi",
"installer_scope": "machine",
"default_categories": ["Productivity"]
}
+7
View File
@@ -1730,6 +1730,13 @@
"unique_identifier": "com.yubico.yubioath",
"description": "Yubico Authenticator is an application for generating TOTP and HOTP codes."
},
{
"name": "Yubico Authenticator",
"slug": "yubico-authenticator/windows",
"platform": "windows",
"unique_identifier": "Yubico Authenticator",
"description": "Yubico Authenticator is an application for generating TOTP and HOTP codes."
},
{
"name": "Yubikey Manager",
"slug": "yubico-yubikey-manager/darwin",
@@ -0,0 +1,22 @@
{
"versions": [
{
"version": "7.3.1",
"queries": {
"exists": "SELECT 1 FROM programs WHERE name = 'Yubico Authenticator' AND publisher = 'Yubico AB';"
},
"installer_url": "https://github.com/Yubico/yubioath-flutter/releases/download/7.3.1/yubico-authenticator-7.3.1-win64.msi",
"install_script_ref": "8959087b",
"uninstall_script_ref": "df5aa7e3",
"sha256": "a278b9b558315f6eee4798034defe3716dd759ea36c1b0d076fbb386357a61e3",
"default_categories": [
"Productivity"
],
"upgrade_code": "{FCBAFC57-AAAA-47B8-B861-20BDA48CD4F6}"
}
],
"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",
"df5aa7e3": "# 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(\"{FCBAFC57-AAAA-47B8-B861-20BDA48CD4F6}\")) {\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"
}
}
File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB