windows has many MSXML versions that can be installed side by side. i.e ver 3, 4, 5 & 6.
I have to find which msxml file is present on the system. My query is limited through registry only.
Anarah
All of the MSXML versions installed on your machine will be in the following registry GUID:
HKEY_CLASSES_ROOT\CLSID\{2933BF90-7B36-11D2-B20E-00C04F983E60}\VersionList.
If you are looking for a specific version, say 3.0, you would check that Name = 3.0.
Getting you all versions installed via Powershell:
New-PSDrive -PSProvider registry -Root HKEY_CLASSES_ROOT -Name HKCR
get-item "HKCR:\CLSID\{2933BF90-7B36-11D2-B20E-00C04F983E60}\VersionList"
First line gets you to have the HKEY_Classes_Root as a drive in powershell. Second line gets you the versions installed.
Output similar to:
Hive: HKEY_CLASSES_ROOT\CLSID\{2933BF90-7B36-11D2-B20E-00C04F983E60}
Name Property
---- --------
VersionList 6.0 : C:\Windows\System32\msxml6.dll
3.0 : C:\Windows\System32\msxml3.dll
来源:https://stackoverflow.com/questions/1802406/find-msxml-version-from-registry