Partager via


Intégrer votre application de bureau à Windows à l’aide d’extensions d’empaquetage

Si votre application de bureau est empaquetée (a une identité de package au moment de l’exécution), vous pouvez utiliser des extensions pour intégrer votre application à Windows à l’aide d’extensions prédéfinies dans le manifeste du package. Veuillez également consulter les fonctionnalités qui nécessitent une identité de package .

Par exemple, utilisez une extension pour créer une exception de pare-feu ; rendre votre application par défaut pour un type de fichier ; ou pointez les vignettes Démarrer vers votre application. Pour utiliser une extension, ajoutez simplement du code XML au fichier manifeste de package de votre application. Aucun code n’est requis.

Cette rubrique décrit ces extensions et les tâches que vous pouvez effectuer à l’aide de ces extensions.

Remarque

Les fonctionnalités décrites dans cette rubrique nécessitent que votre application soit empaquetée (possède une identité de package au moment de l’exécution). Cela inclut des applications empaquetées (voir Créer un projet pour une application de bureau WinUI 3 empaquetée) et des applications empaquetées avec un emplacement externe (voir Accorder l’identité du package en empaquetant un package avec un emplacement externe). Veuillez également consulter les fonctionnalités qui nécessitent une identité de package .

Transition des utilisateurs vers votre application

Aidez les utilisateurs à passer à votre application empaquetée.

Rediriger votre application de bureau existante vers votre application empaquetée

Lorsque les utilisateurs démarrent votre application de bureau non empaquetée existante, vous pouvez configurer votre application empaquetée pour qu’elle soit ouverte à la place.

Remarque

Cette fonctionnalité est prise en charge dans Windows Insider Preview Build 21313 et versions ultérieures.

Pour activer ce comportement :

  1. Ajoutez des entrées de Registre pour rediriger votre exécutable d’application de bureau non empaquetée vers votre application empaquetée.
  2. Inscrivez votre application empaquetée à lancer lorsque l’exécutable de votre application de bureau non empaquetée est lancé.

Ajouter des entrées de Registre pour rediriger votre exécutable d’application de bureau non empaquetée

  1. Dans le Registre, créez une sous-clé portant le nom du fichier exécutable de votre application de bureau sous la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options .
  2. Sous cette sous-clé, ajoutez les valeurs suivantes :
    • AppExecutionAliasRedirect (DWORD) : s’il est défini sur 1, le système recherche une extension de package AppExecutionAlias portant le même nom que l’exécutable. Si l’extension AppExecutionAlias est activée, l’application empaquetée est activée à l’aide de cette valeur.
    • AppExecutionAliasRedirectPackages (REG_SZ) : le système redirige uniquement vers les packages répertoriés. Les packages sont répertoriés par leur nom de famille de packages, séparés par des points-virgules. Si la valeur spéciale * est utilisée, le système redirige vers un AppExecutionAlias à partir de n’importe quel package.

Par exemple:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\contosoapp.exe 
    AppExecutionAliasRedirect = 1
    AppExecutionAliasRedirectPackages = "Microsoft.WindowsNotepad_8weky8webbe" 

Inscrire votre application empaquetée à lancer

Dans votre manifeste de package, ajoutez une extension AppExecutionAlias qui inscrit le nom de votre exécutable d’application de bureau non empaquetée. Par exemple:

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap3:Extension Category="windows.appExecutionAlias" EntryPoint="Windows.FullTrustApplication">
          <uap3:AppExecutionAlias>
            <desktop:ExecutionAlias Alias="contosoapp.exe" />
          </uap3:AppExecutionAlias>
        </uap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Désactiver la redirection

Les utilisateurs peuvent désactiver la redirection et lancer votre exécutable d’application non empaquetée via ces options :

  • Ils peuvent désinstaller la version empaquetée de votre application.
  • L’utilisateur peut désactiver l’entrée AppExecutionAlias pour votre application empaquetée dans la page Alias d’exécution de l’application dans Paramètres.

Espaces de noms XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10

Éléments et attributs de cette extension

<uap3:Extension
    Category="windows.appExecutionAlias"
    EntryPoint="Windows.FullTrustApplication">
    <uap3:AppExecutionAlias>
        <desktop:ExecutionAlias Alias="[AliasName]" />
    </uap3:AppExecutionAlias>
</uap3:Extension>
Nom Descriptif
Catégorie A toujours la valeur windows.appExecutionAlias.
Exécutable Chemin d’accès relatif à l’exécutable à démarrer lorsque l’alias est appelé.
Pseudonyme Nom court de votre application. Il doit toujours se terminer par l’extension «.exe».

Pointer les vignettes de démarrage existantes et les boutons de barre des tâches vers votre application empaquetée

Vos utilisateurs ont peut-être épinglé votre application de bureau à la barre des tâches ou au menu Démarrer. Vous pouvez pointer ces raccourcis vers votre nouvelle application empaquetée.

Espace de noms XML

http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3

Éléments et attributs de cette extension

<Extension Category="windows.desktopAppMigration">
    <DesktopAppMigration>
        <DesktopApp AumId="[your_app_aumid]" />
        <DesktopApp ShortcutPath="[path]" />
    </DesktopAppMigration>
</Extension>

Recherchez ici la référence complète du schéma.

Nom Descriptif
Catégorie A toujours la valeur windows.desktopAppMigration.
AumID ID de modèle utilisateur de votre application empaquetée.
RaccourciChemin Chemin d’accès aux fichiers .lnk qui démarrent la version de bureau de votre application.

Exemple :

<Package
  xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
  IgnorableNamespaces="rescap3">
  <Applications>
    <Application>
      <Extensions>
        <rescap3:Extension Category="windows.desktopAppMigration">
          <rescap3:DesktopAppMigration>
            <rescap3:DesktopApp AumId="[your_app_aumid]" />
            <rescap3:DesktopApp ShortcutPath="%USERPROFILE%\Desktop\[my_app].lnk" />
            <rescap3:DesktopApp ShortcutPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\[my_app].lnk" />
            <rescap3:DesktopApp ShortcutPath="%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\[my_app_folder]\[my_app].lnk"/>
         </rescap3:DesktopAppMigration>
        </rescap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Visionneuse d’images WPF avec transition/migration/désinstallation

Faites en sorte que votre application empaquetée ouvre des fichiers au lieu de votre application de bureau.

