MSIX Core解决方案构建错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MSIX Core解决方案构建错误相关的知识,希望对你有一定的参考价值。

我有一个MSIX软件包,我需要该软件包允许用户从网页上安装早于Windows 10 build 1709的Windows版本。使用MSIX Core可以实现。但是这里的文档https://docs.microsoft.com/en-us/windows/msix/msix-core/msixcore-clickonce-solution要求在Visual Studio 2017中构建和发布MSIX Core解决方案。我已经在Visual Studio 2019中尝试了此操作,因为这是我已安装的内容,但是解决方案中的项目使用了不推荐使用的std :: experimental :: filesystem命名空间,该命名空间不可用在VS 2019中。我安装了Visual Studio 2017,但仍然遇到构建错误。

有人成功构建了MSIX Core 1.1发布解决方案吗?

谢谢,Brett Burgeson

答案

Microsoft在组织中部署.NET Core和.NET 5应用程序的官方方法是侧面加载msix程序包。

多年来,我一直成功使用Clickonce来部署.NET业务应用程序。

现在,我将我的应用程序更新为.NET Core,我希望获得与Clickonce类似的功能:在网络共享中发布安装程序,并通过简单地解决安装程序的快捷方式,将自动更新应用程序部署到客户端。

您可以使用msix软件包来实现。问题是您限于Windows 10版本1709和更高版本

解决方案于12月19日以MSIX Core 1.1出现。通过msix核心支持打包您的应用程序,您可以定位到Windows 7 SP1和更高版本,这是我需要的,因为在工作中我们正逐步从Windows 7过渡到Windows 10,但我仍然必须支持它。

使用msix core打包.net core应用程序的步骤是:

  1. 在您的解决方案中创建Windows应用程序打包项目。

  2. 右键单击Windows应用程序打包项目的Applications子文件夹,然后选择Add Reference。然后选择您的目标项目。

  3. 更改您的Package.manifest(参考:msix-packaging/MsixCore at master · microsoft/msix-packaging · GitHub)右键单击您的Package.manifest文件,然后选择查看代码将您更改为:

  <Dependencies>
    <TargetDeviceFamily Name="MSIXCore.Desktop" MinVersion="6.1.7601.0" MaxVersionTested="10.0.10240.0" />
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.16299.0" MaxVersionTested="10.0.18362.0" />
  </Dependencies>

由此,您将最低版本稳定为MSIXCore.Desktop,即Windows 7 sp1。

  1. 右键单击Windows应用程序打包项目,然后选择“发布”,然后选择“创建应用程序包”。

  2. 选择侧面加载,然后选中启用自动更新。

    “选择”

  3. 为了在客户端计算机中安装软件包,您必须对其进行签名。我建议您创建一个自签名证书。您必须在客户端计算机上安装证书,以便该软件包受信任并可以安装它。如果您在域中,则可以使用组策略部署自签名证书。最佳情况是使用受信任的根证书颁发机构提供的受信任的证书对软件包进行签名。我个人的选择是在自己的Windows证书颁发机构(在我的本地域中受信任)中创建证书。如果您决定使用受信任的证书对软件包进行签名,请使用以下命令行:


  .\SignTool.exe sign /fd SHA256 /a /f yourcert.pfx /p yourpassword *.appx

  1. 选择“将应用程序捆绑包生成为从不。”>

    “图像20200521005823248”

  2. 选择您的网络共享来发布程序包

  3. << img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLmxvbGkubmV0LzIwMjAvMDUvMjEva3Qxb1ltTEtIM3pXYXU1LnBuZyJ9” alt =“图像20200521003324900”>

    为了在Windows 7 sp1计算机中执行软件包安装程序,必须预先安装相应的msixmgrSetup-1.1.0.0-x64.msi或msixmgrSetup-1.1.0.0-x86.msi。您可以找到安装程序here

    Windows 10计算机将立即识别安装程序。

    如果您想了解有关msix软件包的更多信息,请提供很好的解释here

我希望本指南可以帮助您使部署系统正常工作。

以上是关于MSIX Core解决方案构建错误的主要内容,如果未能解决你的问题,请参考以下文章

我可以在 MSIX 包中打包预构建的二进制 exe 吗?

EF Core 添加迁移构建失败

错误 0x01:签署 .msix 包时找不到指定的时间戳

使用 .NET 4.6 和 ASP.NET Core 的 TFS 2017 构建定义

构建apk失败,错误:包android.arch.core.util不存在

Android - 在构建项目时获得多个错误