我的installshield项目构建出现了这样的错误:
“ISDEV:致命错误-1014:无法将目录 * \ Release重命名为 * \ Release.Bak。 Windows资源管理器或DOS提示符可能指向发布输出文件夹(Disk1)的子文件夹或Interm 文件夹,锁定它。更改当前目录。关闭所有打开的文件 在Disk1文件夹中。关闭Msidb.exe,如果它已打开。“
原因是因为在我开始构建之前,我打开了一个win explorer,它指向了release文件夹。不知何故ISDEV认为这是锁定文件夹,所以它拒绝继续重命名。
现在,有没有办法,比如添加某种脚本,强制关闭所有打开的win explorer实例,以便在构建脚本启动之前释放所谓的“锁定”?
谢谢!
答案 0 :(得分:10)
我知道这是一个旧线程,但问题仍然存在。
似乎该错误与另一个锁定文件夹的进程无关。我认为InstallShield正试图重新命名IT仍然有一些文件打开的文件夹。这就是为什么许多传统方法,如关闭资源管理器,甚至重新启动有时都不起作用。
我发现一个相当简单的解决方案是在进行构建之前从Setup项目文件夹中删除文件夹tree \ Express。 InstallShield只是重新创建它,一切正常,因为不需要重命名。
答案 1 :(得分:1)
只要我记得在我的第一个IntallShield中工作,这个问题一直存在。
不要试图击败锁定。只需确保在构建之前不要在发布文件夹上打开资源管理器。但是,您可以导航到其父文件夹或更好:定义post build distribution event。
答案 2 :(得分:0)
我发现删除该文件夹的方法是在预构建事件中添加这样的内容:
RD fullPath\Express /S /Q
由于InstallShield项目与其他项目没有相同的属性,因此我已将其插入到解决方案主项目属性的预构建事件中。
答案 3 :(得分:0)
遇到同样的问题,只需关闭InstallShield并重新打开它,就像魅力一样。
答案 4 :(得分:0)