NSIS文件正在使用中检查方法

时间:2014-08-14 06:19:53

标签: nsis

在开始安装之前,我需要检查特定文件是否正在使用中。这不是可执行文件,因此检查进程存在的选项超出了范围。

我的工作是确定当前是否正在使用数据库文件。我想过重命名文件并获取返回码。但遗憾的是,API没有返回代码。现在我正在考虑使用System插件调用MoveFile。任何人都可以提出其他建议吗?

编辑:

FileOpen $0 "$INSTDIR\FILENAME" r
${If} ${Errors}
 MessageBox MB_OK|MB_ICONEXCLAMATION "File in use"
${EndIf}
FileClose $0

我可以通过上述方法实现同样的目标。如果有其他方法,请告诉我。

1 个答案:

答案 0 :(得分:0)

FileOpen可能是执行此操作的最佳方式。重命名更复杂,可能有更多的时间问题。

如果要检查是否可以写入文件,请将FileOpen与a模式一起使用。不确定您的应用程序是否始终打开数据库以进行独占写入访问,或者它是否具有只读模式...