2008-09-23 7 views

Répondre

4

Vous pouvez trouver la réponse à l'installation facultative d'un fichier en utilisant une entrée de registre dans la documentation et dans l'exemple de code, mais cela peut ne pas être évident. Voici quelques exemples de fragments de script utilisant un Adobe Premiere Plugin comme exemple:

les étapes clés sont les suivants:

1) utiliser la vérification: paramètre

2) Ecrire une fonction qui appelle RegQueryStringValue et analyser le chemin pour construire la destination du dossier plugin relatif

3) utiliser {code:} pour appeler une fonction pour retourner le dossier de destination

// 
// Copy my plugin file to the Premiere Plugin folder, but only if Premiere is installed. 
// 
[Files] 
Source: "C:\sourceFiles\myplugin.prm"; Check: GetPremierePluginDestination; DestDir: "{code:PluginDestination}"; Flags: ignoreversion overwritereadonly 

[Code] 

var sPluginDest : String; 

// 
// Search for the path where Premiere Pro was installed. Return true if path found. 
// Set variable to plugin folder 
// 

function GetPremierePluginDestination(): Boolean; 
var 
    i:  Integer; 
    len: Integer; 

begin 
    sPluginDest := ''; 

    RegQueryStringValue(HKLM, 'SOFTWARE\Adobe\Premiere Pro\CurrentVersion', 'Plug-InsDir', sPluginDest); 
    len := Length(sPluginDest); 
    if len > 0 then 
    begin 
    i := len; 
    while sPluginDest[i] <> '\' do 
     begin 
     i := i-1; 
     end; 

    i := i+1; 
    Delete(sPluginDest, i, Len-i+1); 
    Insert('Common', sPluginDest, i); 
    end; 
    Result := len > 0; 
end; 

// 
// Use this function to return path to install plugin 
// 
function PluginDestination(Param: String) : String; 
begin 
    Result := sPluginDest; 
end; 

Je ne suis pas un programmeur Pascal alors des suggestions sur la prise de GetPremiereDestination plus efficaces sont les bienvenus.

Questions connexes