Vous pouvez vous assurer que les utilisateurs ouvrent votre nouvelle application empaquetée par défaut pour des types de fichiers spécifiques au lieu d’ouvrir la version de bureau de votre application.

Pour ce faire, vous devez spécifier l’identificateur programmatique (ProgID) de chaque application à partir de laquelle vous souhaitez hériter des associations de fichiers.

Espaces de noms XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3

Éléments et attributs de cette extension

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
         <MigrationProgIds>
            <MigrationProgId>"[ProgID]"</MigrationProgId>
        </MigrationProgIds>
    </FileTypeAssociation>
</Extension>

Recherchez ici la référence complète du schéma.

Nom Descriptif
Catégorie A toujours la valeur windows.fileTypeAssociation.
Nom Nom de l’association de type de fichier. Vous pouvez utiliser ce nom pour organiser et regrouper les types de fichiers. Le nom doit être en minuscules et sans espaces.
MigrProgId Identificateur programmatique (ProgID) qui décrit l’application, le composant et la version de l’application de bureau à partir de laquelle vous souhaitez hériter des associations de fichiers.

Exemple :

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
  IgnorableNamespaces="uap3, rescap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes">
            <rescap3:MigrationProgIds>
              <rescap3:MigrationProgId>Foo.Bar.1</rescap3:MigrationProgId>
              <rescap3:MigrationProgId>Foo.Bar.2</rescap3:MigrationProgId>
            </rescap3:MigrationProgIds>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Visionneuse d’images WPF avec transition/migration/désinstallation

Associer votre application empaquetée à un ensemble de types de fichiers

Vous pouvez associer votre application empaquetée aux extensions de type de fichier. Si un utilisateur clique avec le bouton droit sur un fichier dans l’Explorateur de fichiers, puis sélectionne l’option Ouvrir avec , votre application apparaît dans la liste des suggestions. Pour plus d’informations sur l’utilisation de cette extension, consultez Intégrer une application de bureau empaquetée à l’Explorateur de fichiers.

Espaces de noms XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3

Éléments et attributs de cette extension

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
        <SupportedFileTypes>
            <FileType>"[file extension]"</FileType>
        </SupportedFileTypes>
    </FileTypeAssociation>
</Extension>

Recherchez ici la référence complète du schéma.

Nom Descriptif
Catégorie A toujours la valeur windows.fileTypeAssociation.
Nom Nom de l’association de type de fichier. Vous pouvez utiliser ce nom pour organiser et regrouper les types de fichiers. Le nom doit être en minuscules et sans espaces.
Type de fichier Extension de fichier prise en charge par votre application.

Exemple :

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap, uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="mediafiles">
            <uap:SupportedFileTypes>
            <uap:FileType>.avi</uap:FileType>
            </uap:SupportedFileTypes>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Visionneuse d’images WPF avec transition/migration/désinstallation

Ajouter des options aux menus contextuels des fichiers qui ont un certain type de fichier

Cette extension vous permet d’ajouter des options au menu contextuel qui s’affiche lorsque les utilisateurs cliquent avec le bouton droit sur un fichier dans l’Explorateur de fichiers. Ces options permettent aux utilisateurs d’interagir avec votre fichier, tels que l’impression, la modification ou l’aperçu du fichier. Pour plus d’informations sur l’utilisation de cette extension, consultez Intégrer une application de bureau empaquetée à l’Explorateur de fichiers.

Espaces de noms XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3

Éléments et attributs de cette extension

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
        <SupportedVerbs>
           <Verb Id="[ID]" Extended="[Extended]" Parameters="[parameters]">"[verb label]"</Verb>
        </SupportedVerbs>
    </FileTypeAssociation>
</Extension>

Recherchez ici la référence complète du schéma.

Nom Descriptif
Catégorie A toujours la valeur windows.fileTypeAssociation.
Nom Nom de l’association de type de fichier. Vous pouvez utiliser ce nom pour organiser et regrouper les types de fichiers. Le nom doit être en minuscules et sans espaces.
Verbe Nom qui apparaît dans le menu contextuel de l’Explorateur de fichiers. C'est une chaîne localisable qui utilise ms-resource.
Id ID unique du verbe. Si votre application est une application UWP, elle est transmise à votre application dans le cadre de ses arguments d’événement d’activation afin qu’elle puisse gérer la sélection de l’utilisateur de manière appropriée. Si votre application est une application empaquetée à pleine confiance, elle reçoit des paramètres à la place (voir ci-dessous).
Paramètres Liste des paramètres et valeurs d’argument associés au verbe. Si votre application est une application empaquetée à confiance totale, ces paramètres sont transmis à l’application en tant qu’arguments d’événement lorsque l’application est activée. Vous pouvez personnaliser le comportement de votre application en fonction de différents verbes d’activation. Si une variable peut contenir un chemin d'accès au fichier, encadrez la valeur du paramètre entre guillemets. Cela évite les problèmes qui se produisent dans les cas où le chemin inclut des espaces. Si votre application est une application UWP, vous ne pouvez pas transmettre de paramètres. L’application reçoit l'Id à la place (voir la puce précédente).
Prolongé Spécifie que le verbe s’affiche uniquement si l’utilisateur affiche le menu contextuel en maintenant la touche Maj enfoncée avant de cliquer avec le bouton droit sur le fichier. Cet attribut est facultatif et est défini par défaut sur une valeur False (par exemple, afficher toujours le verbe) s’il n’est pas répertorié. Vous spécifiez ce comportement individuellement pour chaque verbe (à l’exception de « Ouvrir », qui est toujours False).

Exemple :

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"

  IgnorableNamespaces="uap, uap2, uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes">
            <uap2:SupportedVerbs>
              <uap3:Verb Id="Edit" Parameters="/e &quot;%1&quot;">Edit</uap3:Verb>
              <uap3:Verb Id="Print" Extended="true" Parameters="/p &quot;%1&quot;">Print</uap3:Verb>
            </uap2:SupportedVerbs>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Visionneuse d’images WPF avec transition/migration/désinstallation

Ouvrir certains types de fichiers directement à l’aide d’une URL

Vous pouvez vous assurer que les utilisateurs ouvrent votre nouvelle application empaquetée par défaut pour des types de fichiers spécifiques au lieu d’ouvrir la version de bureau de votre application.

Espaces de noms XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3

Éléments et attributs de cette extension

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]" UseUrl="true" Parameters="%1">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
    </FileTypeAssociation>
