(imported topic written by anthonymap91)
To install the UPDATE: MSXML 4.0 SP3 fixlet, i have to remove the old beta MSXML 4.0 SP3.
I have been trying to find a way to remove the old MSXML 4.0 SP3 (Beta patch) in one fixlet
Details:
No one knows where the beta patch is installed
No one can tell me how to identify the beta patch
I found the name of the Beta patch and the new patch in the “add/remove” is the same.
I wrote this below and wanted to get your opinion. It is a combination of the BigFix created Fixlet to install the MSXML 4.0 SP3 and an added detection and action. I have to add the following regedit to vista and 2008; not done yet.
reg delete HKEY_LOCAL_MACHINE\COMPONENTS\DerivedData\Components\x86_microsoft.msxml2r_6bd6b9abf345378f_4.30.2100.0_none_03d8af9e7277524d
Relevance:
(((((if( name of operating system starts with “Win” ) then platform id of operating system != 3 else false) AND ((language of version block of file “kernel32.dll” of system folder contains “English”) OR (exists key “HKLM\System\CurrentControlSet\Control\Nls\MUILanguages” whose (exists value of it) of registry))) AND (not exists values “PROCESSOR_ARCHITECTURE” whose (it as string as lowercase = “ia64”) of keys “HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment” of registry)) AND (((name of it = “WinXP” AND service pack major version of it >= 2) OR (name of it = “WinVista”) OR (name of it = “Win2008”) OR (name of it = “Win2000” AND service pack major version of it >= 4) OR (name of it = “WinXP-2003” AND service pack major version of it >= 2) OR (name of it = “Win2003” AND service pack major version of it >= 1)) of operating system)) AND ((exists file “msiexec.exe” whose (version of it >= “3”) of system folder))) AND (exists file “msxml4.dll” whose (version of it < ") of system folder) and (exists key whose (value “DisplayName” of it as string as lowercase contains “msxml 4.0 sp3”) of key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry)
Action:
///remove old patch (beta)
wait {(preceding text of first “%00” of (it as string) of value “UninstallString” of keys whose (value “DisplayName” of it as string as lowercase contains "msxml 4.0 sp3 " AND value “DisplayVersion” of it = “4.30.2100.0”) of key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry as string)} /q
///Install new patch
download http://download.microsoft.com/download/A/2/D/A2D8587D-0027-4217-9DAD-38AFDB0A177E/msxml.msi
continue if {(size of it = 2434048 and sha1 of it = “aa70c5c1a7a069af824947bcda1d9893a895318b”) of file “msxml.msi” of folder “__download”}
waithidden msiexec.exe /i __download\msxml.msi /quiet /norestart
action may require restart “aa70c5c1a7a069af824947bcda1d9893a895318b”
It seems to detect properlly but would like to get help on remove and install action
Any help would be great.
Thanks, Anthony