【发布时间】:2012-02-27 05:36:01
【问题描述】:
几年来,我们一直在通过 ClickOnce 分发 WPF 应用程序。我正在本地测试即将推出的更新,该更新会将其从 .NET 3.5 升级到 .NET 4.0(如果用户还没有升级他们的 .NET 版本,则会提前警告他们)。
我们通过“检查更新”菜单项以编程方式执行 ClickOnce 更新。我发现对于这个特定的更新,它通过 API 成功下载了更新,但是当它尝试安装时,我收到了与 Infragistics DLL 有关的错误:
“从文件 InfragisticsWPF4.DataPresenter.v11.1.dll 加载清单时发生异常:清单可能无效或无法打开文件。”
这会导致应用程序在那里关闭。然后,当我尝试从快捷方式重新启动它时,我得到 ClickOnce 框架自己的“可用更新”对话框,因为该应用程序仍然不是最新的 - 当我让它更新时,它成功地重新下载、安装和启动美好的。整个过程我测试了好几次,都是一致的。
我不知道这是否与 Infragistics 有任何关系,但作为更新的一部分,几个 Infragistics DLL 正在从 WPF3 升级到 WPF4。
【问题讨论】:
-
有趣...我以前与 ClickOnce 合作过,我知道使用他们的许可文件和分发他们的 DLL(这是合法的,对于初学者来说是合法的)有时会让人头疼。我的预感是,问题与缓存的许可代码和缓存的 DLL 实例有关,这些 DLL 在内存中运行或正在检查当前安装的正在升级的实例。不过,我不知道如何解决这个问题,但如果我遇到这个问题,我几乎可以肯定这是 Infragistics 许可系统的问题。
-
我怀疑你是对的,我们过去在 Infragistics 许可方面遇到过问题。我们决定放弃程序化更新检查,只使用框架的启动前检查。干杯。
标签: clickonce manifest infragistics