2009-08-20 8 views
0

J'ai un fichier Java Launcher modifié exe écrit dans NSIS qui lance un fichier JAR (http://nsis.sourceforge.net/A_slightly_better_Java_Launcher). Je veux passer dans le JAR un paramètre, ce paramètre étant le chemin absolu du fichier qui a appelé l'exe.NSIS obtenir le chemin du fichier appelant

Dans un fichier BAT je peux utiliser "start MyApp.jar% 1" et cela remplit le chemin abs, mais cela ne peut pas être fait dans NSIS il semble (ou je ne l'écris pas correctement car mon paramètre entre littéralement comme "% 1").

Je veux que ma commande à: javaw jar MyApp.jar AbsolutePath

Voici ma ligne actuellement que je veux ce chemin ajouté à:

StrCpy $ 0 « "$ R0" jar « $ {JAR} "'

Toutes les suggestions seraient appréciées. Merci.

Répondre

0

Voici la ligne qui est mis dans la commande "open" pour mon extension de fichier. Dans le registre R7 j'ai placé le chemin vers "javaw.exe". Cette méthode (appelée GetJRE) est dans le lien à l'intérieur de ma question. Windows lui-même remplit alors le paramètre du fichier appelant mon pot et le passe en paramètre.

$ {} registerExtension "$ R7 $ \" jar -Djava.library.path = $ \ "$ INSTDIR $ \" $ \ "$ INSTDIR \ Viewer.jar" ".YourExtension" "Fichier YourExtension"

$ {unregisterExtension} ".VotreExtension" "Votre fichier extension"

0

% 1 ne doit pas être le chemin absolu, il est juste le premier paramètre, il pourrait aussi être un chemin relatif (ou pas un chemin tout)

Dans ce cas, en utilisant $ {GetParameters} de FileFunc.nsh devrait répondre à vos besoins même s'il vous donne tous les paramètres, pas seulement le premier

+0

Merci Anders. Essayer de comprendre comment utiliser cette fonction, mais cela semble être ce qui va m'aider. – Ken

+0

juste inclure le fichier d'en-tête et utiliser $ {GetParameters} $ 1 pour obtenir les paramètres dans $ 1 – Anders

Questions connexes