Procédure pas à pas : Déployer manuellement une application ClickOnce

Si vous ne pouvez pas utiliser Visual Studio pour déployer votre application ClickOnce, ou si vous devez utiliser des fonctionnalités de déploiement avancées, telles que le déploiement d'applications approuvées, vous devez utiliser l'outil en ligne de commande Mage.exe pour créer vos manifestes ClickOnce. Cette procédure pas à pas explique comment créer un déploiement ClickOnce à l’aide de la version de ligne de commande (Mage.exe) ou de la version graphique (MageUI.exe) de l’Outil Manifest Generation and Editing.

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

Cette procédure pas à pas présente certaines conditions préalables et options que vous devez choisir avant de générer un déploiement.

  • Installez Mage.exe et MageUI.exe.

    Mage.exe et MageUI.exe font partie du Kit de développement logiciel Windows (Kit SDK Windows). Vous devez avoir installé le Kit de développement logiciel (SDK) Windows ou la version du Kit de développement logiciel (SDK) Windows inclus avec Visual Studio. Pour plus d’informations, consultez le Kit de développement logiciel (SDK) Windows sur MSDN.

  • Fournissez une application à déployer.

    Cette procédure pas à pas suppose que vous disposez d’une application Windows que vous êtes prêt à déployer. Cette application sera appelée AppToDeploy.

  • Déterminez la façon dont le déploiement sera distribué.

    Les options de distribution sont les suivantes : Web, partage de fichiers ou CD. Pour plus d'informations, consultez ClickOnce Security and Deployment.

  • Déterminez si l’application nécessite un niveau de confiance élevé.

    Si votre application nécessite une confiance totale (par exemple, un accès complet au système de l'utilisateur), vous pouvez utiliser l'option -TrustLevel de Mage.exe pour définir ce paramètre. Si vous souhaitez définir un jeu d’autorisations personnalisé pour votre application, vous pouvez copier la section d’autorisation Internet ou intranet à partir d’un autre manifeste, la modifier en fonction de vos besoins et l’ajouter au manifeste de l’application à l’aide d’un éditeur de texte ou de MageUI.exe. Pour plus d’informations, consultez Vue d’ensemble du déploiement d’applications approuvées.

  • Obtenez un certificat Authenticode.

    Vous devez signer votre déploiement avec un certificat Authenticode. Vous pouvez générer un certificat de test à l'aide des outils Visual Studio, MageUI.exe, ou MakeCert.exe et Pvk2Pfx.exe, ou vous pouvez obtenir un certificat auprès d'une Autorité de confiance (CA). Si vous choisissez d’utiliser le déploiement d’applications approuvées, vous devez également effectuer une installation unique du certificat sur tous les ordinateurs clients. Pour plus d'informations, consultez Trusted Application Deployment Overview.

    Notes

    Vous pouvez également signer votre déploiement avec un certificat CNG que vous pouvez obtenir auprès d’une autorité de certification.

  • Assurez-vous que l’application n’a pas de manifeste avec des informations de contrôle de compte d’utilisateur.

    Vous devez déterminer si votre application contient un manifeste avec des informations de contrôle de compte d’utilisateur (UAC), telles qu’un élément <dependentAssembly>. Pour examiner un manifeste d’application, vous pouvez utiliser l’utilitaire Windows Sysinternals Sigcheck.

    Si votre application contient un manifeste avec des détails UAC, vous devez le recréer sans les informations UAC. Pour un projet C# dans Visual Studio, ouvrez les propriétés du projet et sélectionnez l’onglet Application. Dans la liste déroulante Manifeste, sélectionnez Créer une application sans manifeste. Pour un projet Visual Basic dans Visual Studio, ouvrez les propriétés du projet, sélectionnez l’onglet Application, puis cliquez sur Afficher les paramètres UAC. Dans le fichier manifeste ouvert, supprimez tous les éléments au sein de l’élément unique <asmv1:assembly>.

  • Déterminez si l’application nécessite des prérequis sur l’ordinateur client.

    Les applications ClickOnce déployées à partir de Visual Studio peuvent inclure un programme d’amorçage d’installation des prérequis (setup.exe) avec votre déploiement. Cette procédure pas à pas crée les deux manifestes requis pour un déploiement ClickOnce. Vous pouvez créer un programme d’amorçage prérequis à l’aide de la tâche GenerateBootstrapper.

Pour déployer une application avec l’outil en ligne de commande Mage.exe

  1. Créez un répertoire dans lequel vous allez stocker vos fichiers de déploiement ClickOnce.

  2. Dans le répertoire de déploiement que vous venez de créer, créez un sous-répertoire de version. Si c’est la première fois que vous déployez l’application, nommez le sous-répertoire de version 1.0.0.0.

    Notes

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

  3. Copiez tous vos fichiers d’application dans le sous-répertoire de version, y compris les fichiers exécutables, les assemblys, les ressources et les fichiers de données. Si nécessaire, vous pouvez créer des sous-répertoires supplémentaires qui contiennent des fichiers supplémentaires.

  4. Ouvrez le Kit de développement logiciel (SDK) Windows ou l’invite de commandes Visual Studio et accédez au sous-répertoire version.

  5. Créez le manifeste de l’application avec un appel à Mage.exe. L’instruction suivante crée un manifeste d’application pour le code compilé pour s’exécuter sur le processeur Intel x86.

    mage -New Application -Processor x86 -ToFile AppToDeploy.exe.manifest -name "My App" -Version 1.0.0.0 -FromDirectory .
    

    Notes

    Veillez à inclure le point (.) après l’option -FromDirectory, qui indique le répertoire actif. Si vous n’incluez pas le point, vous devez spécifier le chemin d’accès à vos fichiers d’application.

  6. Signez le manifeste de l’application avec votre certificat Authenticode. Remplacez mycert.pfx par le chemin d'accès à votre fichier de certificat. Remplacez passwd par le mot de passe de votre fichier de certificat.

    mage -Sign AppToDeploy.exe.manifest -CertFile mycert.pfx -Password passwd
    

    À partir du Kit de développement logiciel (SDK) .NET Framework 4.6.2, distribué avec Visual Studio et avec le Kit de développement logiciel (SDK) Windows, mage.exe signe des manifestes avec CNG et avec des certificats Authenticode. Utilisez les mêmes paramètres de ligne de commande que les certificats Authenticode.

  7. Accédez à la racine du répertoire de déploiement.

  8. 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’option -Install avec la valeur false. Si vous utilisez la valeur par défaut et que les utilisateurs installent votre application à partir d’un site Web ou d’un partage de fichiers, assurez-vous que la valeur de l’option -ProviderUrl pointe vers l’emplacement du manifeste de l’application sur le serveur web ou le partage.

    mage -New Deployment -Processor x86 -Install true -Publisher "My Co." -ProviderUrl "\\myServer\myShare\AppToDeploy.application" -AppManifest 1.0.0.0\AppToDeploy.exe.manifest -ToFile AppToDeploy.application
    
  9. Signez le manifeste de déploiement avec votre certificat Authenticode ou CNG.

    mage -Sign AppToDeploy.application -CertFile mycert.pfx -Password passwd
    
  10. Copiez tous les fichiers du répertoire de déploiement vers la destination ou le média de déploiement. Il peut s’agir d’un dossier sur un site Web ou d’un site FTP, d’un partage de fichiers ou d’un CD-ROM.

  11. Fournissez à vos utilisateurs l’URL, l’UNC ou le média physique requis pour installer votre application. Si vous fournissez une URL ou un UNC, vous devez donner à vos utilisateurs le chemin d’accès complet au manifeste de déploiement. Par exemple, si AppToDeploy est déployé sur http://webserver01/ dans le répertoire AppToDeploy, le chemin d'URL complet est http://webserver01/AppToDeploy/AppToDeploy.application.

Pour déployer une application avec l’outil graphique MageUI.exe

  1. Créez un répertoire dans lequel vous allez stocker vos fichiers de déploiement ClickOnce.

  2. Dans le répertoire de déploiement que vous venez de créer, créez un sous-répertoire de version. Si c’est la première fois que vous déployez l’application, nommez le sous-répertoire de version 1.0.0.0.

    Notes

    La version de votre déploiement est probablement distincte de la version de votre application.

  3. Copiez tous vos fichiers d’application dans le sous-répertoire de version, y compris les fichiers exécutables, les assemblys, les ressources et les fichiers de données. Si nécessaire, vous pouvez créer des sous-répertoires supplémentaires qui contiennent des fichiers supplémentaires.

  4. Démarrez l'outil d'image MageUI.exe.

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

  6. Sous l’onglet Nom par défaut, tapez le nom et le numéro de version de ce déploiement. Spécifiez également le Processeur pour lequel votre application est générée, par exemple x86.

  7. Sélectionnez l’onglet Fichiers, puis sélectionnez le bouton de sélection (...) en regard de la zone de texte du Répertoire d’application. Une boîte de dialogue Rechercher un dossier s’affiche.

  8. Sélectionnez le sous-répertoire de version contenant vos fichiers d’application, puis sélectionnez OK.

  9. Si vous allez effectuer un déploiement à partir d’Internet Information Services (IIS), cochez la case Lors du remplissage, ajoutez l’extension .deploy à tout fichier qui ne l’a pas.

  10. Accédez au 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 marquera pour vous.)

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

  12. Sélectionnez Fichier, Enregistrer sous dans le menu. Une boîte de dialogue Options de signature s’affiche pour vous inviter à signer le manifeste de l’application.

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

    -ou-

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

  14. Sélectionnez OK pour signer le manifeste de votre application. La boîte de dialogue Enregistrer sous s’affiche.

  15. Dans la boîte de dialogue Enregistrer sous, spécifiez le répertoire de version, puis sélectionnez Enregistrer.

  16. Sélectionnez Fichier, Nouveau, Manifeste de déploiement dans le menu pour créer votre manifeste de déploiement.

  17. Sous l’onglet Nom, spécifiez un nom et un numéro de version pour ce déploiement (1.0.0.0 dans cet exemple). Spécifiez également le Processeur pour lequel votre application est générée, par exemple x86.

  18. Sélectionnez l’onglet Description, puis spécifiez des valeurs pour Éditeur et Produit. (Produit est le nom donné à votre application dans le menu Démarrer de Windows lorsque votre application s’installe sur un ordinateur client pour une utilisation hors connexion.)

  19. Sélectionnez l’onglet Options de déploiement et dans la zone de texte Emplacement de démarrage, spécifiez l’emplacement du manifeste de l’application sur le serveur web ou le partage. Par exemple, \\myServer\myShare\AppToDeploy.application.

  20. Si vous avez ajouté l'extension ..deploy à l'étape précédente, sélectionnez également Utiliser l'extension de nom de fichier .deploy ici.

  21. Sélectionnez l’onglet Options de mise à jour et spécifiez la fréquence à laquelle vous souhaitez que cette application soit mise à jour. Si votre application utilise UpdateCheckInfo pour vérifier les mises à jour elle-même, décochez la case Cette application doit vérifier les mises à jour.

  22. Sélectionnez l’onglet Référence de l’application, puis accédez au bouton Sélectionner un manifeste. Une boîte de dialogue ouverte s’affiche.

  23. Sélectionnez le manifeste d’application que vous avez créé précédemment, puis sélectionnez Ouvrir.

  24. Sélectionnez Fichier, Enregistrer sous dans le menu. Une boîte de dialogue Options de signature s’affiche pour vous inviter à signer le manifeste de déploiement.

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

    -ou-

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

  26. Accédez à OK pour signer votre manifeste de déploiement. La boîte de dialogue Enregistrer sous s’affiche.

  27. Dans la boîte de dialogue Enregistrer sous, déplacez un répertoire vers la racine de votre déploiement, puis sélectionnez Enregistrer.

  28. Copiez tous les fichiers du répertoire de déploiement vers la destination ou le média de déploiement. Il peut s’agir d’un dossier sur un site Web ou d’un site FTP, d’un partage de fichiers ou d’un CD-ROM.

  29. Fournissez à vos utilisateurs l’URL, l’UNC ou le média physique requis pour installer votre application. Si vous fournissez une URL ou un UNC, vous devez donner à vos utilisateurs le chemin complet du manifeste de déploiement. Par exemple, si AppToDeploy est déployé sur http://webserver01/ dans le répertoire AppToDeploy, le chemin d'URL complet est http://webserver01/AppToDeploy/AppToDeploy.application.

Étapes suivantes

Lorsque vous devez déployer une nouvelle version de l’application, créez un nouveau répertoire nommé d’après la nouvelle version (par exemple, 1.0.0.1) et copiez les nouveaux fichiers d’application dans le nouveau répertoire. Ensuite, vous devez suivre les étapes précédentes pour créer et signer un nouveau manifeste d’application, puis mettre à jour et signer le manifeste de déploiement. Veillez à spécifier la même version supérieure dans Mage.exe-New et les appels -Update, car ClickOnce met uniquement à jour les versions supérieures, l'entier le plus à gauche étant le plus significatif. Si vous avez utilisé MageUI.exe, vous pouvez mettre à jour le manifeste de déploiement en l’ouvrant, en sélectionnant l’onglet Référence de l’application, en accédant au bouton Sélectionner un manifeste, puis en sélectionnant le manifeste d’application mis à jour.