【问题标题】:.NET Desktop Runtime is required before installation安装前需要 .NET Desktop Runtime
【发布时间】:2022-08-10 16:05:06
【问题描述】:

我在 .NET 5.0 中开发了一个应用程序,另外,我有一个安装项目来在我的客户端中安装这个应用程序。

我的步骤是:

1.- 发布 .NET 5.0 应用程序。 2.- 编译安装项目。 3.- 在客户端安装“2”中生成的setup.exe。

但是当我尝试在我的客户端中安装该程序时,windows 说“此安装需要 .NET Desktop Runtime 的 5.0.0(x64) 版本...所以我必须在每个客户端中下载并安装 SDK。

我的问题是:有什么方法可以避免这个 SDK 安装?我可以在 .NET 5.0 应用程序或安装项目中嵌入 .NET 桌面运行时吗?

提前致谢。

    标签: c# .net visual-studio .net-5 setup-project


    【解决方案1】:

    请参阅.NET application publishing overview,特别是publishing a self-contained application。这样,所有必要的框架文件都将包含在您的应用程序中,而您不会安装要安装的框架。如果已安装 .Net 5,这将稍微增加磁盘要求,因为某些文件将被复制。

    另一种方法是在安装脚本中捆绑 .Net 框架安装程序。这将导致安装文件相当大,除非脚本按需下载框架。但如果有多个使用 .Net 5 的应用程序,它可能会节省一些磁盘空间。

    【讨论】:

    • 我正在发布一个独立的应用程序,但安装项目一直要求我安装 .NET SDK。
    • @RuSSe 如果您有一个单独的安装项目,那么您可能有一些声明指示安装程序安装 SDK。您可能应该描述您正在使用的设置项目(即 WiX 或 Visual Studio 设置)。我会通过设置项目文件查看任何提到 .Net 的内容。以我的经验,UI 通常受限于设置项目。但我会考虑构建一个独立的单文件可执行文件并跳过安装项目。
    • 嗨乔纳斯,它是固定的。在安装项目中有一个选项“启动条件”来编辑安装程序的条件,但我无法删除 .NET Core 条件,“删除”按钮被禁用。因此,我必须编译项目并使用 Orca 编辑生成的 SetupProject.exe,并在表“_VsdLaunchCondition”中删除条件为“VSDNETCoreAvailable”的行。
    • @RuSSe,您可能需要手动编辑设置项目文件。根据我的经验,并非所有选项都显示在 UI 中。
    【解决方案2】:

    继续 projet 菜单/项目属性/发布/需要组件/取消选中你的框架。

    【讨论】:

      猜你喜欢
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 2022-07-25
      • 1970-01-01
      • 1970-01-01
      • 2020-09-21
      • 2014-02-06
      • 1970-01-01
      相关资源
      最近更新 更多