Application

Представляет приложение, которое входит в состав или все функциональные возможности, предоставляемые в пакете.

Иерархия элементов

<Package>
   └─ <Applications>
      └─ <Application>

Syntax

<Package
  xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10">
  ...
  <Application
    Id = 'A required value. <!-- TODO: Add description for t:ST_ApplicationId -->'
    Executable = 'An optional string between 1 and 256 characters in length that must end with ".exe" and cannot contain these characters: <, >, :, ", |, ?, or *.'
    EntryPoint = 'An optional string between 1 and 256 characters in length that cannot start or end with a whitespace character.'
    StartPage = 'An optional value. <!-- TODO: Add description for t:ST_ApplicationStartPage -->'
    ResourceGroup = 'An optional alphanumeric string between 1 and 255 characters in length. Must begin with an alphabetic character.'
    desktop4:Subsystem = 'An optional string that can have one of the following values: "console", or "windows".'
    iot2:Subsystem = 'An optional string that can have one of the following values: "console", or "windows".'
    uap10:Subsystem = 'An optional string that can have one of the following values: "console", or "windows".'
    desktop4:SupportsMultipleInstances = 'An optional boolean value.'
    iot2:SupportsMultipleInstances = 'An optional boolean value.'
    uap10:SupportsMultipleInstances = 'An optional boolean value.'
    uap11:CurrentDirectoryPath = 'An optional string that cannot contain these characters: <, >, |, ?, or *.'
    uap11:Parameters = 'An optional string between 1 and 32767 characters in length with a non-whitespace character at its beginning and end.'
    previewsecurity:TrustLevel = 'An optional string that can have one of the following values: "appContainer", "mediumIL", or "appSilo".'
    uap10:TrustLevel = 'An optional string that can have one of the following values: "appContainer", or "mediumIL".'
    uap10:RuntimeBehavior = 'An optional string that can have one of the following values: "windowsApp", "packagedClassicApp", or "win32App".'
    uap10:HostId = 'An optional alphanumeric string between 1 and 255 characters in length. Must begin with an alphabetic character.'
    uap10:Parameters = 'An optional string between 1 and 32767 characters in length with a non-whitespace character at its beginning and end.'
    previewsecurity2:RuntimeBehavior = 'An optional string that can have one of the following values: "windowsApp", "packagedClassicApp", "win32App", or "appSilo".'
    uap16:BaseNamedObjectsIsolation = 'An optional string that can have one of the following values: "none", or "package".'
    uap17:BaseNamedObjectsIsolation = 'An optional string that can have one of the following values: "none", or "package".'
    desktop11:AppLifecycleBehavior = 'An optional string that can have one of the following values: "systemManaged", or "unmanaged".' >

    <!-- Child elements -->
    VisualElementsChoice
    ApplicationContentUriRules?
    Extensions?
    Properties?

  </Application>
</Package>

Ключ

? необязательный (ноль или один)

Атрибуты

