50 lines
1.6 KiB
PowerShell
Executable file
50 lines
1.6 KiB
PowerShell
Executable file
|
|
|
|
$ErrorActionPreference = 'Stop';
|
|
|
|
$packageName = 'iis-externalcache'
|
|
$softwareName = 'Microsoft External Cache'
|
|
$installerType = 'MSI'
|
|
|
|
$silentArgs = '/qn /norestart'
|
|
$validExitCodes = @(0, 3010, 1605, 1614, 1641)
|
|
if ($installerType -ne 'MSI') {
|
|
$validExitCodes = @(0)
|
|
}
|
|
|
|
$uninstalled = $false
|
|
$local_key = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*'
|
|
$machine_key = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*'
|
|
$machine_key6432 = 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
|
|
|
|
$key = Get-ItemProperty -Path @($machine_key6432,$machine_key, $local_key) `
|
|
-ErrorAction SilentlyContinue `
|
|
| ? { $_.DisplayName -like "$softwareName" }
|
|
|
|
if ($key.Count -eq 1) {
|
|
$key | % {
|
|
$file = "$($_.UninstallString)"
|
|
|
|
if ($installerType -eq 'MSI') {
|
|
$silentArgs = "$($_.PSChildName) $silentArgs"
|
|
|
|
$file = ''
|
|
}
|
|
|
|
Uninstall-ChocolateyPackage -PackageName $packageName `
|
|
-FileType $installerType `
|
|
-SilentArgs "$silentArgs" `
|
|
-ValidExitCodes $validExitCodes `
|
|
-File "$file"
|
|
}
|
|
} elseif ($key.Count -eq 0) {
|
|
Write-Warning "$packageName has already been uninstalled by other means."
|
|
} elseif ($key.Count -gt 1) {
|
|
Write-Warning "$key.Count matches found!"
|
|
Write-Warning "To prevent accidental data loss, no programs will be uninstalled."
|
|
Write-Warning "Please alert package maintainer the following keys were matched:"
|
|
$key | % {Write-Warning "- $_.DisplayName"}
|
|
}
|
|
|
|
|
|
|