Поделиться через


Параметры командной строки MakePri.exe

MakePri.exe содержит набор командcreateconfig, , dump, newresourcepackи versioned. В этом разделе описаны параметры командной строки для их использования.

Примечание.

MakePri.exe устанавливается при проверке параметра windows SDK для управляемых приложений UWP при установке пакета средств разработки программного обеспечения Windows. Он устанавливается в путь %WindowsSdkDir%bin\<WindowsTargetPlatformVersion>\x64\makepri.exe (а также в папках с именем для других архитектур). Например, C:\Program Files (x86)\Windows Kits\10\bin\10.0.17713.0\x64\makepri.exe.

Получение справки из командной строки

Вы можете выполнить MakePri.exe help или MakePri.exe /? просмотреть команды, которые можно использовать с MakePri.exe. Вы также MakePri.exe <command> /? можете просмотреть конкретные сведения о команде и, в очень редких случаях, даже MakePri.exe <command> <option> чтобы увидеть особенности о параметре.

Команды MakePri

C:\>makepri help

Usage:
------
    MakePri.exe <command> [options]

Example:
--------
    MakePri.exe new /cf C:\MyApp\priconfig.xml /pr C:\MyApp\src\ /in PackageName

Description:
------------
    Creates, dumps, and performs utility functions on a PRI file. A PRI file is 
    an index of application resources, such as strings and image files.

Command Options:
----------------
    MakePri.exe createconfig   Creates a PRI config file for use with other
                               commands
    MakePri.exe dump           Dumps the contents of a PRI file
    MakePri.exe new            Creates a new PRI file from scratch
    MakePri.exe resourcepack   Creates a PRI file that contains additional
                               resource variants for a base PRI file
    MakePri.exe versioned      Creates a PRI file based on a previous version

Help:
-----
    MakePri.exe help           Show this help page
    MakePri.exe <command> /?   Shows detailed help for <command>

    For example,
    MakePri.exe createconfig /?

Команда Createconfig

Команда createconfig создает новый инициализированный файл конфигурации PRI, определяющий заданные значения по умолчанию квалификатора. Запустите MakePri.exe createconfig /? , чтобы просмотреть подробную справку для этой команды.

C:\>makepri createconfig /?

Usage:
------
    MakePri.exe createconfig /cf <config file destination> /dq
    <default qualifiers> [options]

Example:
--------
    MakePri.exe createconfig /cf C:\MyApp\priconfig.xml /dq lang-en-US /o /pv 10.0.0

Description:
------------
    Creates a PRI configuration file at <config file destination> with default 
    qualifiers specified by <default qualifiers>. Multiple qualifiers are separated 
    by underscores (_)

Required Parameters:
--------------------
    /ConfigXml(cf)    : <FILEPATH> Configuration file output location
    /Default(dq)      : <QUALIFIERS> The default qualifiers to set in the
                        configuration file. A language qualifier is required

Options:
--------
    /ExtensionDll(ex) : <FILEPATH> Location of the Resource Management System
                        environment extension DLL. This DLL must be signed by
                        a Microsoft-issued certificate. Default is an empty path
                        (no DLL will be used)
    /Overwrite(o)     : Overwrite an existing output file of the same name
                        without prompting
    /Platform(pv)     : <VERSION> Platform version to use for generated
                        configuration file

    FILEPATH          - a path to a file, either relative to the current
                        directory or absolute
    QUALIFIERS        - a valid qualifier token
                        (for example, lang-en-US_scale-100_contrast-high)

Help:
-----
    /Help(h, ?)       : Display the usage help text

Команда дампа

Команда dump выводит дамповый XML-файл, содержащий список всех ресурсов в указанном файле PRI. Запустите MakePri.exe dump /? , чтобы просмотреть подробную справку для этой команды.

Примечание.

Пакет ресурсов без схемы — это пакет ресурсов, созданный с параметром omitSchemaFromResourcePacks в файле конфигурации PRI. Чтобы дампать пакет ресурсов без схемы, используйте параметр /es <main_package_PRI_file>. Если вы не укажете основной файл, появится сообщение об ошибке "Resources.pri в пакете повреждено, поэтому сбой шифрования (ошибка PRI222: 0xdef0000f - произошла непреднаказанная ошибка)".

