Как определить, установлен ли MSXML6 в системе с использованием delphi? - PullRequest
3 голосов
/ 24 марта 2012

У меня есть приложение, которое зависит от MSXML6 , на большинстве машин, когда приложение развернуто, этот пакет уже установлен, но в некоторых случаях MSXML6 не установлен.я могу проверить, установлен ли MSXML 6?

1 Ответ

6 голосов
/ 24 марта 2012

вы можете проверить, существует ли CLSID в реестре, используя функцию CLSIDFromProgID , для 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.
...