</Extension>

Recherchez ici la référence complète du schéma.

Nom Descriptif
Catégorie A toujours la valeur windows.fileTypeAssociation.
Nom Nom de l’association de type de fichier. Vous pouvez utiliser ce nom pour organiser et regrouper les types de fichiers. Le nom doit être en minuscules et sans espaces.
Utiliser l'URL Indique s’il faut ouvrir des fichiers directement à partir d’une cible d’URL. Si vous ne définissez pas cette valeur, lorsque votre application tente d’ouvrir un fichier en utilisant une URL, le système doit d’abord télécharger le fichier localement.
Paramètres Paramètres facultatifs.
Type de fichier Extensions de fichier pertinentes.

Exemple :

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap, uap3">
  <Applications>
      <Application>
        <Extensions>
          <uap:Extension Category="windows.fileTypeAssociation">
            <uap3:FileTypeAssociation Name="myfiletypes" UseUrl="true" Parameters="%1">
              <uap:SupportedFileTypes>
                <uap:FileType>.txt</uap:FileType>
                <uap:FileType>.doc</uap:FileType>
              </uap:SupportedFileTypes>
            </uap3:FileTypeAssociation>
          </uap:Extension>
        </Extensions>
      </Application>
    </Applications>
</Package>

Effectuer des tâches d’installation

Créer une exception de pare-feu pour votre application

Si votre application nécessite une communication via un port, vous pouvez ajouter votre application à la liste des exceptions de pare-feu.

Remarque

Pour utiliser la catégorie d’extension « windows.firewallRules » (voir ci-dessous), votre package a besoin des niveau de permission de confiance totale capacité restreinte. Consultez liste de fonctionnalités restreintes.

Espace de noms XML

http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

Éléments et attributs de cette extension

<Extension Category="windows.firewallRules">
  <FirewallRules Executable="[executable file name]">
    <Rule
      Direction="[Direction]"
      IPProtocol="[Protocol]"
      LocalPortMin="[LocalPortMin]"
      LocalPortMax="LocalPortMax"
      RemotePortMin="RemotePortMin"
      RemotePortMax="RemotePortMax"
      Profile="[Profile]"/>
  </FirewallRules>
</Extension>

Recherchez ici la référence complète du schéma.

Nom Descriptif
Catégorie Toujours windows.firewallRules
Exécutable Nom du fichier exécutable que vous souhaitez ajouter à la liste des exceptions de pare-feu
Direction Indique si la règle est une règle entrante ou sortante
Protocole IP Protocole de communication
LocalPortMin Numéro de port inférieur dans une plage de numéros de port locaux.
LocalPortMax Numéro de port le plus élevé d’une plage de numéros de port locaux.
RemotePortMax (en anglais) Numéro de port inférieur dans une plage de numéros de port distants.
RemotePortMax (en anglais) Numéro de port le plus élevé d’une plage de numéros de port distants.
Profil Type de réseau

Exemple :

<Package
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="desktop2">
  <Extensions>
    <desktop2:Extension Category="windows.firewallRules">
      <desktop2:FirewallRules Executable="Contoso.exe">
          <desktop2:Rule Direction="in" IPProtocol="TCP" Profile="all"/>
          <desktop2:Rule Direction="in" IPProtocol="UDP" LocalPortMin="1337" LocalPortMax="1338" Profile="domain"/>
          <desktop2:Rule Direction="in" IPProtocol="UDP" LocalPortMin="1337" LocalPortMax="1338" Profile="public"/>
          <desktop2:Rule Direction="out" IPProtocol="UDP" LocalPortMin="1339" LocalPortMax="1340" RemotePortMin="15"
                         RemotePortMax="19" Profile="domainAndPrivate"/>
          <desktop2:Rule Direction="out" IPProtocol="GRE" Profile="private"/>
      </desktop2:FirewallRules>
  </desktop2:Extension>
</Extensions>
</Package>

Placer vos fichiers DLL dans n’importe quel dossier du package

Utilisez l’extension uap6 :LoaderSearchPathOverride pour déclarer jusqu’à cinq chemins de dossier dans le package d’application, par rapport au chemin racine du package d’application, à utiliser dans le chemin de recherche du chargeur pour les processus de l’application.

L''ordre de recherche DLL pour les applications Windows inclut des packages dans le graphe de dépendances de package si les packages disposent des autorisations d'exécution. Par défaut, cela inclut les packages principaux, facultatifs et d’infrastructure, bien que cela puisse être remplacé par l’élément uap6 :AllowExecution dans le manifeste du package.

Par défaut, un package inclus dans l’ordre de recherche DLL inclut son chemin d’accès effectif. Pour plus d’informations sur les chemins d’accès effectifs, consultez la propriété EffectivePath (WinRT) et l’énumération PackagePathType (Win32).

Si un package spécifie uap6 :LoaderSearchPathOverride, ces informations sont utilisées au lieu du chemin d’accès effectif du package.

Chaque package ne peut contenir qu’une seule extension uap6 :LoaderSearchPathOverride . Cela signifie que vous pouvez ajouter l’un d’entre eux à votre package principal, puis en ajouter un à chacun de vos packages facultatifs et des jeux associés.

Espace de noms XML

http://schemas.microsoft.com/appx/manifest/uap/windows10/6

Éléments et attributs de cette extension

Déclarez cette extension au niveau du package de votre manifeste d’application.

<Extension Category="windows.loaderSearchPathOverride">
  <LoaderSearchPathOverride>
    <LoaderSearchPathEntry FolderPath="[path]"/>
  </LoaderSearchPathOverride>
</Extension>

Nom Descriptif
Catégorie A toujours la valeur windows.loaderSearchPathOverride.
CheminDossier Chemin d’accès du dossier qui contient vos fichiers DLL. Spécifiez un chemin d’accès relatif au dossier racine du package. Vous pouvez spécifier jusqu’à cinq chemins d’accès dans une seule extension. Si vous souhaitez que le système recherche des fichiers dans le dossier racine du package, utilisez une chaîne vide pour l’un de ces chemins. N’incluez pas de chemins en double et assurez-vous que vos chemins ne contiennent pas de barres obliques de début et de fin ou de barres obliques inverses.

Le système ne recherche pas les sous-dossiers. Veillez donc à répertorier explicitement chaque dossier qui contient des fichiers DLL que vous souhaitez charger par le système.

