NSIS obtenir le chemin du fichier de l'appelant
-
19-09-2019 - |
Question
J'ai un fichier Java Launcher exe modifié par é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.
Dans un fichier BAT je peux utiliser « commencer MyApp.jar% 1 » et qui remplit le chemin abs, mais qui ne peut être fait en NSIS il semble (ou je ne suis pas l'écrire causer correctement mon paramètre vient littéralement "%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és. Merci.
La solution 2
Voici la ligne qui est mis dans la commande « ouvrir » pour mon extension de fichier. Dans le registre R7 j'ai placé le chemin vers « javaw.exe ». Cette méthode (appelée GetJRE) est le lien dans ma question. Windows se remplit alors dans le paramètre du fichier appelant mon pot et il passe comme paramètre.
$ {} registerExtension "$ R7 $ \" jar -Djava.library.path = $ \ "$ $ INSTDIR \" $ \ "INSTDIR $ \ Viewer.jar" ".YourExtension" "Fichier YourExtension"
$ {} unregisterExtension ".YourExtension" "Fichier YourExtension"
Autres conseils
% 1 ne doit pas être le chemin absolu, il est juste le premier paramètre, il pourrait aussi être un chemin relatif (ou pas du tout chemin)
Dans ce cas, en utilisant $ {} GetParameters de FileFunc.nsh devrait répondre à vos besoins, même si elle vous donne tous les paramètres, pas seulement le premier