MSIX:如何实现我的应用程序所需的 .net 5 的自动安装?

问题描述

我使用 .NET 5 编写了一个 WPF 程序,并将其作为依赖于框架的包打包到 MSIX 包(版本、x86 和 x64)中。一切看起来都很好,但有一件非常烦人的事情:在第一次运行时,应用程序说“.NET 运行时丢失,您要安装它吗?”。如果您单击“是”,则会打开下载页面用户必须在其中安装选择所需的运行时,下载并安装它。不是最好的用户体验,我正在考虑如何改进它。

是否可以选择添加 .net 5 运行时(x86 或 x64,取决于用户系统,或者两者)作为依赖项,以便自动安装?

我知道我可以定义 dependencies,但是如何为所需的依赖项找到正确的名称

另外,我知道可以定义 custom install action 但我还没有尝试过,因为我想找到一个更简单的解决方案。看起来对于那个选项,我必须创建一个小应用程序或脚本来检查所需的运行时是否存在,如果不存在 - 检查平台并要求用户安装运行时的特定版本。也不是最好的用户体验。

当然,我仍然可以选择自包含,但我不想每次都分发这么多兆字节的 .net,尤其是考虑到我希望经常更新的事实。

解决方法

幸运的是,我在 techcommunity.microsoft.com

上得到了答复

感谢 Matteo Pagani:

如果它是基于 .NET Core / .NET 5 的应用程序(我似乎从描述中了解到),建议和最好的通过 MSIX 分发的方法是使用自部署方法。得益于差异更新和单磁盘实例等 MSIX 功能,您不必过分担心增加的大小,因为只会在第一次安装时下载运行时。

依赖项不合适,因为还没有适用于 .net 5 的软件包。

自定义安装操作是可能的,但更复杂,所以我决定使用独立安装。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...