Как использовать плагин NSIS Internet?

1

У меня есть код, который определяет переменную следующим образом:

....
Var IP
...

У меня есть другой код, который запускается в init

Function .onInit
  ;Default installation folder
  StrCpy $INSTDIR "C:\PTL\${Project}"
  Internet::GetLocalHostIP ${IP}
FunctionEnd

Когда я запускаю интерпретатор против скрипта, я получаю предупреждение:

 [exec]   Variable "IP" not referenced or never set, wasting memory!

Я полагаю, что это связано с тем, что я не присваиваю какое-то постоянное значение IP, и он не распознает заданную операцию, которая происходит с интернет-плагином, но когда я запускаю установщик, который он генерирует, и проверяем аргументы JVM, которые используют это значение (-Djava.rmi.hostname) У меня есть это значение:

-Djava.rmi.server.hostname=

Я пробовал использовать значение, как $ 8, но он делает то же самое, только значение становится:

-Djava.rmi.server.hostname = 0

Как правильно использовать этот плагин?

Что касается установки, я просто уронил плагин в. /Plugins/x86-ansi

Теги:
plugins
nsis

1 ответ

1
Лучший ответ

${x} - для !define 's, синтаксис для переменных - $x поэтому в вашем случае $IP но API-интерфейс NSIS-плагина не позволяет выводить такую переменную.

Этот плагин имеет необычный дизайн, если вы посмотрите на его включенный.nsh файл, вы увидите, что он определяет, где VAR_0 = 0 и т.д.

Это означает, что вам нужно сделать что-то вроде этого:

Internet::GetLocalHostIP 1 ; Tells the plugin to put the result in $1
StrCpy $IP $1 ; Copy into your variable

Ещё вопросы

Сообщество Overcoder
Наверх
Меню