(imported topic written by Doug_Coburn)
Today with a customer we ran across a case where Windows 2000 computers had the uninstall key in a slightly different location then the default. The non-standard location is “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KB918899-IE6SP1-20060725.123917”.
I am pasting the relevance and action script for the changes needed to have the task work correctly.
Relevance
(name of operating system =
"Win98" OR name of operating system =
"WinME" OR name of operating system =
"WinNT" OR name of operating system =
"Win2000" OR name of operating system =
"WinXP" OR name of operating system =
"Win2003" ) AND (
if (exists key
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KB918899" of registry) then (value
"UninstallString" of key
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KB918899" of registry as string contains
"spuninst.exe" and name of key
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KB918899" of registry as string does not contain
"Service Pack" )
else (
if (exists key
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KB918899-IE6SP1-20060725.123917" of registry) then (value
"UninstallString" of key
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KB918899-IE6SP1-20060725.123917" of registry as string contains
"spuninst.exe" and name of key
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KB918899-IE6SP1-20060725.123917" of registry as string does not contain
"Service Pack" )
else (
if (name of operating system =
"Win95" OR name of operating system =
"Win98" OR name of operating system =
"WinME" ) then (value
"UninstallString" of key
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KB834707" of registry as string contains
"RunDll32 advpack.dll,LaunchINFSection" )
else
if (name of operating system =
"WinNT" ) then (value
"UninstallString" of key
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KB834707" of registry as string contains
"hotfix.exe" )
else (
false))))
ActionScript
wait
{
if (name of operating system =
"Win2000" OR name of operating system =
"Win2003" OR name of operating system =
"WinXP" ) then (
if exists key
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\KB918899" of registry then (value
"UninstallString" of key
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\KB918899" of registry as string &
" -u -q -z" )
else (
if exists key
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\KB918899-IE6SP1-20060725.123917" of registry then (value
"UninstallString" of key
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\KB918899-IE6SP1-20060725.123917" of registry as string &
" -u -q -z" )
else
"No Key" ))
else
if (name of operating system =
"Win95" OR name of operating system =
"Win98" OR name of operating system =
"WinME" ) then (value
"UninstallString" of key
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\KB834707" of registry as string)
else (value
"UninstallString" of key
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\KB834707" of registry as string &
" -q -z -y -m" )
} action may require restart
-D