Ошибки сборки решения MSIX Core

У меня есть пакет MSIX, который мне нужен, чтобы разрешить пользователям устанавливать с веб-страницы версии Windows старше, чем Windows 10 build 1709. Это возможно с MSIX Core. Однако документация здесь https://docs.microsoft.com/en-us/windows/msix/msix-core/msixcore-clickonce-solution требует, чтобы решение MSIX Core было построено и опубликовано в Visual Studio 2017. Я пробовал это в Visual Studio 2019, потому что это то, что я установил, но проекты в решении используют устаревшее пространство имен std::experimental::filesystem, которое недоступно в VS 2019. Я установил Visual Studio 2017, но у меня все еще возникают ошибки сборки.

Кто-нибудь успешно создал решение выпуска MSIX Core 1.1?

Спасибо, Бретт Берджесон

1 ответ

РЕДАКТИРОВАТЬ: Microsoft собирается продолжить поддержку ClickOnce в.NET 5.

Вы можете развернуть приложения.NET Core и.NET 5 внутри организации, загружая пакеты msix.

Я много лет успешно использую Clickonce для развертывания бизнес-приложений.NET.

Теперь, когда я обновляю свои приложения до.NET Core, мне хотелось чего-то похожего на Clickonce. Другими словами: публикация вашего установщика в общей сетевой папке и развертывание вашего приложения для автоматического обновления на ваших клиентах, просто скопировав ярлык для вашего установщика.

Вы можете добиться этого с помощью пакетов msix. Проблема в том, что вы ограничены Windows 10 версии 1709 или более поздней.

Решение появилось 19 декабря с MSIX Core 1.1. Упакуйте свое приложение с поддержкой ядра msix, вы можете настроить таргетинг на Windows 7 SP1 и более поздние версии, и это то, что мне нужно, потому что на работе мы медленно переходим на Windows 10 с Windows 7, и мне все еще нужно поддерживать старые версии Windows.

Шаги по упаковке вашего основного приложения.net с использованием ядра msix:

  1. Создайте в своем решении проект упаковки приложения Windows.

  2. Щелкните правой кнопкой мыши подпапку Applications вашего проекта упаковки приложения Windows и выберите Добавить ссылку. Затем выберите свой целевой проект.

  3. Измените свой Package.manifest (ссылка: msix-Packing/MsixCore на 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 с пакетом обновления 1 (sp1).

  4. Щелкните правой кнопкой мыши проект упаковки приложения Windows и выберите "Опубликовать", а затем "Создать пакеты приложений".

  5. Выберите "Неопубликованная загрузка", затем установите флажок "Включить автоматические обновления".

    Выбрать

  6. Чтобы установить пакет на клиентскую машину, вы должны его подписать. Я рекомендую вам создать самозаверяющий сертификат. Вы должны установить сертификат на клиентском компьютере, чтобы пакет был доверенным и вы могли его установить. Если вы находитесь в домене, вы можете развернуть свой самозаверяющий сертификат с помощью групповой политики. Оптимальная ситуация - подписать пакет доверенным сертификатом, предоставленным доверенным корневым центром сертификации. Мой личный выбор - создать сертификат в моем собственном центре сертификации Windows (которому доверяют в моем локальном домене). Если вы решили подписать свой пакет доверенным сертификатом, это командная строка:


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

  1. Выберите "Создать комплект приложений" для "Никогда".

image-20200521005823248

  1. Выберите общий сетевой ресурс для публикации пакета

image-20200521003324900

Чтобы запустить программу установки пакета на компьютерах с Windows 7 с пакетом обновления 1 (SP1), необходимо предварительно установить msixmgrSetup-1.1.0.0-x64.msi или msixmgrSetup-1.1.0.0-x86.msi соответственно. Вы можете найти установщик здесь

Машины с Windows 10 сразу распознают установщик.

Если вы хотите узнать больше о пакетах msix, у вас есть хорошее объяснение здесь

Я надеюсь, что это руководство поможет вам наладить работу вашей системы развертывания.

Другие вопросы по тегам