确定该闪存ocx是否安装在Innosetup (或任何安装程序)中的最佳方法是什么?我不想尝试自己安装它,我会简单地强制用户去flash站点安装,我只想确保安装了flash.ocx (9+版本)。
检查HKEY_CLASSES_ROOT\ShockwaveFlash.ShockwaveFlash和CurVer >= 9是否足够?有没有更好的方法来测试这个?
发布于 2009-01-17 11:45:59
在代码部分添加一个函数,检查是否可以创建Flash控件的实例,如下所示:
function IsFlashInstalled(): boolean;
var
V: Variant;
begin
try
V := CreateOleObject('ShockwaveFlash.ShockwaveFlash.9');
Result := True;
except
Result := False;
end;
end;查看Inno安装包中的各种示例,了解如何使用自己的函数向用户显示消息框、取消安装、在默认浏览器中打开Flash站点或执行任何操作。
发布于 2011-06-13 03:56:26
无需Try/Except的简单方法
function IsFlashInstalled: Boolean;
var ClassID : TCLSID;
begin
Result := Succeeded(CLSIDFromProgID('ShockwaveFlash.ShockwaveFlash', ClassID));//Use CreateComObject() instead...
end;https://stackoverflow.com/questions/451770
复制相似问题