在编译安装项目时,InnoSetup似乎正在破坏我的可执行文件.执行源文件工作正常,但安装后执行文件会产生Win32错误1006"文件的卷已被外部更改".
我试过禁用压缩和设置各种标志,但无济于事.
有没有人经历过这个?
UPDATE
好的,这种情况有些曲折:
此刻,我甚至可以手动将工作文件复制到安装位置,并获取"文件卷...".要明确:我卸载应用程序,创建相同的文件夹并将文件粘贴到那里并运行.
更新2
对于那些想要它的人的更多细节:InnoSetup脚本由FinalBuilder使用msbuild的输出编译,也由FinalBuilder执行,在我的机器上运行XP SP3.可执行文件是在配置Release | AnyCPU中编译的C#.Net程序集.该文件在安装脚本从中获取的文件夹中执行时有效.它在XP虚拟机上产生相同的行为.源文件和已安装文件的MD5哈希值相同.
小智 17
好的,我刚收到同样的错误.我有一个我的可执行文件使用的配置.我查看了我的文件夹一百万次 - 但最后注意到配置文件的长度为零.我更正了配置并且错误停止了.
先检查最简单的东西......好明天!
以前从未见过。我有一些问题和建议: - 您是否在安装编译期间签署了 EXE?如果是这样,请尝试忽略该部分。- 您正在安装什么操作系统,或者您尝试过的所有计算机上都会发生这种情况吗?
- 使用 /LOG="c:\install.log" 选项运行安装并发布日志。它可能会显示安装过程中发生的事情。- 对源 EXE 和已安装的 EXE 运行字节比较或 MD5 检查。它们是一样的吗?他们有相同版本的资源吗?