mirror of
https://github.com/fleetdm/fleet
synced 2026-04-21 13:37:30 +00:00
Add Druva inSync as a Windows FMA (#43817)
Add support for Druva inSync: new winget input (ee/maintained-apps/inputs/winget/druva-insync.json), app metadata (added entry in ee/maintained-apps/outputs/apps.json) and platform-specific output with version, installer URL, installer/uninstaller script refs, sha256 and upgrade_code (ee/maintained-apps/outputs/druva-insync/windows.json). Also add frontend icon component and mapping (frontend/pages/SoftwarePage/components/icons/DruvaInSync.tsx and index.ts) plus the PNG asset (website/assets/images/app-icon-druva-insync-60x60@2x.png) so the app is manageable and visually represented in the UI. <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #43702
This commit is contained in:
parent
7d9c134942
commit
337f4a9e04
6 changed files with 57 additions and 0 deletions
11
ee/maintained-apps/inputs/winget/druva-insync.json
Normal file
11
ee/maintained-apps/inputs/winget/druva-insync.json
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "Druva inSync",
|
||||
"slug": "druva-insync/windows",
|
||||
"package_identifier": "Druva.inSync",
|
||||
"unique_identifier": "Druva inSync",
|
||||
"fuzzy_match_name": true,
|
||||
"installer_arch": "x64",
|
||||
"installer_type": "msi",
|
||||
"installer_scope": "machine",
|
||||
"default_categories": ["Productivity"]
|
||||
}
|
||||
|
|
@ -631,6 +631,13 @@
|
|||
"unique_identifier": "com.getdropbox.dropbox",
|
||||
"description": "Dropbox is a client for the Dropbox cloud storage service."
|
||||
},
|
||||
{
|
||||
"name": "Druva inSync",
|
||||
"slug": "druva-insync/windows",
|
||||
"platform": "windows",
|
||||
"unique_identifier": "Druva inSync",
|
||||
"description": "Druva inSync is a cloud-based product that protects endpoint data."
|
||||
},
|
||||
{
|
||||
"name": "Eclipse IDE",
|
||||
"slug": "eclipse-ide/darwin",
|
||||
|
|
|
|||
23
ee/maintained-apps/outputs/druva-insync/windows.json
Normal file
23
ee/maintained-apps/outputs/druva-insync/windows.json
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "7.5.7",
|
||||
"queries": {
|
||||
"exists": "SELECT 1 FROM programs WHERE name LIKE 'Druva inSync %' AND publisher = 'Druva Technologies Pte. Ltd.';",
|
||||
"patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name LIKE 'Druva inSync %' AND publisher = 'Druva Technologies Pte. Ltd.' AND version_compare(version, '7.5.7') < 0);"
|
||||
},
|
||||
"installer_url": "https://downloads.druva.com/downloads/inSync/Windows/7.5.7/inSync7.5.7r110923.msi",
|
||||
"install_script_ref": "8959087b",
|
||||
"uninstall_script_ref": "b98f2558",
|
||||
"sha256": "44e7295a0efba9e386e5dc24fa1e024e84b14d5e70f290ddd4389da5c5e5c96e",
|
||||
"default_categories": [
|
||||
"Productivity"
|
||||
],
|
||||
"upgrade_code": "{99ADCB07-6ABD-4A1D-AFF6-03649753BAFF}"
|
||||
}
|
||||
],
|
||||
"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",
|
||||
"b98f2558": "# 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('{99ADCB07-6ABD-4A1D-AFF6-03649753BAFF}')) {\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"
|
||||
}
|
||||
}
|
||||
14
frontend/pages/SoftwarePage/components/icons/DruvaInSync.tsx
Normal file
14
frontend/pages/SoftwarePage/components/icons/DruvaInSync.tsx
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -10,6 +10,7 @@ import BetterDisplay from "./BetterDisplay";
|
|||
import Charles from "./Charles";
|
||||
import ConnectFonts from "./ConnectFonts";
|
||||
import CrashPlan from "./CrashPlan";
|
||||
import DruvaInSync from "./DruvaInSync";
|
||||
import GoogleCredentialProviderForWindows from "./GoogleCredentialProviderForWindows";
|
||||
import Iina from "./Iina";
|
||||
import Kitty from "./Kitty";
|
||||
|
|
@ -316,6 +317,7 @@ export const SOFTWARE_NAME_TO_ICON_MAP = {
|
|||
crashplan: CrashPlan,
|
||||
"google credential provider for windows": GoogleCredentialProviderForWindows,
|
||||
iina: Iina,
|
||||
insyncclient: DruvaInSync,
|
||||
kitty: Kitty,
|
||||
krita: Krita,
|
||||
lastpass: LastPass,
|
||||
|
|
|
|||
BIN
website/assets/images/app-icon-druva-insync-60x60@2x.png
vendored
Normal file
BIN
website/assets/images/app-icon-druva-insync-60x60@2x.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9 KiB |
Loading…
Reference in a new issue