C:\>makepri dump /?

Usage:
------
    MakePri.exe dump [options]

Example:
--------
    MakePri.exe dump /if C:\MyApp\resources.pri /of C:\resources.pri.xml

Description:
------------
    Outputs a dumped xml file at <output file> containing a list of all 
    resources in <index file>.

Options:
--------
    /DumpType(dt)       : <STRING> Format of the dumped file, default is
                          Basic
    /ExtensionDll(ex)   : <FILEPATH> Location of the Resource Management System
                          environment extension DLL. This DLL must be signed by a
                          Microsoft-issued certificate. Default is an empty path
                          (no DLL will be used)
    /ExternalSchema(es) : <FILEPATH> Location of the external schema file
    /IndexFile(if)      : <FILEPATH> Location of the PRI file to dump from.
                          Default is .\resources.pri
    /OutputFile(of)     : <FILEPATH> Output location of the dump file, default
                          is .\[indexfile].xml
    /OutputOptions(oo)  : <OPTIONS> Options to provide detailed control over
                          contents of XML output files.
    /Overwrite(o)       : Overwrite an existing output file of the same name
                          without prompting
    /Verbose(v)         : Causes verbose messages to be output to the console

    Dump Type:
        Either 'Basic', 'Detailed', 'Schema', or 'Summary'

    FILEPATH            - a path to a file, either relative to the current
                          directory or absolute
Help:
-----
    /Help(h, ?)         : Display the usage help text

Новая команда

Команда new создает новый файл PRI, индексируя файлы в проекте, как показано в файле конфигурации. Запустите MakePri.exe new /? , чтобы просмотреть подробную справку для этой команды.

C:\>makepri new /?

Usage:
------
    MakePri.exe new /cf <config file> /pr <project root> [options]

Example:
--------
    MakePri.exe new /cf C:\MyApp\priconfig.xml /pr C:\MyApp\src\ 
    /mn C:\MyApp\AppXManifest.xml /o /of C:\MyApp\src\resources.pri

Description:
------------
    Creates a PRI file at <output file> by indexing all files in
    <project root> and its subdirectories as directed by <config file>. The
    index will be assigned <index name> to reference resources in the app

Required Parameters:
--------------------
    /ConfigXml(cf)    : <FILEPATH> Configuration file location. Use the
                        'Makepri.exe createconfig' command to generate one
    /ProjectRoot(pr)  : <FOLDERPATH> Root location of project files

Options:
--------
    /AutoMerge(am)    : This flag is not recommended for normal use with .appx
                        packages. It causes Makepri.exe to set the auto
                        merge flag within the PRI file. Default is not set.
    /ExtensionDll(ex) : <FILEPATH> Location of the Resource Management System
                        environment extension DLL. This DLL must be signed by
                        a Microsoft-issued certificate. Default is an empty path
                        (no DLL will be used)
    /IndexLog(il)     : <FILEPATH> XML Log of indexed resources, no file
                        generated by default
    /IndexName(in)    : <STRING> Name for the generated index of resources.
                        Typically matches the .appx package name, class library
                        simple name, etc. May be supplied via the
                        [manifest] parameter.
    /IndexOptions(io) : <OPTIONS> Options to provide detailed control over
                        behavior of resource indexers.
    /Manifest(mn)     : <FILEPATH> Location of the application or component's
                        manifest. This parameter is ignored if [indexname]
                        is given. Default is [projectroot]\AppXManifest.xml
    /MappingFile(mf)  : <MAPPINGFILETYPE> Generate a mapping file in the given
                        file format.
    /OutputFile(of)   : <FILEPATH> Output location of PRI file, default is
                        .\resources.pri
    /Overwrite(o)     : Overwrite an existing output file of the same name
                        without prompting
    /ReverseMap(rm)   : Generate a reverse mapping section in the PRI file
                        which can be used for debugging purposes.
    /SchemaFile(sf)   : <FILEPATH> Output location of XML resource schema
                        description.
    /Verbose(v)       : Causes verbose messages to be output to the console
    /VersionMajor(vma): <INTEGER> [Deprecated] Major version number for
                        index, default is 1

    FOLDERPATH        - a path to a folder
    FILEPATH          - a path to a file, either relative to the current
                        directory or absolute
    MAPPINGFILETYPE   - Supported File type(s): 'AppX'

