安装程序编译期间打开文件时出错

时间:2013-01-07 19:25:56

标签: nsis

在运行脚本来创建NSIS安装程序时,我收到的错误是我无法弄清楚的。该脚本会复制创建安装程序所需的文件,然后调用makensis来构建setup.exe。

在使用makensis进行编译期间,尝试包含在调用makensis之前复制的目录结构时出错。

错误是:File: failed opening file "..\..\..\My\Long\Path\Name\To\File.ext"

它在用于包含目录结构的File /r命令的5个目录深的特定文件上可靠地失败。总路径长度为180个字符,因此不会太长。

即使重新启动或删除并重新创建整个目录结构,此错误仍会存在。更糟糕的是,它可以在另一台机器上正常工作。

我已经使用Process Monitor来监视目录中文件的使用情况,并且在复制完成后没有任何打开文件的内容。

知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:5)

完整路径(当前目录+相对路径)必须是< 260个字符。

您确定您的Process Monitor过滤器是否正确,应该采取某种类型的操作然后失败?如果CreateFile失败,则会打印“文件:打开文件失败”消息...

答案 1 :(得分:0)

我得到了同样的错误,完整的路径是< 260个字符。

问题

  

文件:打开文件失败“\ FOLDERSHARE \ XYZSRelease \ XYZV1.2.2 \ AutoCompleteMenu.dll”   第77行脚本“C:\ TFS \ XYZProject \ Releases \ NullsoftInstaller \ XYZWin7Installer.nsi”出错 - 中止创建过程

原因

由于某些原因,当文件位于文件夹共享上时,它不起作用(我很肯定这是对公司网络环境的更改),因为它以前正在运行。

解决方案

将所有文件放在 C:\ Temp 或其他本地目录中。

相关问题