我有一个依赖于MSXML6的应用程序,在部署应用程序的大多数机器上已经安装了这个软件包,但是在少数情况下没有安装MSXML6,问题是我怎么能检查是否已安装MSXML 6?
答案 0 :(得分:6)
您可以使用CLSIDFromProgID函数检查注册表中是否存在CLSID,对于MSXML,CLSID是Msxml2.DOMDocument.6.0
检查此示例应用
uses
ActiveX,
SysUtils;
{
Msxml2.DOMDocument.2.6
Msxml2.DOMDocument.3.0
Msxml2.DOMDocument.4.0
Msxml2.DOMDocument.5.0
Msxml2.DOMDocument.6.0
}
var
clsid: TCLSID;
begin
try
if Succeeded(CLSIDFromProgID('Msxml2.DOMDocument.6.0', clsid)) then
Writeln('MSXML 6.0 Installed')
else
Writeln('MSXML 6.0 Not Installed');
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
Readln;
end.