Атрибут Description Тип данных Обязательный Значение по умолчанию
Id Уникальный идентификатор приложения в пакете. Иногда это значение называется идентификатором приложения относительно пакета (PRAID). Идентификатор уникален в пакете, но не глобально. В системе может быть еще один пакет, использующий тот же идентификатор. Один и тот же идентификатор нельзя использовать несколько раз в одном пакете. При использовании шаблона Visual Studio значение по умолчанию этого атрибута App. Разработчики должны вручную изменить это в манифесте. Идентификатор приложения не должен быть изменен после публикации приложения в Microsoft Store; это приведет к нарушению положения плитки на начальном экране. Значение. Yes
Исполнимый файл Исполняемый файл по умолчанию. Необязательная строка от 1 до 256 символов длиной, которая должна заканчиваться ".exe" и не может содержать следующие символы: <, , >: , ", ", |, ?или *". Нет
EntryPoint Идентификатор активируемого класса. Необязательная строка от 1 до 256 символов длиной, которая не может начинаться или заканчиваться символом пробела. Нет
StartPage Веб-страница, обрабатывающая точку расширяемости. Необязательное значение. Нет
ResourceGroup Тег, который можно использовать для группирования активаций расширений вместе для целей управления ресурсами (например, ЦП и памяти). Необязательная буквенно-цифровые строки длиной от 1 до 255 символов. Должен начинаться с алфавитного символа. Нет
desktop4:Subsystem Указывает, является ли приложение стандартным приложением UWP или консольным приложением UWP. Необязательная строка, которая может иметь одно из следующих значений: консоль, окна. Нет
iot2:Подсистема Необязательная строка, которая может иметь одно из следующих значений: консоль, окна. Нет
uap10:Подсистема Указывает, является ли приложение стандартным приложением UWP или консольным приложением UWP. Необязательная строка, которая может иметь одно из следующих значений: консоль, окна. Нет
desktop4:SupportsMultipleInstances Указывает поддержку нескольких отдельных экземпляров приложений UWP. Дополнительные сведения см. в разделе "Замечания". Необязательное логическое значение. Нет
iot2:SupportsMultipleInstances Необязательное логическое значение. Нет
uap10:SupportsMultipleInstances Указывает поддержку нескольких отдельных экземпляров приложений UWP. Дополнительные сведения см. в разделе "Замечания". Необязательное логическое значение. Нет
uap11:CurrentDirectoryPath Указывает начальный каталог при запуске процесса. Этот атрибут поддерживает макросы. Дополнительные сведения см. в разделе Макросы в схеме манифеста пакета. Необязательная строка, которая не может содержать следующие символы: <, >|, ?или *. Нет
uap11:Parameters Содержит параметры командной строки для передачи в расширение. Этот атрибут поддерживает макросы. Дополнительные сведения см. в разделе Макросы в схеме манифеста пакета. Необязательная строка между 1 и 32767 символами длиной без пробелов в начале и конце. Нет
previewsecurity:TrustLevel Необязательная строка, которая может иметь одно из следующих значений: appContainer, mediumIL, appSilo. Нет
uap10:TrustLevel Указывает уровень доверия расширения. Необязательная строка, которая может иметь одно из следующих значений: appContainer, mediumIL. Нет
uap10:RuntimeBehavior Указывает поведение времени выполнения расширения. Необязательная строка, которая может иметь одно из следующих значений: windowsApp, packagedClassicApp, win32App. Нет
uap10:HostId Указывает идентификатор среды выполнения узла для расширения. Необязательная буквенно-цифровые строки длиной от 1 до 255 символов. Должен начинаться с алфавитного символа. Нет
uap10:Parameters Содержит параметры командной строки для передачи в расширение. Поддерживается только для классических приложений, имеющих удостоверение пакета. Необязательная строка между 1 и 32767 символами длиной без пробелов в начале и конце. Нет
previewsecurity2:RuntimeBehavior Необязательная строка, которая может иметь одно из следующих значений: windowsApp, packagedClassicApp, win32App, appSilo. Нет
uap16:BaseNamedObjectsIsolation Включает изоляцию BaseNameObject (BNO) для приложения. Необязательная строка, которая может иметь одно из следующих значений: нет, пакет. Нет
uap17:BaseNamedObjectsIsolation Включает изоляцию BaseNameObject (BNO) для приложения. Необязательная строка, которая может иметь одно из следующих значений: нет, пакет. Нет
desktop11:AppLifecycleBehavior Позволяет приложению переопределить поведение жизненного цикла, связанное с поведением среды выполнения для расширения. Приложения или расширения со средой RuntimeBehavior windowsApp неявно имеют AppLifecycleBehavior systemManaged, если иное не указано. Приложения или расширения с помощью RuntimeBehavior packagedClassicApp или win32App неявно имеют AppLifecycleBehavior неуправляемого, если не указано иное. Необязательная строка, которая может иметь одно из следующих значений: systemManaged, неуправляемая. Нет

Дочерние элементы

Дочерний элемент Description
uap:ApplicationContentUriRules Указывает, какие страницы в веб-контексте имеют доступ к устройствам географического расположения системы (если приложение имеет разрешение на доступ к этой возможности) и доступ к буферу обмена.
Extensions Определяет одну или несколько точек расширяемости для приложения.
uap7:Properties Свойства приложения.

Родительские элементы

Родительский элемент Description
Applications Представляет одно или несколько приложений, составляющих пакет.

Требования

Элемент Ценность
Пространство имен http://schemas.microsoft.com/appx/manifest/foundation/windows10
desktop11 http://schemas.microsoft.com/appx/manifest/desktop/windows10/11
desktop4 http://schemas.microsoft.com/appx/manifest/desktop/windows10/4
iot2 http://schemas.microsoft.com/appx/manifest/iot/windows10/2
предварительная версия безопасности http://schemas.microsoft.com/appx/manifest/preview/windows10/security
previewsecurity2 http://schemas.microsoft.com/appx/manifest/preview/windows10/security/2
uap10 http://schemas.microsoft.com/appx/manifest/uap/windows10/10
uap11 http://schemas.microsoft.com/appx/manifest/uap/windows10/11
uap16 http://schemas.microsoft.com/appx/manifest/uap/windows10/16
uap17 http://schemas.microsoft.com/appx/manifest/uap/windows10/17
минимальная версия ОС

Замечания

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

