Function 调用必须与以“开始”的函数名一起使用;联合国;在卸载部分

Function 调用必须与以“开始”的函数名一起使用;联合国;在卸载部分,function,nsis,uninstallation,Function,Nsis,Uninstallation,NSIS日志: !!insertmacro:UpdateXmlCall必须与函数名一起使用 在卸载部分以“un.”开头。用法:打电话 函数_name |[:label_name]在宏UpdateXmlCall开启时出错 第232行脚本“G:\Basic.nsi”中的宏行5错误--正在中止 创作过程 怎么了?卸载程序使用的函数必须以un.作为前缀,宏也是如此 因此,如果您正在使用宏,并且希望能够从安装程序和卸载程序中使用宏,则必须将其插入2次(一次插入带有un.前缀的宏,另一次插入不带un.前缀的

NSIS日志:

!!insertmacro:UpdateXmlCall必须与函数名一起使用 在卸载部分以“un.”开头。用法:打电话 函数_name |[:label_name]在宏UpdateXmlCall开启时出错 第232行脚本“G:\Basic.nsi”中的宏行5错误--正在中止 创作过程


怎么了?

卸载程序使用的函数必须以
un.
作为前缀,宏也是如此

因此,如果您正在使用宏,并且希望能够从安装程序和卸载程序中使用宏,则必须将其插入2次(一次插入带有
un.
前缀的宏,另一次插入不带
un.
前缀的宏)

添加或替换
!通过
插入宏“UpdateXml”
!脚本开头的insertmacro un.UpdateXml
应该可以解决这个问题(前提是
un.UpdateXml
宏是在
xml.nsh
中定义的)

...
!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