【发布时间】:2020-10-28 13:19:33
【问题描述】:
我有一个正在运行升级的 WIX 安装程序。
它在绝大多数情况下都能成功完成。但在某些情况下,我得到: “IO.FileNotFoundException:无法加载文件或程序集......或其依赖项之一。系统找不到指定的文件。”
未找到的实际文件不一致,并且在错误之间发生变化。
注意:我有一个将多个 MSI 包装在一起的 WIX 安装。我遇到的错误发生在升级过程本身,我在其中运行一些自定义 c# 代码(以配置机器和环境)。此代码不作为自定义操作运行,而是在所有内部 MSI 完成后运行(并且它们成功完成)。
由于几乎所有时间都成功完成相同的安装程序,我倾向于认为这是一个环境问题,但我无法提出一个合理的理论来启动和测试它。
此升级过程可以在 windows server 2008 r2 上运行到最新的 windows server。
安装程序在继续之前确保所有 .net 框架先决条件都已安装。
任何有关发生这种情况的可能原因的线索将不胜感激。
【问题讨论】:
-
比较前后文件夹时,您发现哪些文件丢失了?二进制文件?配置文件?您自己的文件或运行时组件?有时,在旧设置中意外删除并标记为永久的文件会使新设置看起来有效。我不认为这是你的情况。
-
编辑了问题 - 看到失败发生在升级过程中,而不是在部署的代码中。 AFAIK - 安装程序将自身部署到安装完成后清除的临时文件夹,因此我没有机会比较执行文件夹
-
或许先将安装文件夹复制到桌面,然后与安装后的状态进行diff。如果此捆绑包中有许多 MSI 设置,它们之间可能会有不同的错误。您部署了哪些运行时以及 GAC 是否参与?
标签: c# wix windows-installer