如何 query/debug NSIS 错误?

How to query/debug NSIS errors?

在我的Installer.nsi。我的卸载程序部分有这个:

ClearErrors

RMDir /r "$InstDir"

IfErrors 0 +2
  MessageBox MB_OK "Unable to uninstall all files."

在卸载过程中,我看到了一个消息框,表明发生了错误。

问题:如何调试导致消息框显示的错误?

当您使用通配符或 /r.

时,NSIS 无法告诉您未能删除哪个文件以及原因

如果你没有很多 files/directories 你可以对每个使用普通的 Delete/RmDir 指令。

从文件系统获取错误代码的唯一方法是使用 Process Monitor 并查看失败的操作。