MSIX — новая технология упаковки от Microsoft, эффективно использующая лучшие свойства setup.exe, MSI, Windows ClickOne, App-V и script.vbs. За прошедшие 10 лет это первое упаковочное решение от Microsoft. .

Свобода в формировании пакетов означает выход из замкнутого круга действий по получению приложения, его упаковки для развертывания, обновления Windows, обновления приложения для новой операционной системы, создания нового пакета для обновленной операционной системы, следующего обновления операционной системы Windows и т. д.

MSIX сохраняет функциональность существующих пакетов приложений, позволяя повторно использовать и конвертировать их, одновременно добавляя новые современные возможности упаковки и развертывания, такие как:

  • безопасность за счет использования подписи кода и, следовательно, развертывания доверенных приложений. Такой уровень безопасности поможет вашей организации перейти к использованию функции управления приложениями Защитника Windows (WDAC);
  • чистое, бесследное удаление;
  • оптимизация использования диска и сети. Например, при установке приложения устанавливаются только различия между версиями v1 и v2.

Новое средство формирования пакетов от Microsoft позволяет создавать MSIX-пакет для любого приложения Windows. С момента выпуска ConfigMgr 1806 можно включать формат MSIX при создании приложения, предназначенного для развертывания, как показано на экране 1.

MSIX-пакет для любого приложения Windows
Экран 1. MSIX-пакет для любого приложения Windows

С выпуском ConfigMgr 1810 появилась возможность конвертирования существующих MSI-файлов приложений прямо из консоли. Есть, однако, некоторые ограничения и необходимые условия.

Ограничения

  • В окне консоли ConfigMgr 1810 не предусмотрена возможность цифровой подписи приложения, поэтому его необходимо подписать после того, как оно было создано, что делается с помощью утилиты Signtool из Windows 10 SDK.

Необходимые условия

  • Чистая эталонная система для формирования пакетов (в идеале виртуальная машина) с Windows 10 версии 1809 или более новой. На системе не должно быть установленных приложений, за исключением необходимых компонентов.
  • На устройстве Windows 10 должна быть установлена консоль ConfigMgr.
  • Средство формирования пакетов MSIX, установленное на устройстве Windows 10 из магазина Windows.
  • Пакет Windows 10 SDK для версии 1809, который можно загрузить по ссылке: https://howtomanagedevices.com/windows-10-sdk-tools/.
  • Учетная запись с правами администратора на устройстве Windows 10, которая будет использоваться для запуска процесса формирования пакета MSIX через консоль.

Чтобы запустить процесс создания первого MSIX-файла приложения, необходимо получить сертификат подписи кода. Сертификат может быть выпущен публично либо выдан внутренним центром сертификации. Процессу создания сертификата подписи кода посвящена публикация в блоге Microsoft по адресу: https://blogs.technet.microsoft.com/ukplatforms/2017/05/04/create-code-integrity-signing-certificate.

В упомянутой публикации следует отметить некоторые важные моменты.

  • Убедитесь, что ваши параметры безопасности установлены правильно, чтобы впоследствии можно было зарегистрировать сертификат.
  • Разрешите экспорт закрытого ключа.
  • На эталонном устройстве Windows 10 от имени текущего пользователя загрузите MMC и запишите общее имя, заданное для сертификата, которое необходимо будет указать при конвертировании приложения в MSIX-файл.
  • Если используется внутренний центр сертификации, убедитесь, что на устройствах, для которых это необходимо, развернут доверенный корневой сертификат.

Выполнив все перечисленное выше, вы будете готовы к конвертированию существующих MSI-файлов приложений в окне консоли ConfigMgr. Пройдя по цепочке Software Library, Overview, Application Management, Applications, найдите приложение, которое требуется конвертировать (в примере на экране 2 для конвертирования выбран пункт ConfigMgr 2012 Toolkit MSI). Меню, которое открывается правым щелчком мыши на приложении, содержит пункт Convert to.MSIX, недоступный для выбора в случае приложения некорректного типа. Пункт Convert to.MSIX также представлен на ленте консоли.

Пункт меню Convert to .MSIX
Экран 2. Пункт меню Convert to .MSIX

Далее запускается мастер преобразования в формат MSIX. Если необходимые условия не выполнены, на данном этапе выдается соответствующее предупреждение.

На экране 3 обратите внимание на флажок включения отправки Microsoft диагностических данных о средстве формирования пакетов. Для улучшения сервиса стоит оставить его включенным.

Флажок включения отправки Microsoft диагностических данных
Экран 3. Флажок включения отправки Microsoft диагностических данных

На экране 4 необходимо указать имя субъекта сертификата, которое должно совпадать с общим именем, введенным ранее при регистрации сертификата. Также на этом этапе необходимо указать место сохранения выводимого MSIX-файла.

Имя субъекта сертификата
Экран 4. Имя субъекта сертификата

Так как в версии ConfigMgr 1810 подписание приложения не предусмотрено, для подписи необходимо использовать утилиту Signtool из Windows 10 SDK. После установки SDK перей­дите к папке C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64 в окне командной строки администратора.

Более подробные сведения об утилите Signtool и ее параметрах можно найти в статье по адресу: https://docs.microsoft.com/en-us/dotnet/framework/tools/signtool-exe. Синтаксис команды, которую необходимо выполнить, следующий:

signtool sign /fd /a /f.pfx /p.MSIX

На экране 5 показано уведомление, которое выдается в случае успешного подписания.

Выполнение подписи сертификата
Экран 5. Выполнение подписи сертификата

Итак, приложение готово к развертыванию. В приведенном ниже примере установка MSIX-файла осуществляется вручную; однако, как уже говорилось, эта возможность может быть включена в ConfigMgr и выдана через Центр программного обеспечения.

Прежде всего, однако, необходимо разрешить загрузку неопубликованных приложений MSIX на ваших устройствах с Windows 10.

Это можно сделать вручную с помощью комбинации Settings, Update & Security, For developers или с использованием групповой политики для реализации данной установки во всей вашей среде. Необходимо применить следующую политику: Computer Configuration, Administrative Templates, Windows Components, App Package Deployment, Allow all trusted apps to install.

Установим наше первое MSIX-прило­жение. Двойным щелчком на MSIX-файле открывается окно установки, где можно отметить флажок запуска приложения сразу после установки и нажать кнопку установки (экран 6).

Установка MSIX-приложения
Экран 6. Установка MSIX-приложения

Это дополнение к консоли обеспечивает удобный способ быстро и эффективно конвертировать существующие MSI-файлы в новый формат.

Чтобы детально ознакомиться с возможностями технологии MSIX, ее можно использовать независимо от консоли ConfigMgr. Данное средство формирования пакетов позволяет определять задания запуска, а также создавать пакет изменений.

Пакет изменений — это специальный пакет MSIX, который зависит от основного пакета и не может быть установлен отдельно. Его можно использовать для индивидуальной настройки приложения. Каждый раз при изменении установок достаточно лишь изменить пакет изменений. В качестве пакета изменений могут быть упакованы дополнения или подключаемые модули. Я надеюсь, что со временем эти гибкие возможности будут добавлены в консоль ConfigMgr, что позволит задействовать ее как универсальный интерфейс для формирования пакетов и развертывания.