Procédure pas à pas : déploiement manuel d’une application ClickOnce qui ne nécessite pas de nouvelle signature et qui conserve les informations relatives à la personnalisation

Lorsque vous créez une application ClickOnce, puis que vous la donnez à un client pour la publier et la déployer, le client doit généralement mettre à jour le manifeste de déploiement et le signer à nouveau. Bien qu’il s’agisse toujours de la méthode préférée dans la plupart des cas, .NET Framework 3.5 vous permet de créer des déploiements ClickOnce qui peuvent être déployés par les clients sans avoir à régénérer un nouveau manifeste de déploiement. Pour plus d’informations, consultez Déploiement d’applications ClickOnce pour des serveurs de test et de production sans nouvelle signature.

Lorsque vous créez une application ClickOnce et que vous la donnez ensuite à un client pour la publier et la déployer, l’application peut utiliser la personnalisation du client ou conserver votre personnalisation. Par exemple, si l’application est une application propriétaire unique, vous pouvez conserver votre personnalisation. Si l’application est hautement personnalisée pour chaque client, vous pouvez utiliser la personnalisation du client. Le .NET Framework 3.5 vous permet de conserver votre personnalisation, vos informations d’éditeur et votre signature de sécurité lorsque vous donnez une application à déployer à une organisation. Pour plus d’informations, consultez Créer des applications ClickOnce destinées à être déployées par des tiers.

Notes

Dans cette procédure pas à pas, vous créez des déploiements manuellement à l’aide de l’outil en ligne de commande Mage.exe ou de l’outil graphique MageUI.exe. Pour plus d’informations sur les déploiements manuels, consultez Procédure pas à pas : déployer manuellement une application ClickOnce.

Note

Dans ClickOnce pour .NET Core 3.1 et .NET 5 (ou version ultérieure), utilisez dotnet-mage.exe au lieu de Mage.exe. Pour plus d’informations, consultez ClickOnce pour .NET.

Prérequis

Pour effectuer les étapes de cette procédure pas à pas, vous avez besoin des éléments suivants :

  • Une application Windows Forms que vous êtes prêt à déployer. Cette application sera appelée WindowsFormsApp1.

  • Visual Studio ou le SDK Windows.

Pour déployer une application ClickOnce avec plusieurs déploiements et la prise en charge de la personnalisation à l’aide de Mage.exe

  1. Ouvrez une invite de commandes Visual Studio ou une invite de commandes du SDK Windows, puis accédez au répertoire dans lequel vous allez stocker vos fichiers ClickOnce.

  2. Créez un répertoire nommé d’après la version actuelle de votre déploiement. S’il s’agit de la première fois que vous déployez l’application, vous choisirez probablement 1.0.0.0.

    Notes

    La version de votre déploiement peut être distincte de la version de vos fichiers d’application.

  3. Créez un sous-répertoire nommé bin et copiez-y tous vos fichiers d’application, y compris les fichiers exécutables, les assemblys, les ressources et les fichiers de données.

  4. Générez le manifeste de l’application avec un appel à Mage.exe.

    mage -New Application -ToFile 1.0.0.0\WindowsFormsApp1.exe.manifest -Name "Windows Forms App 1" -Version 1.0.0.0 -FromDirectory 1.0.0.0\bin -UseManifestForTrust true -Publisher "A. Datum Corporation"
    
  5. Signez le manifeste de l’application avec votre certificat numérique.

    mage -Sign WindowsFormsApp1.exe.manifest -CertFile mycert.pfx
    
  6. Générez le manifeste de déploiement avec un appel à Mage.exe. Par défaut, Mage.exe marque votre déploiement ClickOnce comme une application installée, afin qu’il puisse être exécuté à la fois en ligne et hors connexion. Pour rendre l’application disponible uniquement lorsque l’utilisateur est en ligne, utilisez l’argument -i avec la valeur f. Étant donné que cette application tire parti de la fonctionnalité de déploiement multiple, excluez l’argument -providerUrl pour Mage.exe. (Dans les versions du .NET Framework antérieures à la version 3.5, l’exclusion de -providerUrl pour une application hors connexion entraîne une erreur.)

    mage -New Deployment -ToFile WindowsFormsApp1.application -Name "Windows Forms App 1" -Version 1.0.0.0 -AppManifest 1.0.0.0\WindowsFormsApp1.manifest
    
  7. Ne signez pas le manifeste de déploiement.

  8. Fournissez tous les fichiers au client, qui déploiera l’application sur son réseau.

  9. À ce stade, le client doit signer le manifeste de déploiement avec son propre certificat auto-généré. Par exemple, si le client travaille pour une société nommée Adventure Works, il peut générer un certificat auto-signé à l’aide de l’outil MakeCert.exe. Ensuite, utilisez l’outil Pvk2pfx.exe pour combiner les fichiers créés par MakeCert.exe dans un fichier PFX qui peut être transmis à Mage.exe.

    makecert -r -pe -n "CN=Adventure Works" -sv MyCert.pvk MyCert.cer
    pvk2pfx.exe -pvk MyCert.pvk -spc MyCert.cer -pfx MyCert.pfx
    
  10. Le client utilise ensuite ce certificat pour signer le manifeste de déploiement.

    mage -Sign WindowsFormsApp1.application -CertFile MyCert.pfx
    
  11. Le client déploie l’application sur ses utilisateurs.

