首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nsis卸载,FileRead返回null

nsis卸载,FileRead返回null
EN

Stack Overflow用户
提问于 2013-12-06 17:22:20
回答 1查看 140关注 0票数 0

我已经写了一个NSIS安装程序,在卸载时必须删除它安装的所有文件。

我已经在安装时将一个已安装文件的列表写入了一个清单文件,并且可以正常工作。

但是,在卸载时,清单的FileRead不返回任何内容;它仍然读取文件的每条记录,但应包含行内容的变量为空。有趣的是,代码可以在un.onInit函数中工作,但不能在卸载部分中工作。有人能告诉我为什么会这样吗?

下面是函数:

代码语言:javascript
复制
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

提前谢谢你,

史蒂文

EN

回答 1

Stack Overflow用户

发布于 2013-12-06 18:28:24

FileRead的语法为:

代码语言:javascript
复制
FileRead handle user_var(output) [maxlen]

您正在使用"$line"调用它:一个字符串,其中插入了变量$line的值,而不是一个变量。

在你的FilreRead调用中用$line替换"$line",应该没问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20420214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档