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


Приложение (Windows 10)

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

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

пакета

    <приложения>

         <приложения>

Синтаксис

<Application
  EntryPoint? = 'See the Attributes table for more info.'
  Executable?
  uap10:HostId?
  Id
  uap10:Parameters?
  ResourceGroup?
  uap10:RuntimeBehavior?
  StartPage?
  desktop4:Subsystem?
  uap10:Subsystem?
  desktop4:SupportsMultipleInstances?
  uap10:SupportsMultipleInstances?
  uap10:TrustLevel?
  uap16:BaseNamedObjectsIsolation?
  uap17:BaseNamedObjectsIsolation?
  desktop11:AppLifecycleBehavior?
  uap11:CurrentDirectoryPath?
  uap11:Parameters?

  <!-- Child elements -->
  uap:ApplicationContentUriRules?
  Extensions?
  uap7:Properties
  uap:VisualElements

</Application>

Ключ

? необязательный (ноль или один)
& соединитель взаимодействия (может происходить в любом порядке)

Атрибуты и элементы

Атрибуты

Атрибут Описание Тип данных Обязательно Значение по умолчанию
EntryPoint Идентификатор активируемого класса (например, Office.Winword.Class) или windows.fullTrustApplication или windows.partialTrustApplication. Если указать EntryPoint, необходимо также указать атрибут Исполняемый. Если указать EntryPoint, то не следует указывать атрибут StartPage. Строка от 1 до 256 символов длиной, представляющая задачу, обрабатывающую расширение. Обычно это полное имя пространства имен типа среды выполнения Windows; но это может быть одно из специальных значений "windows.fullTrustApplication" или "windows.partialTrustApplication". Если Запись не указана, вместо этого используется точка входа, определенная для приложения. Нет
исполняемых Исполняемый файл запуска по умолчанию для приложения. Указанный файл должен присутствовать в пакете. В старых системах (см. раздел примечаний для подробных сведений), если указать исполняемый, необходимо также указать атрибут EntryPoint. Если указать исполняемые, не указать атрибут StartPage. Строка от 1 до 256 символов длиной, которая должна заканчиваться .exe и не может содержать следующие символы: <, >, :, ", |, ?или *. Нет
uap10:HostId Идентификатор приложения узла для текущего приложения. Этот атрибут используется для размещенных приложений. Буквенно-цифровые строки длиной от 1 до 255 символов. Должно начинаться с буквы. Нет
идентификатора Уникальный идентификатор приложения в пакете. Иногда это значение называется идентификатором приложения относительно пакета (PRAID). Идентификатор уникален в пакете, но не глобально. В системе может быть еще один пакет, использующий тот же идентификатор. Один и тот же идентификатор нельзя использовать несколько раз в одном пакете. При использовании шаблона Visual Studio значение по умолчанию этого атрибута App. Разработчики должны вручную изменить это в манифесте. Идентификатор приложения не должен быть изменен после публикации приложения в Microsoft Store; это приведет к нарушению положения плитки на начальном экране. Строка ASCII длиной от 1 до 64 символов. Эта строка содержит буквенно-числовые поля, разделенные точками. Каждое поле должно начинаться с алфавитного символа ASCII. Эти значения нельзя использовать в качестве значений полей: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8и LPT9. Да
uap10:Parameters Содержит параметры командной строки для передачи в приложение. Поддерживается только для классических приложений с удостоверением пакета (см. обзор развертывания). Строка от 1 до 32767 символов длиной с символом без пробелов в начале и конце. Нет
ResourceGroup Тег, используемый для группирования активаций расширений в целях управления ресурсами (например, ЦП и памяти). См. раздел примечания в Application@ResourceGroup. Буквенно-цифровые строки длиной от 1 до 255 символов. Должно начинаться с буквы. Нет
uap10:RuntimeBehavior Указывает поведение времени выполнения приложения.

PackagedClassicApp — приложение WinUI 3 или приложение моста для настольных компьютеров (Centennial). Для приложения WinUI 3 обычно используется TrustLevel "mediumIL" (но "appContainer" также является вариантом).

Win32App — любое другое приложение Win32, включая приложение, упакованое с внешним расположением, и должно использовать TrustLevel "mediumIL".

"windowsApp" — приложение универсальной платформы Windows (UWP). Всегда идет с TrustLevel appContainer.

