2009-01-16 95 views
2

確定Flash ocx是否安裝在Innosetup(或任何安裝程序)中的最佳方法是什麼?我不想嘗試自己安裝它,我只會強制用戶進入Flash網站並進行安裝,我只是想確保安裝了flash.ocx(版本9+)。確定是否安裝了Flash OCX?

是否足以檢查HKEY_CLASSES_ROOT \ ShockwaveFlash.ShockwaveFlash並檢查CurVer> = 9?有沒有更好的方法來測試這個?

回答

2

添加功能的代碼段,以檢查是否可以創建Flash控件的一個實例,像這樣:

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

退房的創新安裝包如何使用自己的各種實例函數向用戶顯示消息框,取消安裝,在默認瀏覽器中打開Flash網站或任何您想要執行的操作。

除了
1

簡單的方法沒有嘗試/

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