Exemple :

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/6"
  IgnorableNamespaces="uap6">
  ...
    <Extensions>
      <uap6:Extension Category="windows.loaderSearchPathOverride">
        <uap6:LoaderSearchPathOverride>
          <uap6:LoaderSearchPathEntry FolderPath=""/>
          <uap6:LoaderSearchPathEntry FolderPath="folder1/subfolder1"/>
          <uap6:LoaderSearchPathEntry FolderPath="folder2/subfolder2"/>
        </uap6:LoaderSearchPathOverride>
      </uap6:Extension>
    </Extensions>
...
</Package>

Intégrer à l’Explorateur de fichiers

Aidez les utilisateurs à organiser vos fichiers et à interagir avec eux de manière familière.

Définir le comportement de votre application lorsque les utilisateurs sélectionnent et ouvrent plusieurs fichiers en même temps

Spécifiez le comportement de votre application lorsqu’un utilisateur ouvre plusieurs fichiers simultanément.

Espaces de noms XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3

Éléments et attributs de cette extension

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]" MultiSelectModel="[SelectionModel]">
        <SupportedVerbs>
            <Verb Id="Edit" MultiSelectModel="[SelectionModel]">Edit</Verb>
        </SupportedVerbs>
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
</Extension>

Recherchez ici la référence complète du schéma.

Nom Descriptif
Catégorie A toujours la valeur windows.fileTypeAssociation.
Nom Nom de l’association de type de fichier. Vous pouvez utiliser ce nom pour organiser et regrouper les types de fichiers. Le nom doit être en minuscules et sans espaces.
MultiSelectModel Voir ci-dessous
Type de fichier Extensions de fichier pertinentes.

MultiSelectModel

Les applications de bureau empaquetées ont les mêmes trois options que les applications de bureau standard.

  • Player: votre application est activée une seule fois. Tous les fichiers sélectionnés sont passés à votre application en tant que paramètres d’argument.
  • Single: votre application est activée une fois pour le premier fichier sélectionné. D’autres fichiers sont ignorés.
  • Document: une nouvelle instance distincte de votre application est activée pour chaque fichier sélectionné.

Vous pouvez définir différentes préférences pour différents types de fichiers et actions. Par exemple, vous souhaiterez peut-être ouvrir Documents en mode Document et Images en mode Lecteur.

Exemple :

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap, uap2, uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes" MultiSelectModel="Document">
            <uap2:SupportedVerbs>
              <uap3:Verb Id="Edit" MultiSelectModel="Player">Edit</uap3:Verb>
              <uap3:Verb Id="Preview" MultiSelectModel="Document">Preview</uap3:Verb>
            </uap2:SupportedVerbs>
            <uap:SupportedFileTypes>
              <uap:FileType>.txt</uap:FileType>
            </uap:SupportedFileTypes>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Si l’utilisateur ouvre 15 fichiers ou moins, le choix par défaut pour l’attribut MultiSelectModel est Player. Sinon, la valeur par défaut est Document. Les applications UWP sont toujours démarrées en tant que Player.

Afficher le contenu d’un fichier dans une image miniature dans l’Explorateur de fichiers

Permettre aux utilisateurs d’afficher une image miniature du contenu du fichier lorsque l’icône du fichier apparaît dans la taille moyenne, grande ou supérieure.

Espace de noms XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

Éléments et attributs de cette extension

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
        <ThumbnailHandler
            Clsid  ="[Clsid  ]" />
    </FileTypeAssociation>
</Extension>

Recherchez ici la référence complète du schéma.

Nom Descriptif
Catégorie A toujours la valeur windows.fileTypeAssociation.
Nom Nom de l’association de type de fichier. Vous pouvez utiliser ce nom pour organiser et regrouper les types de fichiers. Le nom doit être en minuscules et sans espaces.
Type de fichier Extensions de fichier pertinentes.
CLSID ID de classe de votre application.

Exemple :

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="uap, uap2, uap3, desktop2">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes">
            <uap:SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
            </uap:SupportedFileTypes>
            <desktop2:ThumbnailHandler
              Clsid  ="20000000-0000-0000-0000-000000000001"  />
            </uap3:FileTypeAssociation>
         </uap::Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Afficher le contenu du fichier dans le volet Aperçu de l’Explorateur de fichiers

Permettre aux utilisateurs d’afficher un aperçu du contenu d’un fichier dans le volet Aperçu de l’Explorateur de fichiers.

Espace de noms XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

Éléments et attributs de cette extension

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
        <DesktopPreviewHandler Clsid  ="[Clsid  ]" />
    </FileTypeAssociation>
</Extension>

Recherchez ici la référence complète du schéma.

Nom Descriptif
Catégorie A toujours la valeur windows.fileTypeAssociation.
Nom Nom de l’association de type de fichier. Vous pouvez utiliser ce nom pour organiser et regrouper les types de fichiers. Le nom doit être en minuscules et sans espaces.
Type de fichier Extensions de fichier pertinentes.
CLSID ID de classe de votre application.

Exemple :

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="uap, uap2, uap3, desktop2">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes">
            <uap:SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
                </uap:SupportedFileTypes>
              <desktop2:DesktopPreviewHandler Clsid ="20000000-0000-0000-0000-000000000001" />
           </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Permettre aux utilisateurs de regrouper des fichiers à l’aide de la colonne Type dans l’Explorateur de fichiers

Vous pouvez associer une ou plusieurs valeurs prédéfinies pour vos types de fichiers au champ Type .

Dans l’Explorateur de fichiers, les utilisateurs peuvent regrouper ces fichiers à l’aide de ce champ. Les composants système utilisent également ce champ à diverses fins telles que l’indexation.

Pour plus d’informations sur le champ Kind et les valeurs que vous pouvez utiliser pour ce champ, consultez Utilisation de noms de type.

Espaces de noms XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3

Éléments et attributs de cette extension

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
        <KindMap>
            <Kind value="[KindValue]">
        </KindMap>
    </FileTypeAssociation>
</Extension>

Recherchez ici la référence complète du schéma.

Nom Descriptif
Catégorie A toujours la valeur windows.fileTypeAssociation.
Nom Nom de l’association de type de fichier. Vous pouvez utiliser ce nom pour organiser et regrouper les types de fichiers. Le nom doit être en minuscules et sans espaces.
Type de fichier Extensions de fichier pertinentes.
valeur Valeur de type valide

