2015-11-03 1 views
0

J'ai un problème lorsque mon équipe travaille sur différentes versions d'Adobe Illustrator, ou que plusieurs versions du logiciel sont installées.Comment vérifier la version de l'illustrateur sur lequel le script s'exécute et le script de la branche basé sur celui-ci?

Existe-t-il un moyen de vérifier la version de l'application Adobe qui exécute le script? Surtout si c'est 32 ou 64 bits?

J'ai besoin de définir correctement #target et BridgeTalk.target afin que le script s'exécute dans l'application ouverte en cours. (Le script s'exécute directement à partir du fichier de script)

Je n'arrive pas à trouver de documentation solide sur ce sujet. Est-ce que quelqu'un a eu un problème similaire et trouvé et des solutions ou des solutions de contournement? (Mise à jour de tous les logiciels Adobe à la version simple est hors de question, malheureusement)

Répondre

2

vous pouvez trouver la version de l'application en appelant app.version

$.writeln(app.version) 

Mais il semble y avoir aucun moyen de savoir si elle est 32 ou 64 bits

peut-être que l'objet auxiliaire Extendscript peut vous donner plus d'informations. par exemple.

$.writeln($.os) 
0

@fabiantheblind

Utilisation de vos conseils i conçu un morceau de code qui semble faire l'affaire (mais il manque d'élégance: P)

switch(app.version.split(".")[0]) 
{ 
    case "16": 
    //32 bit versions run in emulated enviorment, so the $.os returns string 
    //containing 'emulation' substring. Not entierly sure it is reliable :P 
    var string = String($.os); 
    if(string.indexOf("emulation") > -1) 
    { 
     $.writeln("32 bit code here"); 
    } 
    else 
    { 
     $.writeln("64 bit code here"); 
    } 
    break; 

    default: 
     break; 
} 
+0

Bien. Si ça marche. :) – fabianmoronzirfas

1

Cela va vérifier que ce est la version de l'application, et même si elle est 32 ou 64 bits (pas l'os):

$.writeln(app.version); //writes the app version 
$.writeln((app.path.fsName.indexOf('Program Files (x86)') > -1)?'32 bit':'64 bit'); //writes the bit version of the app 

Ce code fonctionnera pour toutes les applications que vous souhaitez vérifier.

Le seul problème que je peux penser c'est si l'application est installée ailleurs alors Program Files ou Program Files (x86). Dans ce cas, vous devrez utiliser d'autres moyens.