Что такое файлы сопоставления для построения на основе проектов UWP / Centennial и как их создавать?

Я пытаюсь пробиться через некоторую базовую автоматизацию для создания некоторых проектов UWP / Centennial, и я нахожусь в точке, где мне нужно взять подписанный тестовый AppX, распаковать и подписать его, а затем снова упаковать и подписать само приложение. Например,

makeappx unpack /p "%CD%\UpgradeTestAppX_1.0.3.0_x64.appx" /d "%CD%\unpacked" /o /l

Это прекрасно работает, как и запуск инструментов подписи для подписи содержимого внутри "%CD%\unpacked"

Проблема, с которой я сталкиваюсь - это пробел в документации.

/f Определяет файл сопоставления.

/m Указывает путь к манифесту входного приложения, который будет использоваться в качестве основы для создания выходного пакета приложения или манифеста пакета ресурса. Когда вы используете эту опцию, вы также должны использовать /f и включите раздел [ResourceMetadata] в файл сопоставления, чтобы указать измерения ресурса, которые должны быть включены в сгенерированный манифест.

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

... Карта блоков пакета приложения (AppxBlockMap.xml)...

Но тогда есть это:

<mapping file> Имя файла, которое указывает источник пакета и место назначения

Но это не то, что, кажется, соответствует этому другому типу файла, в котором есть слово map, или, по крайней мере, <mapping file> кажется более общим для меня, чем App package block map,

  1. Это <mapping file> за MakeAppX текущая документация такая же как App package block map?
  2. Где я могу сослаться на пример или руководство по этому файлу сопоставления, который помогает мне понять, для чего все это может быть использовано? Если файл сопоставления является AppxBlockMap.xml файл, то я просто хочу узнать, что все можно сделать с ним по прямому назначению.

1 ответ

Решение

Официальный документ описывает файл сопоставления здесь. Если ваша команда makeappx использует только /f, вам не нужно указывать файл ресурсов, тогда ваш файл отображения может быть текстом, который написан следующим образом:

[Files]
"C:\MyApp\StartPage.html"               "default.html"
"C:\Program Files (x86)\example.txt"    "misc\example.txt"
"\\MyServer\path\icon.png"              "icon.png"
"my app files\readme.txt"               "my app files\readme.txt"
"CustomManifest.xml"                    "AppxManifest.xml"

Если вы использовали команду / m, то вы должны использовать / f и включить раздел [ResourceMetadata], как показано ниже:

[ResourceMetadata]
"ResourceDimensions"                    "language-en-us"
"ResourceId"                            "English"

[Files]
"images\en-us\logo.png"                 "en-us\logo.png"
"en-us.pri"                             "resources.pri"
Другие вопросы по тегам