Procédure pas à pas : possibilité pour une application ClickOnce de s'exécuter sur plusieurs versions du .NET Framework

Par défaut, Visual Studio configure des applications ClickOnce pour une installation et une exécution sur une version et un profil spécifiques du .NET Framework.Toutefois, une application peut être installée et exécutée sur plusieurs versions du .NET Framework.Cette procédure pas à pas décrit comment permettre à une application compilée ClickOnce pour le .NET Framework 2.0 d'être également installée et exécutée sur le .NET Framework 2.0 ou le .NET Framework 4.

Notes

Avant de permettre à votre application ClickOnce de s'exécuter sur plusieurs versions du .NET Framework, vous devez tester totalement votre application sur chaque version du .NET Framework.

Composants requis

Cette procédure pas à pas suppose que vous avez publié précédemment votre application .NET Framework 2.0 à l'aide de Visual Studio.

Pour créer une application de plateforme double

  1. Démarrez avec une application ClickOnce existante qui cible le .NET Framework 2.0.Pour plus d'informations, consultez Comment : cibler une version ou un profil spécifique du .NET Framework.

  2. Si votre application n'a pas de fichier de configuration d'application dans le répertoire publish\Application Files\<nomapp>_<version>, ajoutez-en un.Le nom du fichier de configuration est le nom de l'application doté de l'extension .config (<nomapp>.exe.config).Pour plus d'informations, consultez Schéma des fichiers de configuration pour le .NET Framework.

  3. Ouvrez le fichier de configuration (<nomapp>.exe.config) et ajoutez le code suivant.Windows exécutera votre application au premier moment d'exécution disponible dans cette liste.

    <configuration> 
      <startup> 
        <supportedRuntime version="v4.0" /> 
        <supportedRuntime version="v2.0.50727" /> 
      </startup> 
    </configuration>
    
  4. Supprimez temporairement l'extension .deploy pour tous les noms de fichiers du répertoire de publication en renommant les fichiers.Vous annulerez ces nouveaux noms ultérieurement.

    La plupart des déploiements ClickOnce ajoutent une extension .deploy à certains types de fichiers.

  5. Ouvrez le répertoire publish\Application Files\<nomapp>_<version> et, s'il contient une copie du manifeste de déploiement (<nomapp>.application), supprimez-la.(Vous pouvez recopier le manifeste de déploiement principal dans ce répertoire à la dernière étape.)

  6. Utilisez la commande suivante pour mettre à jour le manifeste de l'application (<nomapp>.exe.manifest) pour afficher les détails du fichier de configuration, nouveau ou modifié.Pour ce faire, ouvrez l'invite de commandes Visual Studio et naviguez jusqu'au répertoire publish\Application Files\<nomapp>_<version>.Exécutez la commande suivante pour détecter le nouveau fichier de configuration et l'inclure dans votre manifeste d'application.Remplacez nomapp par le nom de votre application.

    mage -Update appname.exe.manifest -fd .
    
  7. Signez le fichier manifeste d'application mis à jour à l'aide de la commande suivante.Remplacez \certs\cert.pfx par le nom et l'emplacement de votre fichier de certificat.Remplacez passwd par le mot de passe de votre fichier de certificat.

    mage -Sign appname.exe.manifest -CertFile \certs\cert.pfx -Password passwd
    
  8. Restaurez l'extension .deploy pour tous les noms de fichiers renommés à l'étape 4, en renommant à nouveau ces fichiers.

  9. Renommez votre fichier .config en <nomapp>.exe.config.deploy.

  10. Dans le répertoire de publication, ouvrez le manifeste de déploiement.Pour un déploiement .exe, le fichier manifeste de déploiement se termine par .application (<nomapp>.application).La plupart des déploiements ClickOnce conservent une copie du manifeste de déploiement pour chaque version, mais vous devez mettre à jour le manifeste de déploiement principal, qui se trouve généralement à la racine du déploiement, avec le programme d'amorçage requis setup.exe.

  11. Recherchez l'élément asmv1:assembly.Pour plus d'informations, consultez Manifeste de déploiement ClickOnce.

  12. Comme enfant de l'élément asmv1:assembly, ajoutez un élément compatibleFrameworks contenant deux éléments framework.Dans l'exemple suivant, la plateforme .NET Framework 2.0 est la plateforme par défaut de votre application.Remplacez yourVersion par la version du nom de répertoire sous C:\Windows\Microsoft.NET\Framework.

    <compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
      <framework targetVersion="2.0" supportedRuntime="2.0.50727" />
      <framework targetVersion="4.0" profile="Full" supportedRuntime="4.0.yourVersion" />
    </compatibleFrameworks>
    
  13. Enregistrez et fermez le manifeste de déploiement.

  14. Dans l'invite de commandes Visual Studio, accédez au répertoire de publication.

  15. Utilisez la commande suivante pour mettre à jour votre manifeste de déploiement pour refléter toutes les modifications.

    mage -Update appname.application -AppManifest "Application Files\appname_1_0_0_3\appname.exe.manifest"
    
  16. Signez le manifeste de déploiement mis à jour.

    mage -Sign appname.application -CertFile \certs\cert.pfx -Password passwd
    
  17. Vous pouvez également copier le manifeste de déploiement principal (publish\<nomapp>.application) dans le répertoire de déploiement de votre version (publish\Application Files\<nomapp>_<version>).

Étapes suivantes

Les applications ClickOnce que vous configurez pour une exécution dans le .NET Framework 4 ou une version antérieure du .NET Framework doivent affecter à l'attribut group de l'élément <dependentAssembly> la valeur framework pour identifier tous les assemblys de dépendance dans le .NET Framework antérieur étant des binaires .NET Framework.Pour plus d'informations, consultez <dependency>, élément (Application ClickOnce).

Voir aussi

Référence

<compatibleFrameworks>, élément (Déploiement ClickOnce)