【问题标题】:How to install .NET 4 during a ClickOnce installation如何在 ClickOnce 安装期间安装 .NET 4
【发布时间】:2011-12-20 16:43:25
【问题描述】:

目前我的应用程序的所有用户都安装了 .NET 2.0 并通过 ClickOnce 启动它。用户启动此应用程序的方式是单击其他页面中引用 IIS 中的 .application 文件的链接。还有一些用户在他们的桌面上有一个指向同一个链接的快捷方式。

我最近将我的应用升级到 .NET 4 CP,我需要创建一个新部署。问题是大多数用户没有安装 .NET 4,所以在这个新部署中,我必须确保他们会被提示安装它。

如果我只是部署它并要求用户打开新的 ClickOnce 链接,他们会看到一条消息,说他们需要 .NET 4,然后“联系您的系统管理员”。我生成了引导程序,但因为应用程序是通过 .application 文件直接启动的,所以我认为它永远不会工作。

我唯一的解决方案是创建另一个使用 .NET 2.0 开发并用作“启动器”的 ClickOnce 应用程序。这个小应用程序将检查是否安装了 .NET 4。如果是,则启动新应用程序(另一个链接),否则启动 .NET 4 安装程序并要求用户在重新启动后重试。

我希望为用户提供一个更简单的流程,有人知道吗?创建自定义安装程序似乎无法解决我的问题,因为它必须在尚未安装的 .NET 4 中运行。

【问题讨论】:

  • 一定要针对 4.0 客户端配置文件,它正在被 ms 更新积极推送。
  • 问题是一些用户仍然有 XP,这是一个公司网络,所以不是所有的 MS 更新都会自动安装。
  • 为什么会有人选择使用 4.0 客户端配置文件?
  • @alex:对不起,如果我不清楚。以客户资料为目标本身并不是一种替代方法。但是,它可以显着减少框架安装的数量,具体取决于目标受众。
  • 啊,现在我看到您已经针对客户配置文件 = CP。

标签: .net installation clickonce


【解决方案1】:

This msdn article 解释了如何从用户代理字符串中检测 .net 版本。根据这一点,您可以将链接添加到您的 4.0 clickonce 应用程序或引导程序。然后您还可以在页面中说明该链接将启动安装程序,而不是应用程序。

不,我自己从来没有这样做过,所以没有担保人.....

【讨论】:

    【解决方案2】:

    转到您的项目属性,然后选择publish tab,然后单击PreRequisites,然后选择.Net Framework 4.0,然后选中“从与我的应用程序相同的位置下载先决条件”。

    【讨论】:

    • 那不行。正如我所解释的,应用程序是通过直接打开指向 .application 文件的链接来启动的。引导程序永远不会被调用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 2010-10-27
    • 2011-04-10
    相关资源
    最近更新 更多