Атрибут StartPage применяется только к приложениям JavaScript. Если StartPage не указан, необходимо указать атрибуты Исполняемого файла и EntryPoint (и применяется только к приложениям C#, C++или VB).

uap10 появился в Windows 10 версии 2004 (10.0; Сборка 19041)

Пространство имен uap10 (для uap10:RuntimeBehavior и uap10:TrustLevel) было введено в Windows 10 версии 2004 (10.0; Сборка 19041). Если пакет устанавливается в системах старше этого, необходимо предоставить эквивалентное сочетание атрибутов (см. следующий раздел), в противном случае сведения о активации будут неполными, а установка завершится ошибкой.

Но если пакет имеет <TargetDeviceFamily MinVersion="10.0.19041.0">или выше, он устанавливается только в системах, поддерживающих uap10 пространство имен. В этом случае следует использовать uap10:RuntimeBehavior и uap10:TrustLevel атрибуты в предпочтениях более старых эквивалентных сочетаний (см. следующий раздел).

Сочетания атрибутов сведений о активации

В элементе можно указать атрибуты сведений Application об активации. При необходимости их можно указать в элементе extension области приложения. Если они не указаны в extension, они наследуются от родительского Applicationэлемента. Эти атрибуты указываются в сочетаниях: например, EntryPoint, RuntimeBehavior и TrustLevel имеют перекрывающееся значение, и они указываются (и/или наследуются) в сочетаниях. Ниже приведены некоторые допустимые сочетания атрибутов сведений о активации.

  1. Исполняемый файл, uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel=["mediumIL", или "appContainer" (по умолчанию, если опущен)]
  2. Исполняемый файл, uap10:RuntimeBehavior="win32App", uap10:TrustLevel="mediumIL" (для других требований см. описание выше в этом разделе для uap10:RuntimeBehavior).
  3. Исполняемый файл, EntryPoint="windows.fullTrustApplication" (эквивалент uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel="mediumIL")
  4. Исполняемый файл, EntryPoint="windows.partialTrustApplication" (эквивалент uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel="appContainer")
  5. Исполняемый файл, EntryPoint="<что-нибудь еще>"

Как видно, если целевая система не поддерживает uap10 пространство имен, можно указать атрибут EntryPoint . Аналогичным образом эквивалент uap10:TrustLevel="appContainer" в старых системах — EntryPoint="windows.partialTrustApplication".

Но это избыточно, чтобы указать uap10:RuntimeBehavior/uap10:TrustLevel и EntryPoint одновременно. Но если это сделать, то это ошибка, если они противоречат.

Universal Windows Platform (UWP) активации приложений требуют EntryPoint. Поэтому если указать исполняемый файл и uap10:RuntimeBehavior="windowsApp" (без EntryPoint), это ошибка. В этом же случае EntryPoint будет указывать что-то, отличное от "windows.fullTrustApplication" и "windows.partialTrustApplication"; и значения, отличные от этих двух, уже говорят то же самое, что и uap10:RuntimeBehavior="windowsApp". Поэтому uap10:RuntimeBehavior будет избыточным в этом случае, и вы указали исполняемый файл и EntryPoint.

Настройка uap10:RuntimeBehavior="win32App" и uap10:TrustLevel="appContainer" не поддерживается.

Для параметра uap10:TrustLevel="mediumIL" в то время как uap10:RuntimeBehavior="windowsApp" требуется Microsoft.coreAppActivation_8wekyb3d8bbwe настраиваемые возможности.

Это также верно, если uap10:TrustLevel="mediumIL" и EntryPoint является любым другим значением, кроме "windows.fullTrustApplication" или "windows.partialTrustApplication".

Дополнительные сведения об этой пользовательской возможности см. в разделе "Пользовательские возможности".

Важные заметки о многоуровневых приложениях

  • Если приложение объявляет SupportsMultipleInstances в элементе, все расширения переднего Application плана также будут много экземплярами.
  • Если приложение объявляет SupportsMultipleInstances в Application элементе, то его не нужно объявлять на Extensions уровне (например, в элементе BackgroundTasks или AppService ).
  • Приложение должно объявлять только службы ПоддержкиMultipleInstances в фоновых задачах, фоновом звуке или службах приложений.
  • Консольные приложения всегда будут много экземплярами и должны явно объявлять SupportsMultipleInstances.
  • Приложения могут использовать объявление ResourceGroup в манифесте для группировки нескольких фоновых задач в один узел. Это конфликтует с мульти-инстансированием, при котором каждая активация происходит на отдельном хосте. Таким образом, приложение не может объявлять в манифесте как ПоддерживаетMultipleInstances , так и ResourceGroup .

Дополнительные сведения об использовании атрибута SupportsMultipleInstances для поддержки нескольких отдельных экземпляров приложений UWP см. в разделе Create универсальной универсальной приложение для Windows.

Примеры