【问题标题】:ClickOnce fails with invalid manifest error via programmatic update but not framework updateClickOnce 通过程序更新而不是框架更新失败,并出现无效的清单错误
【发布时间】: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


【解决方案1】:

问题在于从程序集中加载清单,这与控件的许可逻辑没有任何关系。如果为要更新的程序集更改了 .NET 框架,则其他程序集很可能也会出现此问题。

我相信这可能与您遇到的问题相同: http://connect.microsoft.com/VisualStudio/feedback/details/571570/clickonce-deployment-and-net-4-0-framework

以下问题包含一些可能有助于调查的信息: ClickOnce manifest

【讨论】:

    猜你喜欢
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-24
    • 2019-07-29
    • 2013-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多