Help:
-----
    /Help(h, ?)        : Display the usage help text

Команда ResourcePack

Команда resourcepack создает новый файл PRI, индексируя файлы в проекте, как показано в файле конфигурации. Файл PRI пакета ресурсов содержит только дополнительные варианты ресурсов, уже указанных в существующем файле PRI. Запустите MakePri.exe resourcepack /? , чтобы просмотреть подробную справку для этой команды.

C:\>makepri resourcepack /?

Usage:
------
    MakePri.exe resourcepack /pr <project root> /cf <config file> [options]

Example:
--------
    MakePri.exe resourcepack /cf C:\MyAppEs\priconfig.xml /pr C:\MyAppEs\src\ 
    /if C:\MyApp\1.2\resources.pri /o /of C:\MyAppEs\resources.pri

Description:
------------
    Creates a PRI file at <output file> by indexing all files in 
    <project root> and its subdirectories as directed by <config file>. A 
    resource pack PRI file contains only additional variants of resources 
    already specified in <index file>.

Required Parameters:
--------------------
    /ConfigXml(cf)    : <FILEPATH> Configuration file location. Use
                        'Makepri.exe createconfig' command to generate one
    /ProjectRoot(pr)  : <FOLDERPATH> Root location of project files

Options:
--------
    /AutoMerge(am)    : This flag is not recommended for normal use with .appx
                        packages. It causes Makepri.exe to set the auto
                        merge flag within the PRI file. By default it is set
                        to same as the base PRI file.
    /ExtensionDll(ex) : <FILEPATH> Location of the Resource Management System
                        environment extension DLL. This DLL must be signed by
                        a Microsoft-issued certificate. Default is an empty path
                        (no DLL will be used)
    /IndexFile(if)    : <FILEPATH> Location of the base PRI or XML schema file.
                        Default is <ProjectRoot>\resources.pri
    /IndexLog(il)     : <FILEPATH> XML Log of indexed resources, no file
                        generated by default
    /IndexOptions(io) : <OPTIONS> Options to provide detailed control over
                        behavior of resource indexers.
    /MappingFile(mf)  : <MAPPINGFILETYPE> Generate a mapping file in the given
                        file format.
    /OutputFile(of)   : <FILEPATH> Output location of PRI file, default is
                        .\resources.pri
    /Overwrite(o)     : Overwrite an existing output file of the same name
                        without prompting
    /ReverseMap(rm)   : Generate a reverse mapping section in the PRI file
                        which can be used for debugging purposes.
    /SchemaFile(sf)   : <FILEPATH> Output location of XML resource schema
                        description.
    /Verbose(v)       : Causes verbose messages to be output to the console

    FOLDERPATH        - a path to a folder
    FILEPATH          - a path to a file, either relative to the current
                        directory or absolute
    MAPPINGFILETYPE   - Supported File type(s): 'AppX'

Help:
-----
    /Help(h, ?)        : Display the usage help text

Команда с версиями

Команда versioned создает файл PRI с версией, индексируя файлы в проекте, как показано в файле конфигурации. Запустите MakePri.exe versioned /? , чтобы просмотреть подробную справку для этой команды.

C:\>makepri versioned /?

Usage:
------
    MakePri.exe versioned /cf <config file> /pr <project root> [options]

Example:
--------
    MakePri.exe versioned /cf C:\MyApp\priconfig.xml /pr C:\MyApp\src 
    /if C:\MyApp\1.2\resources.pri /o /of C:\MyApp\src\resources.pri /o

Description:
------------
    Creates a versioned PRI file at <output file> by indexing all files in 
    <project root> and its subdirectories as directed by <config file>.

Required Parameters:
--------------------
    /ConfigXml(cf)    : <FILEPATH> Configuration file location. Use
                        'Makepri.exe createconfig' command to generate one
    /ProjectRoot(pr)  : <FOLDERPATH> Root location of project files

