【发布时间】:2013-12-23 14:04:59
【问题描述】:
我编写了一个 NSIS 安装程序,在卸载时必须删除它安装的所有文件。
我已在安装时将已安装文件的列表写入清单文件,并且可以正常工作。
然而,在卸载时,清单的 FileRead 不会返回任何内容;它仍然读取文件的每条记录,但应该包含行内容的变量为空。有趣的是代码在 un.onInit 函数中有效,但在 Uninstall 部分无效。谁能告诉我为什么会这样?
函数如下:
StrCpy $R6 "$myIni\manifest.pf"
FileOpen $6 "$R6" r
FileRead $6 "$line"
${Do}
Delete /REBOOTOK "$INSTDIR$line"
IfErrors fail continue
fail:
DetailPrint "Delete failed, file=$INSTDIR$line"
MessageBox MB_ICONSTOP "path=$line"
Abort
continue:
DetailPrint "Delete $INSTDIR$line"
FileRead $6 "$line"
${LoopUntil} $line == ""
FileClose $6
提前致谢,
史蒂文
【问题讨论】:
标签: nsis uninstallation