2

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

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

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

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

即使在重新启动或删除并重新创建整个目录结构后,此错误仍然存​​在。更糟糕的是,它在另一台机器上运行良好。

我已经使用 Process Monitor 来观察目录中文件的使用情况,并且在复制完成后没有任何东西正在打开文件。

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

4

2 回答 2

5

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

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

于 2013-01-09T08:13:16.370 回答
0

我遇到了同样的错误,完整路径小于 260 个字符。

问题

文件:第 77 行的脚本“C:\TFS\XYZProject\Releases\NullsoftInstaller\XYZWin7Installer.nsi”中的错误打开文件“\FOLDERSHARE\XYZSRelease\XYZV1.2.2\AutoCompleteMenu.dll”错误——正在中止创建过程

原因

由于某种原因,当文件位于文件夹共享上时,它无法正常工作(我很肯定这是对公司网络环境的更改),因为它以前可以正常工作。

解决方案

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

于 2016-08-23T05:02:00.820 回答