Application (Windows 10)

Représente une application qui comprend une partie ou la totalité des fonctionnalités fournies dans le package.

Hiérarchie d’éléments

<Paquet>

    <Applications>

         <Application>

Syntax

<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?

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

</Application>

Clé :

? facultatif (zéro ou un)
& Connecteur entrelacé (peut se produire dans n’importe quel ordre)

Attributs et éléments

Attributs

Attribut Description Type de données Obligatoire Valeur par défaut
EntryPoint ID de classe activable (par exemple, « Office.Winword.Class ») ou « windows.fullTrustApplication » ou « windows.partialTrustApplication ». Si vous spécifiez EntryPoint, vous devez également spécifier l’attribut Exécutable . Si vous spécifiez EntryPoint, vous ne devez pas spécifier l’attribut StartPage . Chaîne comprise entre 1 et 256 caractères, représentant la tâche qui gère l’extension. Il s’agit normalement du nom complet d’espace de noms d’un type Windows Runtime, mais il peut s’agir de l’une des valeurs spéciales « windows.fullTrustApplication » ou « windows.partialTrustApplication ». Si EntryPoint n’est pas spécifié, l’élément EntryPoint défini pour l’application est utilisé à la place. No
Exécutable Exécutable de lancement par défaut pour l’application. Le fichier spécifié doit être présent dans le package. Sur les systèmes plus anciens (voir la section remarques pour plus d’informations), si vous spécifiez Exécutable, vous devez également spécifier l’attribut EntryPoint . Si vous spécifiez Exécutable, vous ne devez pas spécifier l’attribut StartPage . Chaîne comprise entre 1 et 256 caractères qui doit se terminer par .exe et ne peut pas contenir ces caractères : <, >, :, "|, , ?ou *. No
uap10 :HostId ID d’application de l’application hôte pour l’application actuelle. Cet attribut est utilisé pour les applications hébergées. Chaîne alphanumérique comprise entre 1 et 255 caractères. Doit commencer par une lettre. No
Id Identificateur unique de l’application dans le package. Elle est parfois appelée « identificateur relatif au package d’application » (ou PRAID, Package-Relative App Identifier). L’ID est unique dans le package, mais pas globalement. Il peut y avoir un autre package sur le système qui utilise le même ID. Le même ID ne peut pas être utilisé plusieurs fois dans le même package. Lorsque vous utilisez un modèle Visual Studio, la valeur par défaut de cet attribut est App. Les développeurs doivent modifier manuellement cette valeur dans le manifeste. L’identificateur de l’application ne doit pas être modifié après la publication de l’application sur le Microsoft Store ; Cela perturbe la position de la vignette sur l’écran d’accueil. Chaîne ASCII comprise entre 1 et 64 caractères. Cette chaîne contient des champs alphanumériques séparés par des points. Chaque champ doit commencer par un caractère alphabétique ASCII. Vous ne pouvez pas les utiliser comme valeurs de champ : CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 et LPT9. Yes
uap10 :Parameters Contient les paramètres de ligne de commande à passer à l’application. Pris en charge uniquement pour les applications de bureau qui ont une identité de package (voir Vue d’ensemble du déploiement). Chaîne comprise entre 1 et 32 767 caractères avec un caractère non-espace blanc au début et à la fin. No
ResourceGroup Balise utilisée pour regrouper les activations d’extensions à des fins de gestion des ressources (par exemple, processeur et mémoire). Consultez la section Remarques dans Application@ResourceGroup. Chaîne alphanumérique comprise entre 1 et 255 caractères. Doit commencer par une lettre. No
uap10 :RuntimeBehavior Spécifie le comportement au moment de l’exécution de l’application.

« packagedClassicApp » : une application WinUI 3 ou une application Pont du bureau (Centennial). Pour une application WinUI 3, est généralement associé à trustLevel « mediumIL » (mais « appContainer » est également une option).

« win32App » : tout autre type d’application Win32, y compris une application empaquetée avec un emplacement externe. Est généralement associé à un TrustLevel de « mediumIL » (mais « appContainer » est également une option).

« windowsApp » : application plateforme Windows universelle (UWP). Toujours avec un TrustLevel de « appContainer ».

