簡體   English   中英

如何使用NSIS Internet插件?

[英]How to use NSIS Internet plugin?

我有一些代碼定義這樣的變量:

....
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分配一些常量值,並且它無法識別Internet插件發生的設置操作,但是當我運行安裝程序時,它會生成並檢查使用此值的JVM參數(-Djava。 rmi.hostname)我有這個值:

-Djava.rmi.server.hostname=

我嘗試使用類似$ 8的值,但它執行相同的操作,只有該值變為:

-Djava.rmi.server.hostname = 0

如何正確使用此插件?

在設置方面,我只是將插件放入./Plugins/x86-ansi

${x}是用於!define的,變量的語法為$x因此在您的情況下$IP但NSIS插件API不允許將輸出輸出到這樣的變量中。

這個插件的設計不尋常,如果您查看其中包含的.nsh文件,就會發現它具有一些定義,其中VAR_0 = 0等等。

這意味着您必須執行以下操作:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM