Приложение (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>

Ключ

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

Элементы и атрибуты

Атрибуты

Атрибут Описание Тип данных Обязательно Значение по умолчанию
EntryPoint Идентификатор активируемого класса (например, "Office.Winword.Class"), "windows.fullTrustApplication" или "windows.partialTrustApplication". При указании EntryPoint необходимо также указать атрибут Исполняемый . При указании EntryPoint не следует указывать атрибут StartPage . Строка длиной от 1 до 256 символов, представляющая задачу, обрабатывающую расширение. Обычно это полное имя пространства имен типа среда выполнения Windows, но это может быть одно из специальных значений windows.fullTrustApplication или windows.partialTrustApplication. Если EntryPoint не указан, вместо него используется точка EntryPoint, определенная для приложения. Нет
Исполняемый объект Исполняемый файл запуска по умолчанию для приложения. Указанный файл должен присутствовать в пакете. В старых системах (дополнительные сведения см. в разделе примечаний), если вы указываете исполняемый файл, необходимо также указать атрибут EntryPoint . Если указан исполняемый файл, указывать атрибут StartPageне следует. Строка длиной от 1 до 256 символов, которая должна заканчиваться .exe на и не может содержать следующие символы: <, >, :, ", |?, или *. Нет
uap10:HostId Идентификатор ведущего приложения для текущего приложения. Этот атрибут используется для размещенных приложений. Буквенно-цифровая строка длиной от 1 до 255 символов. Должен начинаться с буквы. Нет
Id Уникальный идентификатор приложения в пакете. Оно также иногда называется связанным с пакетом идентификатором приложения (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" (но "appContainer" также является вариантом).

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

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

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

appContainer — приложение выполняется в контейнере упрощенного приложения (см. раздел Приложения MSIX AppContainer); процесс выполняется с низким уровнем целостности. Неупакованное приложение также может выполняться в AppContainer.
Строка с одним из следующих значений: "mediumIL" или "appContainer". Нет
uap16:BaseNamedObjectsIsolation Включает изоляцию BaseNameObject (BNO) для приложения. Строка, которая может иметь любое из следующих значений: package или none. Нет
uap17:BaseNamedObjectsIsolation Включает изоляцию BaseNameObject (BNO) для приложения. Строка, которая может иметь любое из следующих значений: package или none. Нет
desktop11:AppLifecycleBehavior Позволяет приложению переопределить поведение жизненного цикла, связанное с поведением среды выполнения для расширения. Приложения или расширения с RuntimeBehavior "windowsApp" неявно имеют AppLifecycleBehavior "systemManaged", если не указано иное. Приложения или расширения со RuntimeBehavior packagedClassicApp или win32App неявно имеют AppLifecycleBehavior "неуправляемым", если не указано иное. Одно из следующих значений: "systemManaged", "unmanaged". Нет
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 область приложения. Если они не указаны в 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="<anything else>"

Как видите, если целевая система не поддерживает 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" while uap10:RuntimeBehavior="windowsApp" требуется Microsoft.coreAppActivation_8wekyb3d8bbwe пользовательская возможность.

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

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

Важные примечания о приложениях с поддержкой нескольких подключений

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

Дополнительные сведения об использовании атрибута SupportsMultipleInstances для поддержки нескольких отдельных экземпляров приложений UWP см. в статье Create универсального приложения 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