27 lines
1,018 B
Text
27 lines
1,018 B
Text
|
$ErrorActionPreference = 'Stop'
|
||
|
|
||
|
$productId = '{{ registry_id }}'
|
||
|
|
||
|
$regPath = switch ($args[0]) {
|
||
|
HKLMx64 { 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall' }
|
||
|
HKLMx86 { 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall' }
|
||
|
HKCUx64 { 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall' }
|
||
|
HKCUx86 { 'HKCU:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall' }
|
||
|
default { throw "Invalid registry path specified $($args[0])" }
|
||
|
}
|
||
|
$regProperty = $args[1]
|
||
|
$regUninstallString = $args[2]
|
||
|
#$regUninstallString = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($args[2]))
|
||
|
|
||
|
$null = New-Item -Path $regPath -Name $productId -Force
|
||
|
|
||
|
$propParams = @{
|
||
|
Path = "$regPath\$productId"
|
||
|
Force = $true
|
||
|
PropertyType = 'String'
|
||
|
}
|
||
|
New-ItemProperty -Name $regProperty -Value $regUninstallString @propParams
|
||
|
if ($regProperty -eq 'QuietUninstallString') {
|
||
|
New-ItemProperty -Name 'UninstallString' -Value 'Fail if used' @propParams
|
||
|
}
|