Application (Windows 10)

Représente une application qui comprend une partie ou l’ensemble des fonctionnalités fournies dans le package.

Hiérarchie d’éléments

<package>

    <applications>

         <application>

Syntaxe

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

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 qualifié 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é, le Point d’entrée défini pour l’application est utilisé à la place. Non
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 (consultez 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 devez pas spécifier l’attribut StartPage. Chaîne comprise entre 1 et 256 caractères de longueur qui doit se terminer par .exe et ne peut pas contenir ces caractères : <, >, :, ", |, ?ou *. Non
uap10 :HostId ID d’application de l’application hôte pour l’application actuelle. Cet attribut est utilisé pour applications hébergées. Chaîne alphanumérique comprise entre 1 et 255 caractères. Doit commencer par une lettre. Non
id de Identificateur unique de l’application dans le package. Cette valeur est parfois appelée identificateur d’application relatif au package (PRAID). 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 le modifier manuellement dans le manifeste. L’identificateur de l’application ne doit pas être modifié une fois que l’application a été publiée dans le Microsoft Store ; cela perturbera la position de la vignette sur l’écran de démarrage. 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, COM5COM5 , COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8et LPT9. Oui
uap10 :Parameters Contient des paramètres de ligne de commande à passer à l’application. Uniquement pris en charge pour les applications de bureau qui ont une identité de package (consultez Vue d’ensemble du déploiement). Chaîne comprise entre 1 et 32767 caractères de longueur avec un caractère non blanc au début et à la fin. Non
ResourceGroup Balise utilisée pour regrouper les activations d’extension à 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. Non
uap10 :RuntimeBehavior Spécifie le comportement d’exécution de l’application.

« packageClassicApp » : application WinUI 3 ou application Pont de bureau (Centennial). Pour une application WinUI 3, il s’agit généralement d’une TrustLevel de « mediumIL » (mais « appContainer » est également une option).

« win32App » : tout autre type d’application Win32, y compris une application empaquetée avec un emplacement externe et doit utiliser un TrustLevel de « mediumIL ».

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

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

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

« appContainer » : l’application s’exécute dans un conteneur d’applications léger (voir applications MSIX AppContainer) ; son processus s’exécute avec un niveau d’intégrité de 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 ». Non
uap16 :BaseNamedObjectsIsolation Active l’isolation BaseNameObject (BNO) pour l’application. Chaîne qui peut être l’une des valeurs suivantes : package ou aucun. Non
uap17 :BaseNamedObjectsIsolation Active l’isolation BaseNameObject (BNO) pour l’application. Chaîne qui peut être l’une des valeurs suivantes : package ou aucun. Non
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 « packageClassicApp » ou « win32App » ont implicitement AppLifecycleBehavior de « non managé » sauf indication contraire. Une des valeurs suivantes : « systemManaged », « unmanaged ». Non
uap11 :CurrentDirectoryPath Spécifie le répertoire initial lorsque le processus d’application est lancé. Cet attribut prend en charge les macros. Pour plus d’informations, consultez Macros dans le schéma de manifeste de package. Chaîne facultative qui ne peut pas contenir ces caractères : <, >, |, ?ou *. > Non
uap11 :Parameters Cet attribut est hérité de la syntaxe de l’extension de base et n’est pas applicable à l’extension com4. Autre que la validation syntaxique, cette valeur est ignorée. Cet attribut prend en charge les macros. Pour plus d’informations, consultez Macros dans le schéma de manifeste de package. Chaîne facultative avec une valeur comprise entre 1 et 32767 caractères de longueur avec un caractère non blanc à son début et à sa fin. Non

É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 a l’autorisation d’accéder à cette fonctionnalité) et à l’accès 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 : sa vignette par défaut, ses images de logo, ses couleurs de texte et d’arrière-plan, son orientation initiale de l’écran, son écran de démarrage et son apparence de vignette 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’une 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 exécutables et attributs EntryPoint doivent être spécifiés (et qui s’appliquent uniquement aux applications C#, C++ ou VB).

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

L’espace de noms uap10 (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 plus anciens que cela, vous devez fournir une combinaison équivalente d’attributs (voir la section suivante), sinon les informations d’activation sont incomplètes et l’installation échoue.

Toutefois, si votre package a <TargetDeviceFamily MinVersion="10.0.19041.0">ou version ultérieure, il s’installe uniquement sur les systèmes qui prennent en charge l’espace de noms uap10. Dans ce cas, vous devez utiliser les attributs uap10:RuntimeBehavior et uap10:TrustLevel en préférence pour les combinaisons équivalentes plus anciennes (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 Extension d’étendue d’application. S’ils ne sont pas spécifiés sur d’extension, ils sont hérités du de l’application parente. Vous spécifiez ces attributs en combinaisons, par exemple, EntryPoint, RuntimeBehavioret TrustLevel ont une signification qui se chevauche et sont spécifiés (et/ou hérités) dans des combinaisons. Voici quelques combinaisons valides d’attributs d’informations d’activation.

  1. exécutable, uap10 :RuntimeBehavior="packageClassicApp », uap10 :TrustLevel=["mediumIL » ou « appContainer » (valeur par défaut si omis)]
  2. exécutable, uap10 :RuntimeBehavior="win32App », uap10 :TrustLevel="mediumIL » (pour d’autres exigences, consultez la description plus haut dans cette rubrique pour uap10 :RuntimeBehavior).
  3. Exécutable, EntryPoint="windows.fullTrustApplication » (équivalent à uap10 :RuntimeBehavior="packageClassicApp », uap10 :TrustLevel="mediumIL »)
  4. exécutable, EntryPoint="windows.partialTrustApplication » (équivalent à uap10 :RuntimeBehavior="packageClassicApp », uap10 :TrustLevel="appContainer »)
  5. exécutable, EntryPoint= »<tout autre>»

Comme vous pouvez le voir, si votre système cible ne prend pas en charge l’espace de noms uap10, 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 ».

Mais il est redondant pour spécifier uap10 :RuntimeBehavior/uap10 :TrustLevel et EntryPoint en même temps. Mais si vous faites cela, il s’agit d’une erreur s’ils contredisent.

Les activations d’applications de plateforme Windows universelle (UWP) nécessitent entryPoint. Par conséquent, si vous spécifiez exécutable et uap10 :RuntimeBehavior="windowsApp » (sans EntryPoint), c’est une erreur. Dans ce même cas, EntryPoint spécifierait quelque chose d’autre que « windows.fullTrustApplication » et « windows.partialTrustApplication » ; et les valeurs autres que ces deux disent déjà la même chose que uap10 :RuntimeBehavior="windowsApp ». Par conséquent, uap10 :RuntimeBehavior serait redondant dans ce cas, et vous devez spécifier exécutable et EntryPoint.

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

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

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 multistanciées

  • 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 ne doit 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 l’instanciation multistanciation, où chaque activation passe dans un hôte distinct. Par conséquent, une application ne peut pas déclarer les deux 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.

Exigences

Article 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