Манифесты функций приложения
Манифесты функций приложений определяют расположение приложений, которые вы хотите включить в изображение. Как и другие манифесты функций, манифесты функций приложений должны быть включены в <AdditionalFMs>
элемент в файле OEMInput.xml изображения, чтобы приложения, определенные в fm приложения, были включены в изображение.
Для первого образа можно одновременно добавить все приложения в папку приложений рабочей области с помощью CreateWSKAppsFM
и UpdateWSKAppsFM
.
Пример манифеста OEMAppsFM.xml
<?xml version="1.0" encoding="utf-8"?>
<FeatureManifest
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.microsoft.com/embedded/2004/10/ImageUpdate" Revision="1" SchemaVersion="1.2">
<AppX>
<AppXPackages>
<PackageFile Path="%WSKWorkspaceRoot%\Apps\Calculator" Name="Microsoft.WindowsCalculator_8wekyb3d8bbwe.appxbundle" LicenseFile="Microsoft.WindowsCalculator_8wekyb3d8bbwe.xml" ID="Microsoft.WindowsCalculator_8wekyb3d8bbwe" Optional="false" />
<PackageFile Path="%WSKWorkspaceRoot%\Apps\Frameworks" CPUType="x86" Name="Microsoft.VCLibs.x86.14.00.appx" ID="Microsoft.VCLibs.140.00_8wekyb3d8bbwe" Optional="false" />
<PackageFile Path="%WSKWorkspaceRoot%\Apps\Frameworks" CPUType="amd64" Name="Microsoft.VCLibs.x64.14.00.appx" ID="Microsoft.VCLibs.140.00_8wekyb3d8bbwe" Optional="false" />
<PackageFile Path="%WSKWorkspaceRoot%\Apps\Frameworks" CPUType="arm" Name="Microsoft.VCLibs.arm.14.00.appx" ID="Microsoft.VCLibs.140.00_8wekyb3d8bbwe" Optional="false" />
<PackageFile Path="%WSKWorkspaceRoot%\Apps\ContosoApp" Name="Contoso.Sampleapp_8wekyb3d8bbwe.appxbundle" LicenseFile="Contoso.Sampleapp_8wekyb3d8bbwe.xml" ID="Contoso.Sampleapp_8wekyb3d8bbwe" Optional="false" />
</AppXPackages>
</AppX>
</FeatureManifest>
Необязательные приложения
Скрипты в системном комплекте Windows настраивают каждое приложение в приложении FM, чтобы они были включены в образ. Вы можете изменить fm приложения таким образом, чтобы определенные приложения были специально добавлены в OEMInput.xml быть включены в изображение.
Каждое приложение, включенное в приложение FM, имеет Optional
атрибут, который определяет, будет ли приложение автоматически включено в изображение или приложение необходимо вручную включить в изображение, добавив его ID
в OEMInput.xml.
Если вы используете один сопутствующий набор для нескольких образов, пометка приложений как необязательных позволяет включить приложения в определенные конфигурации образов. Fm приложения в этом сценарии может включать все приложения в сопутствующий набор, а также указывать:
- Базовый набор приложений, которые будут включены во все образы
- Набор необязательных приложений, которые можно вручную добавить в определенные файлы OEMInput.xml.
Приложения, помеченные как необязательные, не будут включены в изображения, если вы специально не включите их в макет изображения. Это позволяет повторно использовать манифест функции приложения для нескольких изображений.
Работа с необязательными приложениями
Чтобы указать приложение как необязательное и добавить его вручную в изображение, выполните указанные ниже действия.
Выберите приложение, которое будет отмечено как необязательное.
В FM приложения измените атрибут приложения
Optional
на"true"
. Приложение помечается как необязательное, и оно больше не будет включено во все изображения.<PackageFile Path="%WSKWorkspaceRoot%\Apps\ContosoApp" Name="Contoso.Sampleapp_8wekyb3d8bbwe.appxbundle" LicenseFile="Contoso.Sampleapp_8wekyb3d8bbwe.xml" ID="Contoso.Sampleapp_8wekyb3d8bbwe" Optional="true" />
Запишите идентификатор приложения, например
ID="Contoso.Sampleapp_8wekyb3d8bbwe"
. Не изменяйте этот идентификатор, иначе сборка образа завершится ошибкой.Если вы приобрели приложение в Microsoft Store, имя семейства пакетов можно найти в лицензии приложения. Откройте файл лицензии в текстовом редакторе и используйте значение между тегами PFM.
Добавьте необязательное приложение в изображение, добавив идентификатор в качестве
<AppXID>
значения в OEMInput.xml:<AppXOptionalPackages> <AppXID>Contoso.Sampleapp_8wekyb3d8bbwe</AppXID> </AppXOptionalPackages>
Вы также можете указать приложение как зависят от архитектуры, добавив CPUType="
(arch)"
. При сборке образа файлы, которые не соответствуют типу архитектуры, исключаются.
Синтаксис командной строки SetAppsRegion
SetAppsRegion -AppName <AppName> -Region <Region> [-OEMAppsFMPath <path>]
SetAppsRegion -AppName HelloWorld_1.0.0.0_x64.appx -Region en-us,de-de
Параметр | Описание |
---|---|
-AppName | Имя файла приложения.
Name Используйте атрибут в элементе <PackageFile> для приложения. |
-Регионе | Регион или регионы, в которых приложение должно быть доступно. При указании нескольких регионов разделяйте их с помощью , : -Region en-us,de-de |
-OEMAppsFMPath | Путь к FM приложения. Значение по умолчанию — %WSKWorkspaceRoot%\FMFiles\OEMAppsFM.xml . |