Options:
--------
    /AutoMerge(am)    : This flag is not recommended for normal use with .appx
                        packages. It causes Makepri.exe to set the auto
                        merge flag within the PRI file. By default it is set
                        to same as the base PRI file.
    /ExtensionDll(ex) : <FILEPATH> Location of the Resource Management System
                        environment extension DLL. This DLL must be signed by
                        a Microsoft-issued certificate. Default is an empty path
                        (no DLL will be used)
    /IndexFile(if)    : <FILEPATH> Location of the base PRI or XML schema file
                        to version from. Default is <ProjectRoot>\resources.pri
    /IndexLog(il)     : <FILEPATH> XML Log of indexed resources, no file
                        generated by default
    /IndexOptions(io) : <OPTIONS> Options to provide detailed control over
                        behavior of resource indexers.
    /MappingFile(mf)  : <MAPPINGFILETYPE> Generate a mapping file in the given
                        file format.
    /OutputFile(of)   : <FILEPATH> Output location of PRI file, default is
                        [current directory]\resources.pri
    /Overwrite(o)     : Overwrite an existing output file of the same name
                        without prompting
    /ReverseMap(rm)   : Generate a reverse mapping section in the PRI file
                        which can be used for debugging purposes.
    /SchemaFile(sf)   : <FILEPATH> Output location of XML resource schema
                        description.
    /Verbose(v)       : Causes verbose messages to be output to the console

    FOLDERPATH        - a path to a folder
    FILEPATH          - a path to a file, either relative to the current
                        directory or absolute
    MAPPINGFILETYPE   - Supported File type(s): 'AppX'

Help:
-----
    /Help(h, ?)        : Display the usage help text

/ExtensionDll(ex)

Вы используете параметр DLL расширения (/ex) с createconfig, dump, newresourcepackи versioned укажите расположение библиотеки DLL системы управления ресурсами.

Файл ведения журнала и метаданных

MakePri может включать сведения, относящиеся к пакету ресурсов, в файл метаданных индексатора. Ниже приведен пример файла журнала для resources.pri файлов german.pri ресурса PRI и highresolution.pri.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
  <package filename="resources.pri">
    <instance itemname="Files\logo.jpg" qualifiers="Scale-100" src="" type="Path">
      <value>logo.scale-100.jpg</value>
    </instance>
    <instance itemname="resources\string2" qualifiers="Language-en-us" src="C:\Users\alias\Desktop\repro\app4\project\en-us\resources.resw" type="String">
      <value>value2</value>
    </instance>
    <instance itemname="resources\string1" qualifiers="Language-en-us" src="C:\Users\alias\Desktop\repro\app4\project\en-us\resources.resw" type="String">
      <value>value1</value>
    </instance>
  </package>
  <package filename="german.pri">
    <instance itemname="resources\string2" qualifiers="Language-de-de" src="C:\Users\alias\Desktop\repro\app4\project\de-de\resources.resw" type="String">
      <value>value2</value>
    </instance>
    <instance itemname="resources\string1" qualifiers="Language-de-de" src="C:\Users\alias\Desktop\repro\app4\project\de-de\resources.resw" type="String">
      <value>value1</value>
    </instance>
  </package>
  <package filename="highresolution.pri">
    <instance itemname="Files\logo.jpg" qualifiers="Scale-200" src="" type="Path">
      <value>logo.scale-200.jpg</value>
    </instance>
  </package>
</root>

Параметр /IndexFile(if)

Вы используете параметр файла индекса (/if) с dump, resourcepackа versioned также для указания входного файла PRI.

Для resourcepack и versioned, вместо предоставления PRI-файла в качестве входного параметра для /IndexFile(if), вместо этого можно указать файл схемы.

/IndexFile(if) <FILEPATH>

FILEPATH — это маркер, указывающий расположение входного файла PRI или файла схемы PRI.

Параметр /IndexOptions(io)

Вы используете параметр параметров индекса (/io) с new, resourcepackа versioned также для указания параметров, которые обеспечивают подробный контроль над поведением индексаторов ресурсов. Параметры индекса отключены по умолчанию.

/IndexOptions(io) <OPTIONS>

OPTIONS — это разделенный запятыми список, состоящий из следующих параметров.

  • +/-HiddenFiles(hf). Индекс (+) или игнорировать скрытые файлы и папки (-).
  • +/-LinkedFiles(lf). Индекс (+) или игнорировать связанные файлы и папки (-).

