Introduce support for Cinc Workstation across the app catalog and UI. Adds a winget input (ee/maintained-apps/inputs/winget/cinc.json), a new apps catalog entry (ee/maintained-apps/outputs/apps.json), and a Windows-specific output with versioned metadata (ee/maintained-apps/outputs/cinc/windows.json) including installer URL, SHA256, and install/uninstall script refs for version 23.5.1040. Also adds a React SVG icon component, maps the app name to the icon (frontend/pages/SoftwarePage/components/icons/*), and includes the 60x60 PNG asset for the app icon.
25 lines
900 B
PowerShell
25 lines
900 B
PowerShell
# Fleet uninstalls app by finding all related product codes for the specified upgrade code
|
|
$inst = New-Object -ComObject "WindowsInstaller.Installer"
|
|
$timeoutSeconds = 300 # 5 minute timeout per product
|
|
|
|
foreach ($product_code in $inst.RelatedProducts('{9870C512-DF2C-43D9-8C28-7ACD60ABBE27}')) {
|
|
$process = Start-Process msiexec -ArgumentList @("/quiet", "/x", $product_code, "/norestart") -PassThru
|
|
|
|
# Wait for process with timeout
|
|
$completed = $process.WaitForExit($timeoutSeconds * 1000)
|
|
|
|
if (-not $completed) {
|
|
Stop-Process -Id $process.Id -Force -ErrorAction SilentlyContinue
|
|
Exit 1603 # ERROR_UNINSTALL_FAILURE
|
|
}
|
|
|
|
# If the uninstall failed, bail
|
|
if ($process.ExitCode -ne 0) {
|
|
Write-Output "Uninstall for $($product_code) exited $($process.ExitCode)"
|
|
Exit $process.ExitCode
|
|
}
|
|
}
|
|
|
|
# All uninstalls succeeded; exit success
|
|
Exit 0
|