Exemple :

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
  IgnorableNamespaces="uap, rescap">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
           <uap:FileTypeAssociation Name="mediafiles">
             <uap:SupportedFileTypes>
               <uap:FileType>.m4a</uap:FileType>
               <uap:FileType>.mta</uap:FileType>
             </uap:SupportedFileTypes>
             <rescap:KindMap>
               <rescap:Kind value="Item">
               <rescap:Kind value="Communications">
               <rescap:Kind value="Task">
             </rescap:KindMap>
          </uap:FileTypeAssociation>
      </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Rendre les propriétés de fichier disponibles pour la recherche, l’index, les boîtes de dialogue de propriétés et le volet d’informations

Espace de noms XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

Éléments et attributs de cette extension

<uap:Extension Category="windows.fileTypeAssociation">
    <uap:FileTypeAssociation Name="[Name]">
        <SupportedFileTypes>
            <FileType>.bar</FileType>
        </SupportedFileTypes>
        <DesktopPropertyHandler Clsid ="[Clsid]"/>
    </uap:FileTypeAssociation>
</uap:Extension>

Recherchez ici la référence complète du schéma.

Nom Descriptif
Catégorie A toujours la valeur windows.fileTypeAssociation.
Nom Nom de l’association de type de fichier. Vous pouvez utiliser ce nom pour organiser et regrouper les types de fichiers. Le nom doit être en minuscules et sans espaces.
Type de fichier Extensions de fichier pertinentes.
CLSID ID de classe de votre application.

Exemple :

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="uap, uap3, desktop2">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes">
            <uap:SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
            </uap:SupportedFileTypes>
            <desktop2:DesktopPropertyHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Spécifier un gestionnaire de menus contextuels pour un type de fichier

Si votre application de bureau définit un gestionnaire de menus contextuels, utilisez cette extension pour inscrire le gestionnaire de menus.

Espaces de noms XML

  • http://schemas.microsoft.com/appx/manifest/foundation/windows10
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10/4

Éléments et attributs de cette extension

<Extensions>
    <com:Extension Category="windows.comServer">
        <com:ComServer>
            <com:SurrogateServer AppId="[AppID]" DisplayName="[DisplayName]">
                <com:Class Id="[Clsid]" Path="[Path]" ThreadingModel="[Model]"/>
            </com:SurrogateServer>
        </com:ComServer>
    </com:Extension>
    <desktop4:Extension Category="windows.fileExplorerContextMenus">
        <desktop4:FileExplorerContextMenus>
            <desktop4:ItemType Type="[Type]">
                <desktop4:Verb Id="[ID]" Clsid="[Clsid]" />
            </desktop4:ItemType>
        </desktop4:FileExplorerContextMenus>
    </desktop4:Extension>
</Extensions>

Recherchez la référence de schéma complète ici : com :ComServer et desktop4 :FileExplorerContextMenus.

Les instructions

Pour inscrire votre gestionnaire de menus contextuels, suivez ces instructions.

  1. Dans votre application de bureau, implémentez un gestionnaire de menus contextuels en implémentant l’interface IExplorerCommand ou IExplorerCommandState . Pour obtenir un exemple, consultez l’exemple de code ExplorerCommandVerb . Veillez à définir un GUID de classe pour chacun de vos objets d’implémentation. Par exemple, le code suivant définit un ID de classe pour une implémentation d’IExplorerCommand.

    class __declspec(uuid("00001111-aaaa-2222-bbbb-3333cccc4444")) CExplorerCommandVerb;
    
  2. Dans votre manifeste de package, spécifiez une extension d’application com :ComServer qui inscrit un serveur de substitution COM avec l’ID de classe de l’implémentation de votre gestionnaire de menus contextuels.

    <com:Extension Category="windows.comServer">
        <com:ComServer>
            <com:SurrogateServer AppId="00001111-aaaa-2222-bbbb-3333cccc4444" DisplayName="ContosoHandler">
                <com:Class Id="00001111-aaaa-2222-bbbb-3333cccc4444" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/>
            </com:SurrogateServer>
        </com:ComServer>
    </com:Extension>
    
  3. Dans votre manifeste de package, spécifiez une extension d’application Desktop4 :FileExplorerContextMenus qui inscrit l’implémentation de votre gestionnaire de menus contextuels.

    <desktop4:Extension Category="windows.fileExplorerContextMenus">
        <desktop4:FileExplorerContextMenus>
            <desktop4:ItemType Type=".rar">
                <desktop4:Verb Id="Command1" Clsid="00001111-aaaa-2222-bbbb-3333cccc4444" />
            </desktop4:ItemType>
        </desktop4:FileExplorerContextMenus>
    </desktop4:Extension>
    

Exemple :

<Package
  xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
  xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
  xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
  IgnorableNamespaces="desktop4">
  <Applications>
    <Application>
      <Extensions>
        <com:Extension Category="windows.comServer">
          <com:ComServer>
            <com:SurrogateServer AppId="00001111-aaaa-2222-bbbb-3333cccc4444" DisplayName="ContosoHandler">
              <com:Class Id="00001111-aaaa-2222-bbbb-3333cccc4444" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/>
            </com:SurrogateServer>
          </com:ComServer>
        </com:Extension>
        <desktop4:Extension Category="windows.fileExplorerContextMenus">
          <desktop4:FileExplorerContextMenus>
            <desktop4:ItemType Type=".contoso">
              <desktop4:Verb Id="Command1" Clsid="00001111-aaaa-2222-bbbb-3333cccc4444" />
            </desktop4:ItemType>
          </desktop4:FileExplorerContextMenus>
        </desktop4:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Faites apparaître les fichiers de votre service cloud dans l’Explorateur de fichiers

Inscrivez les gestionnaires que vous implémentez dans votre application. Vous pouvez également ajouter des options de menu contextuel qui s’affichent lorsque vous cliquez avec le bouton droit sur vos fichiers cloud dans l’Explorateur de fichiers.

Espace de noms XML

  • http://schemas.microsoft.com/appx/manifest/desktop/windows10

Éléments et attributs de cette extension

<Extension Category="windows.cloudfiles" >
    <CloudFiles IconResource="[Icon]">
        <CustomStateHandler Clsid ="[Clsid]"/>
        <ThumbnailProviderHandler Clsid ="[Clsid]"/>
        <ExtendedPropertyhandler Clsid ="[Clsid]"/>
        <CloudFilesContextMenus>
            <Verb Id ="Command3" Clsid= "[GUID]">[Verb Label]</Verb>
        </CloudFilesContextMenus>
    </CloudFiles>