Tous partagent des propriétés communes (certaines déclarées dans ), et s’exécutent en appxmanifest.xmltant que processus avec l’identité du package et l’identité d’application. Vous pouvez les considérer comme étant en deux groupes. Un groupe est les applications UWP (« windowsApp ») ; l’autre est Windows .exeavec main ou WinMain (« packagedClassicApp » ou « win32App »). Ce deuxième groupe est également appelé applications de bureau.
Chaîne avec l’une des valeurs suivantes : « packagedClassicApp », « win32App » ou « windowsApp ». No
StartPage La page web qui gère le point d’extensibilité. Chaîne dont la valeur est comprise entre 1 et 256 caractères et qui ne peut pas contenir ces caractères : <, >, ":, |, ?, ou *. Tout URI ou IRI valide (version non ASCII d’un URI). No
desktop4 :Sous-système Indique si l’application est une application UWP standard ou une application console UWP. Chaîne qui peut être l’une des valeurs suivantes : console ou windows. No
uap10 :Sous-système Indique si l’application est une application UWP standard ou une application console UWP. Chaîne qui peut être l’une des valeurs suivantes : console ou windows. No
desktop4 :SupportsMultipleInstances Indique la prise en charge de plusieurs instances distinctes d’applications UWP. Pour plus d’informations, consultez la section remarques. Une valeur booléenne. No
uap10 :SupportsMultipleInstances Indique la prise en charge de plusieurs instances distinctes d’applications UWP. Pour plus d’informations, consultez la section remarques. Une valeur booléenne. No
uap10 :TrustLevel Spécifie le niveau de confiance de l’application

« mediumIL » : l’application est entièrement fiable ; son processus s’exécute avec un niveau d’intégrité moyen (voir Contrôle d’intégrité obligatoire). Nécessite la fonctionnalité restreinte « Niveau d’autorisation de confiance totale » (voir Déclarations des fonctionnalités d’application).

« appContainer » : l’application s’exécute dans un conteneur d’application léger (voir Applications MSIX AppContainer) ; son processus s’exécute avec un niveau d’intégrité faible. Il est également possible qu’une application non empaquetée s’exécute dans un AppContainer.
Chaîne avec l’une des valeurs suivantes : « mediumIL » ou « appContainer ». No
uap16 :BaseNamedObjectsIsolation Active l’isolation BaseNameObject (BNO) pour l’application. Chaîne qui peut être l’une des valeurs suivantes : package ou none. No
uap17 :BaseNamedObjectsIsolation Active l’isolation BaseNameObject (BNO) pour l’application. Chaîne qui peut être l’une des valeurs suivantes : package ou none. No
desktop11 :AppLifecycleBehavior Permet à une application de remplacer le comportement de cycle de vie associé au comportement d’exécution de l’extension. Les applications ou extensions avec un RuntimeBehavior de « windowsApp » ont implicitement AppLifecycleBehavior de « systemManaged » sauf indication contraire. Les applications ou extensions avec RuntimeBehavior de « packagedClassicApp » ou « win32App » ont implicitement AppLifecycleBehavior de « non managé », sauf indication contraire. L’une des valeurs suivantes : « systemManaged », « unmanaged ». No

Éléments enfants

Élément enfant Description
uap:ApplicationContentUriRules Spécifie les pages du contexte web qui ont accès aux appareils de géolocalisation du système (si l’application est autorisée à accéder à cette fonctionnalité) et au Presse-papiers.
Extensions (type : CT_ApplicationExtensions) Définit un ou plusieurs points d’extensibilité pour l’application.
uap7:Properties Spécifie les propriétés de l’application.
uap:VisualElements Décrit les aspects visuels de l’application : vignette par défaut, images de logo, couleurs de texte et d’arrière-plan, orientation initiale de l’écran, écran de démarrage et apparence de la vignette de l’écran de verrouillage.

Éléments parents

Élément parent Description
Applications Représente une ou plusieurs applications qui composent le package.

Remarques

L’élément Application contient des attributs communs aux points d’extensibilité qui se rapportent à l’application. Ces informations sont utilisées par d’autres points d’extensibilité pour obtenir des informations sur l’application. Les attributs d’application sont également utilisés comme informations d’activation dans le démarrage et la gestion d’un instance de l’application (en d’autres termes, ils décrivent comment démarrer un processus et avec quel comportement).

