确定是否安装了Flash OCX?

时间:2009-01-16 20:06:02

标签: installer installation windows-installer inno-setup

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

检查HKEY_CLASSES_ROOT \ ShockwaveFlash.ShockwaveFlash并检查CurVer> = 9是否足够?有没有更好的方法来测试?

2 个答案:

答案 0 :(得分:2)

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

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

查看Inno Setup软件包中的各种示例,了解如何使用您自己的功能向用户显示消息框,取消安装,在默认浏览器中打开Flash网站或任何您想要做的事情。

答案 1 :(得分:1)

没有Try / Except的简单方法

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