</Extension>

Nom Descriptif
Catégorie A toujours la valeur windows.cloudfiles.
ressource d'icône Icône qui représente votre service de fournisseur de fichiers cloud. Cette icône s’affiche dans le volet de navigation de l’Explorateur de fichiers. Les utilisateurs choisissent cette icône pour afficher les fichiers de votre service cloud.
CustomStateHandler Clsid ID de classe de l’application qui implémente CustomStateHandler. Le système utilise cet ID de classe pour demander des états et des colonnes personnalisés pour les fichiers cloud.
ThumbnailProviderHandler CLSID ID de classe de l’application qui implémente thumbnailProviderHandler. Le système utilise cet ID de classe pour demander des images miniatures pour les fichiers cloud.
GestionnairePropriétéÉtendue Clsid ID de classe de l’application qui implémente ExtendedPropertyHandler. Le système utilise cet ID de classe pour demander des propriétés étendues pour un fichier cloud.
Verbe Nom qui apparaît dans le menu contextuel de l’Explorateur de fichiers pour les fichiers fournis par votre service cloud.
Id ID unique du verbe.

Exemple :

<Package
    xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
    IgnorableNamespaces="desktop">
  <Applications>
    <Application>
      <Extensions>
        <Extension Category="windows.cloudfiles" >
            <CloudFiles IconResource="images\Wide310x150Logo.png">
                <CustomStateHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
                <ThumbnailProviderHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
                <ExtendedPropertyhandler Clsid ="20000000-0000-0000-0000-000000000001"/>
                <desktop:CloudFilesContextMenus>
                    <desktop:Verb Id ="keep" Clsid=
                       "20000000-0000-0000-0000-000000000001">
                       Always keep on this device</desktop:Verb>
                </desktop:CloudFilesContextMenus>
            </CloudFiles>
          </Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Démarrez votre application de différentes manières

Démarrer votre application à l’aide d’un protocole

Les associations de protocole peuvent permettre à d’autres programmes et composants système d’interagir avec votre application empaquetée. Lorsque votre application empaquetée est démarrée à l’aide d’un protocole, vous pouvez spécifier des paramètres spécifiques à passer à ses arguments d’événement d’activation afin qu’il puisse se comporter en conséquence. Les paramètres sont pris en charge uniquement pour les applications empaquetées et de confiance totale. Les applications UWP ne peuvent pas utiliser de paramètres.

Espace de noms XML

http://schemas.microsoft.com/appx/manifest/uap/windows10/3

Éléments et attributs de cette extension

<Extension
    Category="windows.protocol">
  <Protocol
      Name="[Protocol name]"
      Parameters="[Parameters]" />
</Extension>

Recherchez ici la référence complète du schéma.

Nom Descriptif
Catégorie A toujours la valeur windows.protocol.
Nom Nom du protocole.
Paramètres Liste des paramètres et des valeurs à transmettre à votre application en tant qu’arguments d’événement lorsque l’application est activée. Si une variable peut contenir un chemin d'accès au fichier, encadrez la valeur du paramètre entre guillemets. Cela évite les problèmes qui se produisent dans les cas où le chemin inclut des espaces.

Exemple :

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
  IgnorableNamespaces="uap3, desktop">
  <Applications>
    <Application>
      <Extensions>
        <uap3:Extension
          Category="windows.protocol">
          <uap3:Protocol
            Name="myapp-cmd"
            Parameters="/p &quot;%1&quot;" />
        </uap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Démarrer votre application à l’aide d’un alias

Les utilisateurs et d’autres processus peuvent utiliser un alias pour démarrer votre application sans avoir à spécifier le chemin complet de votre application. Vous pouvez spécifier ce nom d’alias.

Espaces de noms XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10

Éléments et attributs de cette extension

<uap3:Extension
    Category="windows.appExecutionAlias"
    Executable="[ExecutableName]"
    EntryPoint="Windows.FullTrustApplication">
    <uap3:AppExecutionAlias>
        <desktop:ExecutionAlias Alias="[AliasName]" />
    </uap3:AppExecutionAlias>
</uap3:Extension>
Nom Descriptif
Catégorie A toujours la valeur windows.appExecutionAlias.
Exécutable Chemin d’accès relatif à l’exécutable à démarrer lorsque l’alias est appelé.
Pseudonyme Nom court de votre application. Il doit toujours se terminer par l’extension «.exe». Vous ne pouvez spécifier qu’un seul alias d’exécution d’application pour chaque application dans le package. Si plusieurs applications s’inscrivent pour le même alias, le système appelle le dernier qui a été inscrit. Veillez donc à choisir un alias unique que d’autres applications sont peu susceptibles de remplacer.

Exemple :

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap3">
  <Applications>
    <Application>
      <Extensions>
         <uap3:Extension
                Category="windows.appExecutionAlias"
                Executable="exes\launcher.exe"
                EntryPoint="Windows.FullTrustApplication">
            <uap3:AppExecutionAlias>
                <desktop:ExecutionAlias Alias="Contoso.exe" />
            </uap3:AppExecutionAlias>
        </uap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Recherchez ici la référence complète du schéma.

Démarrer un fichier exécutable lorsque les utilisateurs se connectent à Windows

Les tâches de démarrage permettent à votre application d’exécuter automatiquement un exécutable chaque fois qu’un utilisateur se connecte.

Remarque

L’utilisateur doit démarrer votre application au moins une fois pour inscrire cette tâche de démarrage.

Votre application peut déclarer plusieurs tâches de démarrage. Chaque tâche démarre indépendamment. Toutes les tâches de démarrage s’affichent dans le Gestionnaire des tâches sous l’onglet Démarrage avec le nom que vous spécifiez dans le manifeste de votre application et l’icône de votre application. Le Gestionnaire des tâches analyse automatiquement l’impact de démarrage de vos tâches.

Les utilisateurs peuvent désactiver manuellement la tâche de démarrage de votre application à l’aide du Gestionnaire de tâches. Si un utilisateur désactive une tâche, vous ne pouvez pas la réactiver par programmation.

Espace de noms XML

http://schemas.microsoft.com/appx/manifest/desktop/windows10

Éléments et attributs de cette extension

