我编写了一个小的NSI脚本来获取子字符串,解析为逗号:
!include "StrFunc.nsh"
${StrTok}
OutFile abc.exe
Section "jj" main_section
SectionEnd
Function .onInit
${StrTok} $0 "b,lah" "," "L" "0"
FunctionEnd
以上代码完美无缺。 但是当我尝试在卸载宏中使用StrTok时,它一直给我“无效命令:{StrTok}”错误。
请有人告诉我:
如何在卸载宏中使用'StrTok'?
在上面的代码片段中,为什么需要第二行?它意味着什么?
谢谢!
答案 0 :(得分:0)
第一个$ {StrTok}创建了该函数,然后调用该函数。要在卸载程序中使用它,您必须使用$ {UnStrTok}:
!include "StrFunc.nsh"
${StrTok}
${UnStrTok}
Section
${StrTok} ...
SectionEnd
Section Uninstall
${UnStrTok} ...
SectionEnd
修改强> 这是另一个例子(使用NSIS v2.46测试):
!include "StrFunc.nsh"
${UnStrTok}
!macro Uninstall
${UnStrTok} $1 "b,lah" "," "L" "0" ;
MessageBox mb_ok $1
Delete "$temp\un.exe"
!macroend
Section "Uninstall"
!insertmacro Uninstall
SectionEnd
Section "Install"
WriteUninstaller "$temp\un.exe"
SectionEnd