2009-01-16 6 views
2

Quelle est la meilleure façon de déterminer si le flash ocx est installé dans Innosetup (ou n'importe quel installateur d'ailleurs). Je ne veux pas essayer de l'installer moi-même, je vais simplement forcer l'utilisateur à aller sur le site flash et à l'installer, je veux juste m'assurer que le flash.ocx (version 9+) est installé.Déterminer si Flash OCX est installé?

Est-il suffisant de vérifier HKEY_CLASSES_ROOT \ ShockwaveFlash.ShockwaveFlash et de vérifier que CurVer> = 9? Y a-t-il une meilleure façon de tester cela?

Répondre

2

Ajouter une fonction dans la section de code pour vérifier si vous pouvez créer une instance de contrôle Flash, comme ceci:

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

Découvrez les différents exemples dans le package d'installation Inno sur la façon d'utiliser votre propre Fonction pour afficher une boîte de message à l'utilisateur, annuler l'installation, ouvrir le site Flash dans le navigateur par défaut ou ce que vous voulez faire.

1

façon simple, sans try/except

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