...
!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调用必须与函数名称一起使用
以“ un”开头。在卸载部分。用法:致电
function_name | [:label_name]宏UpdateXmlCall中的错误
macroline 5第232行的脚本“ G:\ Basic.nsi”中的错误-正在终止
创作过程
怎么了?
最佳答案
卸载程序使用的功能必须带有un.
前缀,宏也必须带有前缀。
因此,如果您正在使用宏,并且希望能够同时在安装程序和卸载程序中使用它,则必须将其插入2次(一个带un.
前缀,另一个不带!insertmacro "UpdateXml"
前缀)。
在脚本开始时用!insertmacro un.UpdateXml
添加或替换un.UpdateXml
应该可以解决该问题(假设xml.nsh
宏在中定义)。