...
!include "nsDialogs.nsh"
!include "MUI2.nsh"
!include "LogicLib.nsh"
!include "XML.nsh"
!insertmacro "UpdateXml"
...
!insertmacro MUI_UNPAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt"
UninstPage custom un.PageReinstall
!insertmacro MUI_UNPAGE_CONFIRM
...
Function un.PageReinstall
...
${UpdateXml} "http://127.0.0.1/123.xml" "/XML/A" $321 ; line 232
...
FunctionEnd
NSIS日志:
!insertmacro:UpdateXmlCall Call必须与函数名一起使用 以“un。”开头在卸载部分。用法:致电 function_name | [:label_name]宏UpdateXmlCall上的错误 macroline 5第232行脚本“G:\ Basic.nsi”出错 - 中止 创作过程
怎么了?
答案 0 :(得分:8)
卸载程序使用的函数必须以un.
为前缀,宏也是如此。
因此,如果您正在使用宏并希望能够从安装程序和卸载程序中使用它,则必须将其插入2次(一个用于,而另一个没有un.
前缀)。
在脚本开头添加或替换!insertmacro "UpdateXml"
!insertmacro un.UpdateXml
应解决问题(假设un.UpdateXml
中已定义xml.nsh
宏)。< / p>