Все общие свойства (некоторые объявлены в appxmanifest.xml) и выполняются как процесс с удостоверением пакета и удостоверением приложения. Вы можете подумать о них как о двух группах. Одна из групп — это приложения UWP ("windowsApp"); Другой — это Windows с основными или WinMain ("packagedClassicApp" или "win32App"). Эта вторая группа также называется классических приложений.
Строка с одним из следующих значений: packagedClassicApp, win32App или windowsApp. Нет
StartPage Веб-страница, обрабатывающая точку расширяемости. Строка со значением от 1 до 256 символов длиной, которая не может содержать следующие символы: <, >, :, ", |, ?или *. Любой допустимый URI или IRI (версия URI, отличной от ASCII). Нет
desktop4:Subsystem Указывает, является ли приложение стандартным приложением UWP или консольным приложением UWP. Строка, которая может быть любой из следующих значений: консоли или окнах. Нет
uap10:Подсистема Указывает, является ли приложение стандартным приложением UWP или консольным приложением UWP. Строка, которая может быть любой из следующих значений: консоли или окнах. Нет
desktop4:SupportsMultipleInstances Указывает поддержку нескольких отдельных экземпляров приложений UWP. Дополнительные сведения см. в разделе "Замечания". Логическое значение. Нет
uap10:SupportsMultipleInstances Указывает поддержку нескольких отдельных экземпляров приложений UWP. Дополнительные сведения см. в разделе "Замечания". Логическое значение. Нет
uap10:TrustLevel Указывает уровень доверия приложения

"mediumIL", приложение полное доверие; его процесс выполняется с уровнем целостности средних (см. раздел обязательный элемент управления целостностью). Требуется ограниченная возможность "Уровень разрешений полного доверия" (см. объявления возможностей приложений).

AppContainer — приложение выполняется в упрощенном контейнере приложений (см. приложения MSIX AppContainer); процесс выполняется с уровнем целостности низкой. Кроме того, для распаковки приложения можно запустить в AppContainer.
Строка с одним из следующих значений: mediumIL или appContainer. Нет
uap16:BaseNamedObjectsIsolation Включает изоляцию BaseNameObject (BNO) для приложения. Строка, которая может быть любой из следующих значений: пакет или нет. Нет
uap17:BaseNamedObjectsIsolation Включает изоляцию BaseNameObject (BNO) для приложения. Строка, которая может быть любой из следующих значений: пакет или нет. Нет
desktop11:AppLifecycleBehavior Позволяет приложению переопределить поведение жизненного цикла, связанное с поведением среды выполнения для расширения. Приложения или расширения с RuntimeBehavior "windowsApp" неявно имеют AppLifecycleBehavior systemManaged, если не указано иное. Приложения или расширения с RuntimeBehavior packagedClassicApp или win32App неявно имеют AppLifecycleBehavior "неуправляемого" без указания другого значения. Одно из следующих значений: systemManaged, "неуправляемый". Нет
uap11:CurrentDirectoryPath Указывает начальный каталог при запуске процесса приложения. Этот атрибут поддерживает макросы. Дополнительные сведения см. в разделе Макросы в схеме манифеста пакета. Необязательная строка, которая не может содержать эти символы: <, >, |, ?или *. > Нет
uap11:Parameters Этот атрибут наследуется от синтаксиса базового расширения и не применяется к расширению com4. Кроме синтаксической проверки, это значение игнорируется. Этот атрибут поддерживает макросы. Дополнительные сведения см. в разделе Макросы в схеме манифеста пакета. Необязательная строка со значением от 1 до 32767 символов длиной с символом без пробелов в начале и конце. Нет

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

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

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

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

Замечания

Элемент 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 области приложения. Если они не указаны врасширения , они наследуются от родительского приложения. Эти атрибуты указываются в сочетаниях, например, 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 одновременно. Но если это сделать, то это ошибка, если они противоречат.

Для активации приложений универсальной платформы Windows (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 в фоновых задачах, фоновом звуке или службах приложений.
  • Консольные приложения всегда будут много экземплярами и должны явно объявлять ПоддерживаетMultipleInstances.
  • Приложения могут использовать объявление ResourceGroup в манифесте для группировки нескольких фоновых задач в один узел. Это конфликтует с несколькими строками, где каждая активация переходит в отдельный узел. Поэтому приложение не может объявлять оба ПоддерживаетMultipleInstances и ResourceGroup в манифесте.

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

Требования

Пункт Ценность
пространства имен http://schemas.microsoft.com/appx/manifest/uap/windows10
атрибуты desktop4 http://schemas.microsoft.com/appx/manifest/desktop/windows10/4
атрибуты uap10 http://schemas.microsoft.com/appx/manifest/uap/windows10/10