Pour déployer une application ClickOnce avec plusieurs déploiements et la prise en charge de la personnalisation à l’aide de MageUI.exe

  1. Ouvrez une invite de commandes Visual Studio ou une invite de commandes du SDK Windows, puis accédez au répertoire dans lequel vous allez stocker vos fichiers ClickOnce.

  2. Créez un sous-répertoire nommé bin et copiez-y tous vos fichiers d’application, y compris les fichiers exécutables, les assemblys, les ressources et les fichiers de données.

  3. Créez un sous-répertoire nommé d’après la version actuelle de votre déploiement. S’il s’agit de la première fois que vous déployez l’application, vous choisirez probablement 1.0.0.0.

    Notes

    La version de votre déploiement peut être distincte de la version de vos fichiers d’application.

  4. Déplacez le répertoire \bin dans le répertoire que vous avez créé à l’étape 2.

  5. Démarrez l’outil graphique MageUI.exe.

    MageUI.exe
    
  6. Créez un manifeste d’application en sélectionnant Fichier, Nouveau, Manifeste d’application dans le menu.

  7. Sous l’onglet Nom par défaut, entrez le nom et le numéro de version de ce déploiement. Fournissez également une valeur pour Éditeur, qui sera utilisée comme nom de dossier pour le lien de raccourci de l’application dans le menu Démarrer lors de son déploiement.

  8. Sélectionnez l’onglet Options de l’application, puis cliquez sur Utiliser le manifeste d’application pour les informations d’approbation. Cela permet d’activer la personnalisation tierce pour cette application ClickOnce.

  9. Sélectionnez l’onglet Fichiers, puis cliquez sur le bouton Parcourir en regard de la zone de texte Répertoire de l’application.

  10. Sélectionnez le répertoire qui contient vos fichiers d’application que vous avez créés à l’étape 2, puis cliquez sur OK dans la boîte de dialogue de sélection de dossier.

  11. Cliquez sur le bouton Remplir pour ajouter tous vos fichiers d’application à la liste des fichiers. Si votre application contient plusieurs fichiers exécutables, marquez le fichier exécutable principal de ce déploiement comme application de démarrage en sélectionnant Point d’entrée dans la liste déroulante Type de fichier. (Si votre application ne contient qu’un seul fichier exécutable, MageUI.exe le marque pour vous.)

  12. Sélectionnez l’onglet Autorisations requises et sélectionnez le niveau de confiance que votre application doit affirmer. La valeur par défaut est Confiance totale, qui convient à la plupart des applications.

  13. Sélectionnez Fichier, Enregistrer dans le menu, puis enregistrez le manifeste de l’application. Vous serez invité à signer le manifeste de l’application lorsque vous l’enregistrerez.

  14. Si vous avez un certificat stocké en tant que fichier sur votre système de fichiers, utilisez l’option Signer en tant que fichier de certificat, puis sélectionnez le certificat dans le système de fichiers à l’aide du bouton de sélection (...).

    -ou-

    Si votre certificat est conservé dans un magasin de certificats accessible à partir de votre ordinateur, sélectionnez l’option Signer avec le certificat stocké, puis sélectionnez le certificat dans la liste fournie.

  15. Sélectionnez Fichier, Nouveau, Manifeste de déploiement dans le menu pour créer votre manifeste de déploiement, puis sous l’onglet Nom, indiquez un nom et un numéro de version (1.0.0.0 dans cet exemple).

  16. Basculez vers l’onglet Mise à jour et spécifiez la fréquence à laquelle vous souhaitez mettre à jour cette application. Si votre application utilise l’API de déploiement ClickOnce pour rechercher les mises à jour proprement dites, désactivez la case à cocher Cette application doit vérifier les mises à jour.

  17. Basculez vers l’onglet Référence d’application. Vous pouvez préremplir toutes les valeurs de cet onglet en cliquant sur le bouton Sélectionner le manifeste et en sélectionnant le manifeste d’application que vous avez créé dans les étapes précédentes.

  18. Choisissez Enregistrer et enregistrez le manifeste de déploiement sur le disque. Vous serez invité à signer le manifeste de l’application lorsque vous l’enregistrerez. Cliquez sur Annuler pour enregistrer le manifeste sans le signer.

  19. Fournissez tous les fichiers d’application au client.

  20. À ce stade, le client doit signer le manifeste de déploiement avec son propre certificat auto-généré. Par exemple, si le client travaille pour une société nommée Adventure Works, il peut générer un certificat auto-signé à l’aide de l’outil MakeCert.exe. Ensuite, utilisez l’outil Pvk2pfx.exe pour combiner les fichiers créés par MakeCert.exe dans un fichier PFX qui peut être transmis à MageUI.exe.

    makecert -r -pe -n "CN=Adventure Works" -sv MyCert.pvk MyCert.cer
    pvk2pfx.exe -pvk MyCert.pvk -spc MyCert.cer -pfx MyCert.pfx
    
  21. Une fois le certificat généré, le client signe maintenant le manifeste de déploiement en ouvrant le manifeste de déploiement dans MageUI.exe, puis en l’enregistrant. Lorsque la boîte de dialogue de signature s’affiche, le client sélectionne l’option Signer en tant que fichier de certificat et choisit le fichier PFX qu’il a enregistré sur le disque.

  22. Le client déploie l’application sur ses utilisateurs.