在运行脚本来创建NSIS安装程序时,我收到的错误是我无法弄清楚的。该脚本会复制创建安装程序所需的文件,然后调用makensis
来构建setup.exe。
在使用makensis
进行编译期间,尝试包含在调用makensis
之前复制的目录结构时出错。
错误是:File: failed opening file "..\..\..\My\Long\Path\Name\To\File.ext"
它在用于包含目录结构的File /r
命令的5个目录深的特定文件上可靠地失败。总路径长度为180个字符,因此不会太长。
即使重新启动或删除并重新创建整个目录结构,此错误仍会存在。更糟糕的是,它可以在另一台机器上正常工作。
我已经使用Process Monitor来监视目录中文件的使用情况,并且在复制完成后没有任何打开文件的内容。
知道如何解决这个问题吗?
答案 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 或其他本地目录中。