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


Приложение (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 . Если указать исполняемый файл, не следует указывать атрибут StartPage . Строка от 1 до 256 символов длиной, которая должна заканчиваться .exe и не может содержать следующие символы: <, , >, :", |?или *. Нет
uap10:HostId Идентификатор приложения узла для текущего приложения. Этот атрибут используется для размещенных приложений. Буквенно-цифровые строки длиной от 1 до 255 символов. Должно начинаться с буквы. Нет
Id Уникальный идентификатор приложения в пакете. Иногда это значение называется идентификатором приложения относительно пакета (PRAID). Идентификатор уникален в пакете, но не глобально. В системе может быть еще один пакет, использующий тот же идентификатор. Один и тот же идентификатор нельзя использовать несколько раз в одном пакете. При использовании шаблона Visual Studio значение по умолчанию этого атрибута — App. Разработчики должны вручную изменить это в манифесте. Идентификатор приложения не должен быть изменен после публикации приложения в Microsoft Store; это приведет к нарушению положения плитки на начальном экране. Строка ASCII длиной от 1 до 64 символов. Эта строка содержит буквенно-числовые поля, разделенные точками. Каждое поле должно начинаться с алфавитного символа ASCII. Эти значения нельзя использовать в качестве значений полей: CON, PRN, AUX, NUL, COM2, 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 — приложение моста для настольных компьютеров (Centennial).

Win32App — любое упаковаемое приложение, которое не является UWP, и это не работает с поведением моста для настольных компьютеров (Centennial). Иногда эти приложения иногда называются Winmain, main или HWND. Требуется TrustLevel для "mediumIL".

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

Все приложения с одним из этих трех поведений используют общие свойства (некоторые из этих общих свойств объявляются в appxmanifest.xml), и запускаются в качестве процесса с удостоверением пакета и удостоверением приложения. И эти приложения можно считать двумя группами (даже если существует три возможных значения для uap10:RuntimeBehavior). Первая группа приложений — приложения UWP ("windowsApp"); и второй группой приложений является Windows .exeс main и 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 Подсистема, предназначенная расширением. Этот атрибут поддерживает макросы. Дополнительные сведения см. в разделе Макросы в схеме манифеста пакета. Необязательная строка со значением от 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 в фоновых задачах, фоновом звуке или службах приложений.
  • Консольные приложения всегда будут много экземплярами и должны явно объявлять SupportsMultipleInstances.
  • Приложения могут использовать объявление ResourceGroup в манифесте для группировки нескольких фоновых задач в один узел. Это конфликтует с несколькими строками, где каждая активация переходит в отдельный узел. Таким образом, приложение не может объявлять в манифесте как ПоддерживаетMultipleInstances , так и ResourceGroup .

Дополнительные сведения об использовании атрибута 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