问题
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.
回答1:
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.
回答2:
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