如何为 UWP 包安装程序添加 Microsoft.NET.CoreRuntime.2.1?

Posted

技术标签:

【中文标题】如何为 UWP 包安装程序添加 Microsoft.NET.CoreRuntime.2.1?【英文标题】:How to add Microsoft.NET.CoreRuntime.2.1 for UWP package installer? 【发布时间】:2019-01-26 14:32:41 【问题描述】:

我有 Xamarin 应用程序。我可以构建 ipa、APK 和 UWP(.appx) 包。 ipa 和 APK 工作正常。我在安装 UWP 时遇到问题。

UWP 的问题:它要求安装 Microsoft.NET.CoreRuntime.2.1,因为它是依赖项之一。

我需要在项目中添加Microsoft.NET.CoreRuntime.2.1 吗?如果有,在哪里?有人可以推荐吗?

我通过以下步骤创建了包

1:右键UWP项目->商店->选择创建应用包

2:现在在调试模式下,我们不需要将它上传到商店,这就是为什么我 选择No

3:比我给出输出位置的路径。提供版本并选择从不生成应用程序包并选择 x86 和 x64 架构作为要求

4:生成包

创建包后,用户需要手动安装这些Microsoft.NET.CoreRuntime.2.1Microsoft.VCLibs.x64.14.00,它们在包文件夹中给出。

好吧,我认为这不是用户需要手动安装依赖项的理想情况。它应该在项目中,或者应该根据需要自动安装包。

让我告诉你我们如何安装它。我知道有使用 PowerShell 安装的选项,但我对它没有完全了解。

1- 证书安装 - MyApp.UWP_1.0.0.0_x86/MyApp.UWP_1.0.0.0_x64.cer - 点击安装证书 - 选择商店位置为“本地机器” - 点击下一步 - 它会提示您安装证书按“是” - 比选择将所有证书放在以下商店 - 它启用下面带有浏览选项的文本框单击浏览并选择“受信任的根证书颁发机构” - 点击下一步,完成并关闭

2- 安装依赖 - 打开依赖项 --> x86/x64 文件夹 - 安装两个文件

3- 包安装 - 双击“MyApp.appx”

请指导我。

【问题讨论】:

你是如何安装包的?通过 PowerShell?可以分享一下错误截图吗? @Dishant 我不知道如何在 PowerShell 中安装。我在我的问题中添加了我们安装它的方式。你能告诉我如何使用powershell安装吗?所以我也可以试试。谢谢 【参考方案1】:

要求你安装依赖项的原因是你的 UWP 应用对它们有依赖项要求,但你当前的设备操作系统没有安装这些依赖项。如果您从 Microsoft Store 安装您的应用,则应用商店将检查您的应用要求并自动安装您的应用需要但未安装的依赖项。

对于您的问题,您正在旁加载您的 UWP 应用程序,因为没有像 Store 这样的进程来安装您的应用程序需要但未安装在当前设备中的依赖项,因此您需要手动安装依赖项。

一般情况下,您可以从对应版本包的文件夹(与您的 appx 文件相同的文件路径)的 Dependencies 文件夹中找到依赖项。您应该根据您的设备和您的 UWP App appx 平台安装相应的依赖项。

--- 更新---

如果您想使用 PowerShell 安装应用程序,您仍然需要安装依赖项。您可以使用Add-AppxPackage cmdlet 将签名的应用包添加到用户帐户,并使用DependencyPath 参数添加安装应用包所需的所有其他包。请参阅主题 Add-AppxPackage 和 Example 1: Add an app package 以安装应用程序和依赖项。

PS C:\> Add-AppxPackage -Path "C:\Users\user1\Desktop\MyApp.appx" -DependencyPath "C:\Users\user1\Desktop\Microsoft.NET.CoreRuntime.2.1.appx"

【讨论】:

依赖项需要由要安装 appx 的用户手动安装。我只想跳过这个手动安装。这绝不是用户安装依赖项的理想情况。通常,依赖项与 appx 安装一起安装。我可以在我的项目中设置这个依赖项,当用户安装它时,依赖项会自动安装吗?请指导 你知道使用 PowerShell 安装 appx 吗?我的意思是如果我使用 PowerShell 安装,它会自动安装依赖项还是仍然需要用户手动安装? 您可以使用 PowerShell 通过在您的 powershell 中指定包 appx 文件和所有依赖项路径来安装应用程序。我在回复中添加了更新部分,您可以查看。 嗨!我使用与 Add-AppxPackage 相同的命令行执行安装,但是运行该行的 powershell 使用本地系统用户。因此,会显示一个错误,通知不允许用户执行此过程。协商后,我不能使用本地 ADM 用户来执行此操作。有没有办法使用系统来执行这个过程?【参考方案2】:

您也可以使用 .appinstaller 文件。创建一个 .appinstaller 文件并以这种方式安装将引入必要的依赖项。 (它适用于 .appx/.appxbundle 而不仅仅是 .msix/.msixbundle。)请参阅 the docs。

【讨论】:

以上是关于如何为 UWP 包安装程序添加 Microsoft.NET.CoreRuntime.2.1?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 UWP 调整 Telerik UI 的 listviewitem 容器的高度

如何为 Linux 系统中的 SSH 添加双重认证

Pycharm如何为Python程序添加requirements.txt

WPF:如何为程序添加splashScreen?

如何为 SplitView.Pane 添加投影

如何为已发布包的需求添加上限?