L’attribut StartPage s’applique uniquement aux applications JavaScript. Si StartPage n’est pas spécifié, les attributs Executable et EntryPoint doivent être spécifiés (et cela s’applique uniquement aux applications C#, C++ ou VB).

uap10 a été introduit dans Windows 10, version 2004 (10.0 ; Build 19041)

L’espace uap10 de noms (pour uap10:RuntimeBehavior et uap10:TrustLevel) a été introduit dans Windows 10, version 2004 (10.0 ; Build 19041). Si votre package s’installe sur des systèmes antérieurs, vous devez fournir une combinaison équivalente d’attributs (voir la section suivante). Sinon, les informations d’activation seront incomplètes et l’installation échouera.

Toutefois, si votre package contient <TargetDeviceFamily MinVersion="10.0.19041.0">ou une version ultérieure, il s’installe uniquement sur les systèmes qui prennent en charge l’espace de uap10 noms. Dans ce cas, vous devez utiliser les uap10:RuntimeBehavior attributs et uap10:TrustLevel de préférence pour les anciennes combinaisons équivalentes (voir la section suivante).

Combinaisons d’attributs d’informations d’activation

Vous pouvez spécifier des attributs d’informations d’activation sur l’élément Application ; et vous pouvez éventuellement les spécifier sur un élément d’extension d’étendue d’application. S’ils ne sont pas spécifiés sur l’extension, ils sont hérités de l’application parente. Vous spécifiez ces attributs en combinaisons( par exemple, EntryPoint, RuntimeBehavior et TrustLevel ont une signification qui se chevauche, et ils sont spécifiés (et/ou hérités) dans des combinaisons. Voici quelques combinaisons valides d’attributs d’informations d’activation.

  1. Executable, uap10 :RuntimeBehavior="packagedClassicApp », uap10 :TrustLevel=["mediumIL », or « appContainer » (valeur par défaut si omis)]
  2. Executable, uap10 :RuntimeBehavior="win32App », uap10 :TrustLevel="mediumIL » (pour les autres exigences, consultez la Description plus haut dans cette rubrique pour uap10 :RuntimeBehavior).
  3. Exécutable, EntryPoint="windows.fullTrustApplication » (équivalent à uap10 :RuntimeBehavior="packagedClassicApp », uap10 :TrustLevel="mediumIL »)
  4. Exécutable, EntryPoint="windows.partialTrustApplication » (équivalent à uap10 :RuntimeBehavior="packagedClassicApp », uap10 :TrustLevel="appContainer »)
  5. Exécutable, EntryPoint="<anything else> »

Comme vous pouvez le voir, si votre système cible ne prend pas en charge l’espace uap10 de noms, vous pouvez spécifier l’attribut EntryPoint à la place. De même, l’équivalent de uap10 :TrustLevel="appContainer"' sur les systèmes plus anciens est EntryPoint="windows.partialTrustApplication ».

Il est redondant de spécifier à la fois uap10 :RuntimeBehavior/uap10 :TrustLevel et EntryPoint en même temps, mais si vous le faites, il s’agit d’une erreur si elles sont en contradiction.

les activations d’applications plateforme Windows universelle (UWP) nécessitent EntryPoint. Par conséquent, si vous spécifiez Exécutable et uap10 :RuntimeBehavior="windowsApp » (sans EntryPoint), il s’agit d’une erreur. Dans le même cas, EntryPoint spécifie autre chose que « windows.fullTrustApplication » et « windows.partialTrustApplication » ; et les valeurs autres que ces deux disent déjà la même chose que uap10 :RuntimeBehavior="windowsApp ». Uap10 :RuntimeBehavior serait donc redondant dans ce cas, et vous spécifieriez Exécutable et EntryPoint.

La définition de uap10 :RuntimeBehavior="win32App » et uap10 :TrustLevel="appContainer » n’est pas prise en charge.

La définition uap10:TrustLevel="mediumIL" de while uap10:RuntimeBehavior="windowsApp" nécessite la Microsoft.coreAppActivation_8wekyb3d8bbwe fonctionnalité personnalisée.

Cela est également vrai si uap10:TrustLevel="mediumIL" et EntryPoint est une autre valeur que "windows.fullTrustApplication" ou "windows.partialTrustApplication".

Vous pouvez en savoir plus sur cette fonctionnalité personnalisée ici dans Fonctionnalités personnalisées.

Remarques importantes sur les applications multi-instanciation

  • Si une application déclare SupportsMultipleInstances dans l’élément Application , toutes les extensions de premier plan sont également multi-instances.
  • Si l’application déclare SupportsMultipleInstances dans l’élément Application , elle n’a pas besoin d’être déclarée au niveau extensions (par exemple, dans un élément BackgroundTasks ou AppService ).
  • L’application doit uniquement déclarer SupportsMultipleInstances sur les tâches en arrière-plan, l’audio en arrière-plan ou les services d’application.
  • Les applications console sont toujours multi-instances et doivent déclarer explicitement SupportsMultipleInstances.
  • Les applications peuvent utiliser la déclaration ResourceGroup dans le manifeste pour regrouper plusieurs tâches en arrière-plan dans le même hôte. Cela est en conflit avec la multi-instanciation, où chaque activation est envoyée dans un hôte distinct. Par conséquent, une application ne peut pas déclarer SupportsMultipleInstances et ResourceGroup dans le manifeste.

Pour plus d’informations sur l’utilisation de l’attribut SupportsMultipleInstances pour prendre en charge plusieurs instances distinctes d’applications UWP, consultez Créer une application Windows universelle multi instance.

Configuration requise

Élément Valeur
Espace de noms http://schemas.microsoft.com/appx/manifest/uap/windows10
Attributs desktop4 http://schemas.microsoft.com/appx/manifest/desktop/windows10/4
Attributs uap10 http://schemas.microsoft.com/appx/manifest/uap/windows10/10