Installation 确定是否安装了flash OCX?

Installation 确定是否安装了flash OCX?,installation,windows-installer,inno-setup,Installation,Windows Installer,Inno Setup,确定flash ocx是否安装在Innosetup(或任何安装程序)中的最佳方法是什么。我不想尝试自己安装它,我只会强迫用户去flash站点安装,我只想确保安装了flash.ocx(版本9+) 检查HKEY\U CLASSES\U ROOT\ShockwaveFlash.ShockwaveFlash并检查CurVer>=9是否足够?有更好的测试方法吗?在代码部分添加一个函数,检查是否可以创建Flash控件的实例,如下所示: function IsFlashInstalled(): boolean

确定flash ocx是否安装在Innosetup(或任何安装程序)中的最佳方法是什么。我不想尝试自己安装它,我只会强迫用户去flash站点安装,我只想确保安装了flash.ocx(版本9+)


检查HKEY\U CLASSES\U ROOT\ShockwaveFlash.ShockwaveFlash并检查CurVer>=9是否足够?有更好的测试方法吗?

在代码部分添加一个函数,检查是否可以创建Flash控件的实例,如下所示:

function IsFlashInstalled(): boolean;
var
  V: Variant;
begin
  try
    V := CreateOleObject('ShockwaveFlash.ShockwaveFlash.9');
    Result := True;
  except
    Result := False;
  end;
end;

查看Inno安装软件包中的各种示例,了解如何使用自己的功能向用户显示消息框、取消安装、在默认浏览器中打开Flash站点或执行任何您想执行的操作。

简易方法,无需尝试/Except

function IsFlashInstalled: Boolean;
var ClassID : TCLSID;
begin
  Result := Succeeded(CLSIDFromProgID('ShockwaveFlash.ShockwaveFlash', ClassID));//Use CreateComObject() instead...
end;