<Extension
    Category="windows.startupTask"
    Executable="[ExecutableName]"
    EntryPoint="Windows.FullTrustApplication">
  <StartupTask
      TaskId="[TaskID]"
      Enabled="true"
      DisplayName="[DisplayName]" />
</Extension>
Nom Descriptif
Catégorie A toujours la valeur windows.startupTask.
Exécutable Chemin relatif du fichier programme pour démarrer.
ID de tâche Identificateur unique de votre tâche. À l’aide de cet identificateur, votre application peut appeler les API dans la classe Windows.ApplicationModel.StartupTask pour activer ou désactiver par programmation une tâche de démarrage.
Activé Indique si la tâche démarre d'abord activée ou désactivée. Les tâches activées s’exécutent la prochaine fois que l’utilisateur se connecte (sauf si l’utilisateur le désactive).
Nom affiché Nom de la tâche qui s’affiche dans le Gestionnaire des tâches. Vous pouvez localiser cette chaîne à l’aide de ms-resource.

Exemple :

<Package
  xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
  IgnorableNamespaces="desktop">
  <Applications>
    <Application>
      <Extensions>
        <desktop:Extension
          Category="windows.startupTask"
          Executable="bin\MyStartupTask.exe"
          EntryPoint="Windows.FullTrustApplication">
        <desktop:StartupTask
          TaskId="MyStartupTask"
          Enabled="true"
          DisplayName="My App Service" />
        </desktop:Extension>
      </Extensions>
    </Application>
  </Applications>
 </Package>

Permettre aux utilisateurs de démarrer votre application lorsqu’ils connectent un appareil à leur PC

La lecture automatique peut présenter votre application en tant qu’option lorsqu’un utilisateur connecte un appareil à son PC.

Espace de noms XML

http://schemas.microsoft.com/appx/manifest/desktop/windows10/3

Éléments et attributs de cette extension

<Extension Category="windows.autoPlayHandler">
  <AutoPlayHandler>
    <InvokeAction ActionDisplayName="[action string]" ProviderDisplayName="[name of your app/service]">
      <Content ContentEvent="[Content event]" Verb="[any string]" DropTargetHandler="[Clsid]" />
      <Content ContentEvent="[Content event]" Verb="[any string]" Parameters="[Initialization parameter]"/>
      <Device DeviceEvent="[Device event]" HWEventHandler="[Clsid]" InitCmdLine="[Initialization parameter]"/>
    </InvokeAction>
  </AutoPlayHandler>
Nom Descriptif
Catégorie A toujours la valeur windows.autoPlayHandler.
ActionDisplayName Chaîne qui représente l’action que les utilisateurs peuvent entreprendre avec un appareil qu’ils se connectent à un PC (par exemple : « Importer des fichiers » ou « Lire la vidéo »).
NomD'AffichageDuFournisseur Chaîne qui représente votre application ou service (par exemple : « Lecteur vidéo Contoso »).
Événement de contenu Nom d’un événement de contenu qui amène les utilisateurs à être invités avec votre ActionDisplayName et ProviderDisplayName. Un événement de contenu est déclenché lorsqu’un appareil de volume tel qu’une carte mémoire de caméra, un lecteur numérique ou un DVD est inséré dans le PC. Vous trouverez ici la liste complète de ces événements.
Verbe Le paramètre Verbe identifie une valeur transmise à votre application pour l’option sélectionnée. Vous pouvez spécifier plusieurs actions de lancement pour un événement de lecture automatique et utiliser le paramètre Verbe pour déterminer l’option sélectionnée par un utilisateur pour votre application. Vous pouvez déterminer l’option sélectionnée par l’utilisateur en vérifiant la propriété du verbe des arguments de l’événement de démarrage passés à votre application. Vous pouvez utiliser n’importe quelle valeur pour le paramètre Verbe, sauf, ouvrir, qui est réservé.
DropTargetHandler ID de classe de l’application qui implémente l’interface IDropTarget . Les fichiers du média amovible sont passés à la méthode Drop de votre implémentation IDropTarget.
Paramètres Vous n’avez pas besoin d’implémenter l’interface IDropTarget pour tous les événements de contenu. Pour l’un des événements de contenu, vous pouvez fournir des paramètres de ligne de commande au lieu d’implémenter l’interface IDropTarget . Pour ces événements, AutoPlay démarre votre application à l'aide de ces paramètres de ligne de commande. Vous pouvez analyser ces paramètres dans le code d’initialisation de votre application pour déterminer s’il a été démarré par AutoPlay, puis fournir votre implémentation personnalisée.
DeviceEvent Nom d’un événement d’appareil qui amène les utilisateurs à être invités avec votre ActionDisplayName et ProviderDisplayName. Un événement d’appareil est déclenché lorsqu’un appareil est connecté au PC. Les événements de l'appareil commencent par la chaîne WPD et vous pouvez les trouver listés ici.
HWEventHandler ID de classe de l’application qui implémente l’interface IHWEventHandler .
InitCmdLine Paramètre de chaîne que vous souhaitez transmettre à la méthode Initialiser de l’interface IHWEventHandler.

Exemple :

<Package
  xmlns:desktop3="http://schemas.microsoft.com/appx/manifest/desktop/windows10/3"
  IgnorableNamespaces="desktop3">
  <Applications>
    <Application>
      <Extensions>
        <desktop3:Extension Category="windows.autoPlayHandler">
          <desktop3:AutoPlayHandler>
            <desktop3:InvokeAction ActionDisplayName="Import my files" ProviderDisplayName="ms-resource:AutoPlayDisplayName">
              <desktop3:Content ContentEvent="ShowPicturesOnArrival" Verb="show" DropTargetHandler="CD041BAE-0DEA-4472-9B7B-C98043D26EA8"/>
              <desktop3:Content ContentEvent="PlayVideoFilesOnArrival" Verb="play" Parameters="%1" />
              <desktop3:Device DeviceEvent="WPD\ImageSource" HWEventHandler="CD041BAE-0DEA-4472-9B7B-C98043D26EA8" InitCmdLine="/autoplay"/>
            </desktop3:InvokeAction>
          </desktop3:AutoPlayHandler>
      </Extensions>
    </Application>
  </Applications>
</Package>

Redémarrez automatiquement après avoir reçu une mise à jour à partir du Microsoft Store

Si votre application est ouverte lorsque les utilisateurs installent une mise à jour, l’application se ferme.

Si vous souhaitez que cette application redémarre une fois la mise à jour terminée, appelez la fonction RegisterApplicationRestart dans chaque processus que vous souhaitez redémarrer.

