gpt4 book ai didi

.net - 转换为 .NET 4 后 ClickOnce 升级失败

转载 作者:行者123 更新时间:2023-12-04 14:52:09 25 4
gpt4 key购买 nike

我们的应用程序是通过 ClickOnce 部署的 .NET 3.5。我们只是升级到 .NET 4.0 并适本地更新了先决条件。

对于初次使用的用户或通过设置 HTML 页面安装的用户,安装仍然可以正常工作。它将自动为他们安装 .NET 4 框架。但是,已经安装应用程序并尝试通过开始菜单运行它的用户会收到提示:

“无法安装或运行此应用程序。此应用程序需要您的系统更新到 Microsoft 公共(public)语言运行时版本 4.0.30319.0。可以在此处找到更多信息”(链接到 MS 网站)

为什么它不像从 html 页面运行它时那样自动安装 .NET 4.0?它甚至没有提供下载更新的选项。我们需要一个无缝的解决方案,让我们的客户无需手动重新安装即可升级到新应用程序。

最佳答案

阅读 this question and answer第一的。

这是您的场景中发生的事情。

  • “对于初次使用的用户来说,安装效果很好……”
    实际上,这适用于访问 html 页面的任何用户,而不仅仅是初次使用的用户。 html 页面有一些脚本检查 4.0 框架的用户代理字符串。如果他们没有它,它会给他们一个解释,并告诉他们从指向 Visual Studio 创建的 Bootstrap (setup.exe) 的链接安装它。这与 ClickOnce 完全不同; ClickOnce 在单击 .application 文件的链接或运行 setup.exe 之前不会执行任何操作,该 setup.exe 会在完成时启动 .application 文件。
  • “已经安装应用程序并尝试通过开始菜单运行它的用户......”
    这里发生的是应用程序正确更新。他们得到最新版本。只有他们不能运行最新版本,因为它是一个 .Net 4.0 可执行文件并且他们没有 4.0 框架。

  • 在这一点上,你有几个选择......
  • 忍受它。告诉用户他们需要访问 html 页面以获取 4.0 框架。
  • 回滚到 3.5 并向您的应用添加自定义代码,以检查是否安装了 4.0、警告用户并为他们提供指向新 4.0 setup.exe 文件的链接。然后在人们有机会安装它的几周后升级到 4.0。如果您的用户只是偶尔运行该应用程序,这可能无法正常工作。
  • 回滚到 3.5 并将 ClickOnce 更新更改为在应用程序启动之后而不是之前发生。这将使您有机会编写自定义代码来确定更新是否发生并告诉用户。
  • 关于.net - 转换为 .NET 4 后 ClickOnce 升级失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3755303/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com