настройка приложений Enterprise с помощью пакетов изменений

Возможность настройки взаимодействия с приложением важна, особенно для предприятий. Мы работаем над ИТ-специалистами и знаете, что настройка приложений в соответствии с потребностями пользователей очень необходима для перехода на Windows 10. При настройке приложений, упакованных с помощью MSI, хорошо понимается, что ИТ-специалисты должны получить пакет от разработчиков и повторно упаковать установщик с настройками в соответствии со своими потребностями. Это дорогостоящие усилия для предприятий. Перемещаясь вперед, мы хотим отделить настройку и основное приложение, чтобы повторно упаковать больше не нужно. Это гарантирует, что предприятия получают последние обновления от разработчиков, сохраняя при этом контроль над их настройками.

в Windows 10, версия 1809 мы представили новый тип пакета MSIX, именуемый пакетом модификации. Пакеты изменений — это MSIX пакеты, в которых хранятся настройки. Пакеты изменений также могут быть подключаемыми модулями или надстройками, которые могут не иметь точки активации. ИТ-специалисты могут использовать эту функцию для гибких контейнеров изменений MSIX, чтобы приложения были перемещаются по настройкам предприятия.

Принцип работы

Пакеты изменений предназначены для предприятий, которые не владеют кодом приложения и имеют только установщик. пакет изменений можно создать с помощью последней версии средства упаковки MSIX (для Windows 10 версии 1809 или более поздней). Если у вас есть код для приложения, можно также создать расширение приложения.

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

<Dependencies>
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.15063.0"/>
    <uap4:MainPackageDependency Name="Main.App"/>
</Dependencies>

В следующем примере показано, как указать другой сертификат или издатель.

<Dependencies>
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.15063.0"/>
    <uap4:MainPackageDependency Name="Main.App" Publisher="CN=Contoso, C=US" />
</Dependencies>

Это простая конфигурация, если связь между пакетом изменений и основным пакетом — один к одному. Типичные настройки часто занимают разделы реестра в разделе HKEY_CURRENT_USER или HKEY_CURRENT_USERCLASS. Внутри нашего пакета MSIX у нас есть файлы user. dat и userclass. dat для записи разделов реестра. Необходимо создать User. dat, если вам нужны разделы реестра в разделе Хкку\софтваре * (так же, как Registry. dat используется для HKLM\Software * ). Используйте userclass. dat, если вам нужны ключи в разделе Хкку\софваре\классес * .

Ниже приведены типичные способы создания файла. dat.

  • Используйте Regedit для создания файла. Создайте куст реестра в Regedit и вставьте необходимые ключи. По сравнению с щелчком правой кнопкой мыши, экспортом и сохранением файла Hive. Убедитесь, что имя файла — User. dat или userclass. dat.

  • Используйте API для создания необходимых файлов. Для сохранения dat-файла можно использовать функцию орсавехиве . Убедитесь, что имя файла Ether User. dat или userclass. dat

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

Узнайте, какие пакеты изменений установлены на вашем устройстве

С помощью PowerShell можно просмотреть установленные пакеты изменений с помощью следующей команды.

Get-AppPackage -PackageTypeFilter Optional

пакеты изменений на Windows 10, версия 1809

в Windows 10, версия 1809 пакеты изменений могут включать конфигурации, необходимые для настройки в реестре так, чтобы основной пакет запускался должным образом. Это означает, что основное приложение использует реестр для просмотра того, существует ли подключаемый модуль. После развертывания главного пакета и пакета изменений выполняемое приложение будет просматривать виртуальный реестр (VREG) для обоих пакетов.

Обратите внимание, что ваш основной пакет может использовать VREG для выполнения следующих задач:

  • Просмотр места загрузки файла (DLL) подключаемого модуля. В таком случае убедитесь, что файл является частью пакета. Так главный пакет сможет обращаться к файлу во время выполнения.
  • Просмотр расположения для определения значения реестров VREG. Ваш основной пакет может искать значения, которое должно существовать во VREG. При создании пакета изменений вручную или с помощью нашего средства убедитесь, что значение является правильным.

пакеты изменений на Windows 10, версия 1903 и более поздние

В Windows 10 версии 1903 были добавлены следующие функции.

Обновление манифеста

Мы добавили в манифест пакета MSIX с изменениями поддержку следующего элемента:

<Properties>
   <rescap6:ModificationPackage>true</rescap6:ModificationPackage>
</Properties>

Чтобы пакеты с изменениями работали в версии 1903 или более поздней, манифест такого пакета должен включать этот элемент. Он будет добавляться автоматически при создании пакета MSIX с изменениями с помощью январского выпуска средства упаковки MSIX. Если вы преобразовали пакет с помощью этого средства ранее, вы можете изменить его в средстве упаковки и добавить новый элемент. Кроме того, при установке пакета с изменениями пользователем отобразится оповещение о том, что пакет может изменить основное приложение.

Если вы используете пакет изменений, созданный до версии 1903, необходимо изменить манифест пакета, чтобы обновить MaxVersionTested атрибут на 10.0.18362.0.

<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17701.0" MaxVersionTested="10.0.18362.0" />

Создание пакета изменений с помощью средства упаковки MSIX

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

  • Определите основной пакет. Убедитесь, что версия MSIX основного пакета установлена на компьютере, на котором выполняется преобразование. В противном случае вам нужно вручную указать сведения об издателе и основном приложении. Также для некоторых конфигураций требуется, чтобы основное приложение было установлено на вашем компьютере. Пакеты изменений — MPT

  • После преобразования пакет можно изменить один раз с помощью редактора пакетов. Иногда для основного пакета требуется, чтобы с пакетом изменений были связаны определенные значения во VREG. В таком случае вам нужно изменить этот пакет соответствующим образом.

Создание пакета изменений с помощью MakeAppx.exe

пакет модификации можно создать вручную с помощью средства MakeAppX.exe , включенного в пакет SDK для Windows 10.

  • В манифесте определите основной пакет. Укажите издателя и имя основного пакета.

    <Dependencies>
      <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17701.0" MaxVersionTested="12.0.0.0"/>
      <uap4:MainPackageDependency Name="HeadTrax" Publisher="CN=Contoso Software, O=Contoso Corporation, C=US" />
    </Dependencies>
    
  • Создайте Registry.dat, User.dat и Userclass.dat, чтобы создать разделы реестра, требуемые для загрузки пакета изменений. Так основное приложение сможет просматривать пользовательские разделы реестра. Помните, что все компоненты выполняются в контейнере, поэтому во время выполнения виртуальные реестры основного пакет и пакета изменений будут объединены, чтобы основной пакет мог просматривать виртуальный реестр пакета изменений.

Этот процесс также поддерживает конфигурации и подключаемые модули файловой системы файлов, так как исполняемый файл основного приложения не находится в виртуальной файловой системе (VFS). Это гарантирует, что основной пакет получит доступ к VFS основного пакета и пакета изменений.

Установка пакетов изменений на компьютере

Установка пакетов изменений на компьютере проходит по другим правилам установки. Стоит отметить, что при установке пакета может потребоваться использовать параметр -оптионалпаккажепас .