Параметр /MappingFile(mf)

Вы используете параметр файла сопоставления (/mf) с new, resourcepackа также versioned для создания файла сопоставления. MakeAppx.exe использует файл сопоставления для создания пакетов приложений.

/MappingFile(mf) <MAPPINGFILETYPE>

MAPPINGFILETYPE — это маркер, указывающий формат файла сопоставления. Единственным допустимым поддерживаемым форматом является appx.

/mf appx

Это пример содержимого основного файла сопоставления.

"ResourceDimensions"                   "language-de-de"

И это пример содержимого файла сопоставления пакетов ресурсов.

"ResourceId"                           "Resources184.la5decaf08"
"ResourceDimensions"                   "language-de-de"

Сводка по выходным данным

Если создаются пакеты ресурсов, выходные данные из MakePRI.exe имеют более подробную форму. Рассмотрим пример.

Index Pass Completed: ResourcePackTests\TestApp_ResourcePack
Language Qualifiers: fr-FR, de-DE

Finished building
Version: 1.0
Resource Map Name: AppTest
Named Resources: 11

Resource PRI: fr-FR.pri
Version: 1.0
Resource Candidates: 4
Language: fr-FR

Resource PRI: de-DE.pri
Version: 1.0
Resource Candidates: 4
Language: de-DE

Output File(s) at TempTestResults
Successfully Completed

Параметр /Overwrite(o)

Если параметр перезаписи (/o) не указан, а указанные выходные файлы уже существуют, MakePri.exe требует подтверждения перед перезаписью.

Following file(s) already exist at output location:
<file(s)>
Overwrite these file(s)? [Y]es (any other key to cancel):

Параметр /OutputFile(of)

Вы используете параметр выходного файла (/из) с dump, resourcepacknewа versioned также указать расположение выходных данных и имя создаваемого файла PRI. Если MakePri.exe создает несколько файлов PRI ресурсов, он помещает их в родительскую папку целевого файла. Например, если указать /of MyParentFolder\TargetFile.pri , MakePri.exe создает TargetFile.language-en.pri и TargetFile.scale-100.pri вместе с ней TargetFile.pri ParentFolder.

Ниже приведен пример условия ошибки и соответствующее сообщение об ошибке.

Условие ошибки Сообщение об ошибке
Имя выходного файла совпадает с одним из имен пакетов ресурсов в конфигурации. Недопустимая конфигурация. Имя <> пакета ресурсов пакета ресурсов не может совпадать с именем выходного файла <outputfilename.pri>.

Параметр /ReverseMap(rm)

Вы используете параметр обратной карты (/rm) с new, resourcepackа versioned также для создания раздела обратного сопоставления в файле PRI, который можно использовать для отладки.

Параметр /SchemaFile(sf)

Вы используете параметр файла схемы (/sf) с new, resourcepackа также versioned для записи файла схемы в указанном расположении.

Для resourcepack и versioned, вместо предоставления PRI-файла в качестве входного параметра для /IndexFile(if), вместо этого можно указать файл схемы.

/SchemaFile(sf) <FILEPATH>

FILEPATH — это маркер, указывающий место записи файла схемы.

Это пример файла схемы.

<PriInfo>
	<ResourceMap name="IndexName" resourceVersion="1.0"> 
		<ResourceMapSubtree name="Resources" index="1">
			<NamedResource name="String1" index="1"/>
			<NamedResource name="String2" index="1"/>
		</ResourceMapSubtree>
		<ResourceMapSubtree name="Files" index="2">
			<NamedResource name="logo.png" index="2"/>
			<ResourceMapSubtree name="images" index="3">
				<NamedResource name="success.png" index="3"/>
				<NamedResource name="error.png" index="3"/>
			</ResourceMapSubtree>
		</ResourceMapSubtree>
	</ResourceMap>
</PriInfo>

/VersionMajor(vma) не рекомендуется

Параметр основной версии (/vma) (для new команды) не рекомендуется использовать и используется в этом предупреждении.

'VersionMajor (vma)' input parameter has been deprecated. Please specify major version in the configuration file using 'majorVersion' attribute on 'resources' node.

Чтобы указать номер основной версии, используйте атрибут resources@majorVersion в файле конфигурации.