Passage des paramètres d’installation à votre application via le Programme d’installation d’application

Quand vous distribuez votre application à l’aide de MSIX, vous pouvez configurer votre application de sorte que les paramètres de chaîne de requête que vous définissez dans l’URI de téléchargement/installation soient transmis à votre application lors de son lancement, après qu’un utilisateur a cliqué sur l’URI de téléchargement/installation. Cela fonctionne qu’il s’agit de la première fois qu’un utilisateur installe l’application ou si l’application a déjà été installée. Cet article explique comment configurer votre application MSIX empaquetée et son URI de téléchargement/installation pour tirer parti de cette fonctionnalité. Cela peut être utile si vous souhaitez suivre ou gérer les différentes installations basées sur la source, le type de téléchargement, etc., ainsi que les téléchargements Web et les autres cas où un utilisateur clique sur l’URI, par exemple, à partir d’une campagne par courrier électronique. Pour plus d’informations, consultez ce billet de blog.

Configurer votre application pour l’activation de protocole

La première chose à faire est d’inscrire votre application pour qu’elle soit lancée à l’aide d’un protocole personnalisé que vous définissez. Lorsque ce protocole est appelé, votre application est lancée et les prameters spécifiés dans l’URI sont passés aux arguments d’événement d’activation de votre application lorsqu’elle est lancée. Vous pouvez inscrire le protocole en ajoutant une entrée d’extension de protocole dans le nœud extensions d’application du fichier appxmanifest.xml de votre MSIX :

<Application>
...
   <Extensions>
     <uap:Extension Category="windows.protocol">
        <uap:Protocol Name="my-custom-protocol"/>
     </uap:Extension>
   </Extensions>
  
...
</Application>

si vous utilisez le Project d’empaquetage Windows, vous pouvez également définir un protocole personnalisé à l’aide de l’éditeur de manifeste par défaut en double-cliquant sur le fichier package. appxmanifest , en accédant à l’onglet déclarations et en sélectionnant protocole sous déclarations disponibles:

Déclaration de protocole dans package. appxmanifest

Écrire du code pour gérer les paramètres lorsque votre application est lancée après l’installation

Vous devrez implémenter le code dans votre application pour gérer les paramètres d’installation qui seront transmis à votre application lors de son lancement. L’exemple de code ci-dessous utilise la méthode AppInstance. GetActivatedEventArgs pour déterminer le type d’activation utilisé pour instancier une application (vous pouvez également gérer les paramètres à l’aide d’une méthode différente). Quand votre application est lancée/activée avec des paramètres de type de requête à partir d’un URI d’installation (voir définition dans la section suivante), le type d’activation est une activation de protocole telle que définie par votre protocole personnalisé déclaré dans votre appxmanifest.xml et l’URI de téléchargement/installation. Les arguments de l’événement d’activation seront de type ProtocolActivatedEventArgs et celui utilisé par le code ci-dessous :


using Windows.ApplicationModel;
using Windows.ApplicationModel.Activation;

public static void Main(string[] cmdArgs)
{
            
    var activationArgs = AppInstance.GetActivatedEventArgs();
    switch (activationArgs.Kind)
    {
        //Install parameters will be passed in during a protocol activation
        case ActivationKind.Protocol:
        HandleProtocolActivation(activationArgs as ProtocolActivatedEventArgs);
        break;
        case ActivationKind.Launch:
        //Regular launch activation type
        HandleLaunch(activationArgs as LaunchActivatedEventArgs);
        break;
        default:
        break;
     }       
    

     static void HandleProtocolActivation(ProtocolActivatedEventArgs args)
     {

         if (args.Uri != null)
        {
            //Handle the installation parameters in the protocol uri
            handleInstallParameter(args.Uri.ToString());

        }
            
}

Ajouter votre protocole et vos paramètres d’activation personnalisés à l’URI d’installation

Une fois que votre application est configurée pour gérer vos paramètres d’installation, vous pouvez personnaliser l’URI du téléchargement/de l’installation de l’application pour qu’elle contienne des paramètres définis de manière unique qui seront transmis à votre application lors du lancement, après qu’un utilisateur a cliqué sur l’URI. L’URI doit contenir :

  1. Protocole MS-appinstaller qui appelle le programme d’installation de l’application.
  2. Le paramètre unique activationUri qui pointe vers le protocole personnalisé de votre application et les paramètres d’installation que vous souhaitez transmettre à votre application lors de son lancement.
  3. Le protocole personnalisé de votre application et le paramètre et sa valeur.

Dans les exemples d’URI ci-dessous, j’ai défini un protocole personnalisé My-Custom-Protocol, un paramètre My-Parameter et j’ai donné la valeur My-param-value. Lorsque l’application est lancée après qu’un utilisateur a cliqué sur l’URI, elle reçoit la partie de la chaîne de requête de l’URI après activationUri, dans le cas présent, il s’agit de My-Custom-Protocol :? My-Parameter = My-param-value.

ms-appinstaller:?source=https://contoso.com/myapp.appinstaller&activationUri=my-custom-protocol:?my-parameter=my-param-value
ms-appinstaller:?source=https://contos.com/myapp.msix&activationUri=my-custom-protocol:?my-parameter=my-param-value