Chaque fenêtre active de votre application reçoit un message WM_QUERYENDSESSION . À ce stade, votre application peut appeler à nouveau la fonction RegisterApplicationRestart pour mettre à jour la ligne de commande si nécessaire.

Lorsque chaque fenêtre active de votre application reçoit le message WM_ENDSESSION , votre application doit enregistrer des données et s’arrêter.

Remarque

Vos fenêtres actives reçoivent également le message WM_CLOSE si l’application ne gère pas le message WM_ENDSESSION .

À ce stade, votre application a 30 secondes pour fermer ses propres processus ou la plateforme les met fin avec force.

Une fois la mise à jour terminée, votre application redémarre.

Utiliser d’autres applications

Intégrer à d’autres applications, démarrer d’autres processus ou partager des informations.

Rendre votre application affichée en tant que cible d’impression dans les applications qui prennent en charge l’impression

Lorsque les utilisateurs souhaitent imprimer des données à partir d’une autre application telle que le Bloc-notes, vous pouvez faire apparaître votre application en tant que cible d’impression dans la liste des cibles d’impression disponibles de l’application.

Vous devez modifier votre application afin qu’elle reçoive des données d’impression au format XPS (XML Paper Specification).

Espaces de noms XML

http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

Éléments et attributs de cette extension

<Extension Category="windows.appPrinter">
    <AppPrinter
        DisplayName="[DisplayName]"
        Parameters="[Parameters]" />
</Extension>

Recherchez ici la référence complète du schéma.

Nom Descriptif
Catégorie A toujours la valeur windows.appPrinter.
Nom affiché Nom que vous souhaitez afficher dans la liste des cibles d’impression d’une application.
Paramètres Tous les paramètres requis par votre application pour gérer correctement la demande.

Exemple :

<Package
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="desktop2">
  <Applications>
  <Application>
    <Extensions>
      <desktop2:Extension Category="windows.appPrinter">
        <desktop2:AppPrinter
          DisplayName="Send to Contoso"
          Parameters="/insertdoc %1" />
      </desktop2:Extension>
    </Extensions>
  </Application>
</Applications>
</Package>

Rechercher un exemple qui utilise cette extension ici

Partager des polices avec d’autres applications Windows

Partagez vos polices personnalisées avec d’autres applications Windows.

Remarque

Avant de pouvoir soumettre une application qui utilise cette extension au Windows Store, vous devez d’abord obtenir l’approbation de l’équipe du Store. Pour obtenir l’approbation, accédez à https://aka.ms/storesupport, cliquez sur Contactez-nous et choisissez les options appropriées pour envoyer des applications au tableau de bord. Ce processus d’approbation permet de s’assurer qu’il n’existe aucun conflit entre les polices installées par votre application et les polices installées avec le système d’exploitation. Si vous n’obtenez pas d’approbation, vous recevrez une erreur similaire à ce qui suit lorsque vous soumettez votre application : « Erreur de validation de l’acceptation du package : Vous ne pouvez pas utiliser l’extension windows.sharedFonts avec ce compte. Contactez notre équipe de support technique si vous souhaitez demander des autorisations pour utiliser cette extension. »

Espaces de noms XML

http://schemas.microsoft.com/appx/manifest/uap/windows10/4

Éléments et attributs de cette extension

<Extension Category="windows.sharedFonts">
    <SharedFonts>
      <Font File="[FontFile]" />
    </SharedFonts>
  </Extension>

Recherchez ici la référence complète du schéma.

Nom Descriptif
Catégorie A toujours la valeur windows.sharedFonts.
Fichier Fichier qui contient les polices que vous souhaitez partager.

Exemple :

<Package
  xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4"
  IgnorableNamespaces="uap4">
  <Applications>
    <Application>
      <Extensions>
        <uap4:Extension Category="windows.sharedFonts">
          <uap4:SharedFonts>
            <uap4:Font File="Fonts\JustRealize.ttf" />
            <uap4:Font File="Fonts\JustRealizeBold.ttf" />
          </uap4:SharedFonts>
        </uap4:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Démarrer un processus Win32 à partir d’une application de plateforme Windows universelle (UWP)

Démarrez un processus Win32 qui s’exécute en confiance totale.

Espaces de noms XML

http://schemas.microsoft.com/appx/manifest/desktop/windows10

Éléments et attributs de cette extension

<Extension Category="windows.fullTrustProcess" Executable="[executable file]">
  <FullTrustProcess>
    <ParameterGroup GroupId="[GroupID]" Parameters="[Parameters]"/>
  </FullTrustProcess>
</Extension>
Nom Descriptif
Catégorie A toujours la valeur windows.fullTrustProcess.
ID de groupe Chaîne qui identifie un ensemble de paramètres que vous souhaitez transmettre au fichier exécutable.
Paramètres Paramètres que vous souhaitez transmettre au fichier exécutable.

Exemple :

<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
         xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
         xmlns:rescap=
"http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
         xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10">
  ...
  <Capabilities>
      <rescap:Capability Name="runFullTrust"/>
  </Capabilities>
  <Applications>
    <Application>
      <Extensions>
          <desktop:Extension Category="windows.fullTrustProcess" Executable="fulltrustprocess.exe">
              <desktop:FullTrustProcess>
                  <desktop:ParameterGroup GroupId="SyncGroup" Parameters="/Sync"/>
                  <desktop:ParameterGroup GroupId="OtherGroup" Parameters="/Other"/>
              </desktop:FullTrustProcess>
           </desktop:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Cette extension peut être utile si vous souhaitez créer une interface utilisateur de plateforme Windows universelle qui s’exécute sur tous les appareils, mais vous souhaitez que les composants de votre application Win32 continuent à s’exécuter en confiance totale.

Créez simplement un package d’application Windows pour votre application Win32. Ensuite, ajoutez cette extension au fichier de package de votre application UWP. Cette extension indique que vous souhaitez démarrer un fichier exécutable dans le package d’application Windows. Si vous souhaitez communiquer entre votre application UWP et votre application Win32, vous pouvez configurer un ou plusieurs services d’application pour ce faire. Vous pouvez en savoir plus sur ce scénario ici.

Étapes suivantes

Vous avez des questions ? Posez-nous vos questions sur Stack Overflow. Notre équipe surveille ces balises . Ici, vous pouvez également nous demander .