我发现我们的WiX(v3.9)安装程序正好及时发布(当然)。我们有一个自定义WPF引导程序应用程序,需要运行.Net 4。在干净的Windows 7 x64安装上重现问题的步骤如下:
启动安装程序。由于.Net 4未安装默认值 用于.Net 4(完整包)的bootstrapper启动,我选择安装它。
.Net 4安装完成后,我必须重新启动计算机。
计算机重新启动后,我们的安装程序会自动恢复。点击安装的所有步骤并最终开始安装后,我被告知安装失败。但是当我检查“程序和功能”列表时,我们的应用程序有一个条目,但显然没有安装应用程序(没有安装任何文件)。
以下是存储在日志中的错误:
[07DC:07D8][2015-06-03T13:45:55]i300: Apply begin
[0688:07A4][2015-06-03T13:45:55]i360: Creating a system restore point.
[0688:07A4][2015-06-03T13:46:00]i361: Created a system restore point.
[07DC:0BA8][2015-06-03T13:46:00]i336: Acquiring container: WixAttachedContainer, copy from: C:\ProgramData\Package Cache\{f2234eba-50ab-42cd-a6bf-dca86e2f3fce}\MyInstall.exe
[07DC:0BA8][2015-06-03T13:46:00]i000: Setting string variable 'WixBundleLastUsedSource' to value 'C:\ProgramData\Package Cache\{f2234eba-50ab-42cd-a6bf-dca86e2f3fce}\'
[07DC:0BB4][2015-06-03T13:46:00]e000: Error 0x80070001: Failed to extract all files from container, erf: 1:2:0
[07DC:0BA8][2015-06-03T13:46:00]e000: Error 0x80070001: Failed to wait for operation complete.
[07DC:0BA8][2015-06-03T13:46:00]e000: Error 0x80070001: Failed to open container.
[07DC:0BA8][2015-06-03T13:46:00]e000: Error 0x80070001: Failed to open container: WixAttachedContainer.
[07DC:0BA8][2015-06-03T13:46:00]e312: Failed to extract payloads from container: WixAttachedContainer to working path: C:\Users\testuser\AppData\Local\Temp\{f2234eba-50ab-42cd-a6bf-dca86e2f3fce}\7B32FBD553AC13EB47FDA0D0B59B78C0FE57C7F6, error: 0x80070001.
[07DC:07D8][2015-06-03T13:46:00]e000: Error 0x80070001: Failed while caching, aborting execution.
[07DC:07D8][2015-06-03T13:46:00]i000: [ ApplyComplete ] Failed -2147024895
[07DC:07D8][2015-06-03T13:46:00]i399: Apply complete, result: 0x80070001, restart: None, ba requested restart: No
[07DC:07D8][2015-06-03T13:46:03]i500: Shutting down, exit code: 0x80070001
根据我在google上发现的内容,人们指的是在发生此错误时没有签名的引导程序,但我们过去从未签署过,我们没有证书,因此我认为它必须是其他内容。这个安装程序的新功能是我们正在处理x64文件。
如果我在重新启动后自动恢复安装程序时退出安装程序,然后再次启动安装程序,一切正常。如果它有任何区别,安装程序将安装以下软件包:
如果我在发生错误后再次运行安装程序,我可以在日志中看到检测到捆绑包已安装,但链中的所有包都不存在。
任何想法可能是什么问题以及如何解决它?我感谢任何帮助。