Won*_*ger 4 nsis uninstall function
...
!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
Run Code Online (Sandbox Code Playgroud)
NSIS日志:
!insertmacro:UpdateXmlCall Call必须与以"un"开头的函数名一起使用.在卸载部分.用法:调用function_name | [:label_name] macroline上的宏UpdateXmlCall出错5第232行脚本"G:\ Basic.nsi"出错 - 中止创建过程
怎么了?
卸载程序使用的函数必须以前缀为前缀un.
,宏也是如此.
因此,如果您正在使用宏并希望能够从安装程序和卸载程序中使用它,则必须将其插入2次(一个用于,另一个没有un.
前缀).
在脚本开头添加或替换!insertmacro "UpdateXml"
by !insertmacro un.UpdateXml
应解决问题(前提是un.UpdateXml
宏已定义xml.nsh
).