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

MSIX: How to achieve automatic install of .net 5 required for my application?

我使用 .NET 5 编写了一个 WPF 程序,将其打包到 MSIX 包(Release、x86 和 x64)中作为依赖于框架的包。一切似乎都很好,但有一件非常烦人的事情:在第一个 运行 应用程序说“.NET 运行time is missing, would you like to install it?”。如果你点击是,下载页面打开,用户必须在 select 需要的 运行 时间下载并安装它。这不是最好的用户体验,我正在考虑如何改进它。

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

我知道我可以定义 dependencies,但我怎样才能找到所需依赖项的正确名称?

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

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

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

上得到了答复

感谢 Matteo Pagani:

if it's an application based on .NET Core / .NET 5 (as I seem to understand from the description), the suggested and best way to distribuite via MSIX is to use the self-deployment approach. Thanks to MSIX features like differential updates and single disk instance, you don't have to worry too much about the increased size, since the runtime will be downloaded only at the first install.

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

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