Comment : publier une application WPF avec les styles visuels activésHow to: Publish a WPF application with visual styles enabled

Styles visuels activer l’apparence des contrôles communs à changer en fonction du thème choisi par l’utilisateur.Visual styles enable the appearance of common controls to change based on the theme chosen by the user. Par défaut, les styles visuels ne sont pas activés pour les applications Windows Presentation Foundation (WPF), vous devez les activer manuellement.By default, visual styles are not enabled for Windows Presentation Foundation (WPF) applications, so you must enable them manually. Toutefois, l’activation des styles visuels pour une application WPF, puis publiez la solution provoque une erreur.However, enabling visual styles for a WPF application and then publishing the solution causes an error. Cette rubrique décrit comment résoudre cette erreur et le processus de publication d’une application WPF avec les styles visuels sont activés.This topic describes how to resolve this error and the process for publishing a WPF application with visual styles enabled. Pour plus d’informations sur les styles visuels, consultez vue d’ensemble de styles visuels.For more information about visual styles, see Visual styles overview. Pour plus d’informations sur le message d’erreur, consultez résoudre les erreurs spécifiques dans les déploiements ClickOnce.For more information about the error message, see Troubleshoot specific errors in ClickOnce deployments.

Pour résoudre l’erreur et publiez la solution, vous devez effectuer les tâches suivantes :To resolve the error and to publish the solution, you must perform the following tasks:

Publiez la solution sans styles visuels activésPublish the solution without visual styles enabled

  1. Assurez-vous que votre projet n’a pas de styles visuels sont activés.Ensure that your project does not have visual styles enabled. Vérifiez tout d’abord, le fichier manifeste du projet pour le code XML suivant.First, check your project's manifest file for the following XML. Ensuite, si le code XML est présent, placez le code XML avec une balise de commentaire.Then, if the XML is present, enclose the XML with a comment tag.

    Par défaut, les styles visuels ne sont pas activés.By default, visual styles are not enabled.

    <dependency>    <dependentAssembly>      <assemblyIdentity          type="win32"          name="Microsoft.Windows.Common-Controls"          version="6.0.0.0"          processorArchitecture="*"          publicKeyToken="6595b64144ccf1df"          language="*"        />    </dependentAssembly>  </dependency>  
    

    Les procédures suivantes montrent comment ouvrir le fichier manifest associé à votre projet.The following procedures show how to open the manifest file associated with your project.

    Pour ouvrir le fichier manifeste dans un projet Visual BasicTo open the manifest file in a Visual Basic project
    1. Dans la barre de menus, choisissez projet, nom_projet propriétés, où nom_projet est le nom de votre projet WPF.On the menu bar, choose Project, ProjectName Properties, where ProjectName is the name of your WPF project.

      Les pages de propriétés pour votre projet WPF s’affichent.The property pages for your WPF project appear.

    2. Sur le Application , choisir afficher les paramètres Windows.On the Application tab, choose View Windows Settings.

      Le fichier App.manifest s’ouvre dans le éditeur de Code.The app.manifest file opens in the Code Editor.

    Pour ouvrir le fichier manifeste dans un projet c#To open the manifest file in a C# project
    1. Dans la barre de menus, choisissez projet, nom_projet propriétés, où nom_projet est le nom de votre projet WPF.On the menu bar, choose Project, ProjectName Properties, where ProjectName is the name of your WPF project.

      Les pages de propriétés pour votre projet WPF s’affichent.The property pages for your WPF project appear.

    2. Sur le Application onglet, prenez note du nom qui apparaît dans le champ de manifeste.On the Application tab, make a note of the name that appears in the manifest field. Il s’agit du nom du manifeste qui est associé à votre projet.This is the name of the manifest that is associated with your project.

      Note

      Si manifeste incorporé avec les paramètres par défaut ou créer une application sans manifeste apparaissent dans le champ de manifeste, les styles visuels ne sont pas activés.If Embed manifest with default settings or Create application without manifest appear in the manifest field, visual styles are not enabled. Si le nom d’un fichier manifeste apparaît dans le champ de manifeste, passez à l’étape suivante de cette procédure.If the name of a manifest file appears in the manifest field, proceed to the next step in this procedure.

    3. Dans l’Explorateur de solutions, choisissez afficher tous les fichiers.In Solution Explorer, choose Show All Files.

      Ce bouton affiche tous les éléments de projet, y compris ceux qui ont été exclus et ceux qui sont normalement masqués.This button shows all project items, including those that have been excluded and those that are normally hidden. Le fichier manifest apparaît comme un élément de projet.The manifest file appears as a project item.

  2. Générez et publiez votre solution.Build and publish your solution. Pour plus d’informations sur la publication de la solution, consultez Comment : publier une application ClickOnce à l’aide de l’Assistant Publication.For more information about how to publish the solution, see How to: Publish a ClickOnce application using the Publish Wizard.

Créez un fichier manifesteCreate a manifest file

  1. Collez le code XML suivant dans un fichier du bloc-notes.Paste the following XML into a Notepad file.

    Ce fichier XML décrit l’assembly qui contient les contrôles qui prennent en charge les styles visuels.This XML describes the assembly that contains controls that support visual styles.

    <?xml version="1.0" encoding="utf-8"?><asmv1:assembly manifestVersion="1.0"                xmlns="urn:schemas-microsoft-com:asm.v1"                xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"                xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  <dependency>    <dependentAssembly>      <assemblyIdentity        type="win32"        name="Microsoft.Windows.Common-Controls"        version="6.0.0.0"        processorArchitecture="*"        publicKeyToken="6595b64144ccf1df"        language="*"        />    </dependentAssembly>  </dependency></asmv1:assembly>  
    
  2. Dans le bloc-notes, cliquez sur fichier, puis cliquez sur Enregistrer sous.In Notepad, click File, and then click Save As.

  3. Dans le enregistrer en tant que boîte de dialogue le enregistrer en tant que type liste déroulante, sélectionnez tous les fichiers.In the Save As dialog box, in the Save as type drop-down list, select All Files.

  4. Dans le nom de fichier boîte, nommez le fichier et ajoutez .manifest à la fin du nom de fichier.In the File name box, name the file and append .manifest to the end of the file name. Par exemple : themes.manifest.For example: themes.manifest.

  5. Choisissez le parcourir les dossiers bouton, sélectionnez n’importe quel dossier, puis cliquez sur enregistrer.Choose the Browse Folders button, select any folder, and then click Save.

    Note

    Les procédures restantes supposent que le nom de ce fichier est themes.manifest et que le fichier est enregistré dans le C:\temp répertoire sur votre ordinateur.The remaining procedures assume that the name of this file is themes.manifest and that the file is saved to the C:\temp directory on your computer.

Incorporer le fichier manifest dans le fichier exécutable de la solution publiéeEmbed the manifest file into the executable file of the published solution

  1. Ouvrez le invite de commandes de Visual Studio.Open the Visual Studio Command Prompt.

    Pour plus d’informations sur la façon d’ouvrir le invite de commandes Visual Studio, consultez invites de commandes.For more information about how to open the Visual Studio Command Prompt, see Command prompts.

    Note

    Les étapes restantes des hypothèses suivantes relatives à votre solution :The remaining steps make the following assumptions about your solution:

    • Le nom de la solution est MyWPFProject.The name of the solution is MyWPFProject.

      • La solution se trouve dans le répertoire suivant : %UserProfile%\Documents\Visual Studio 2010\Projects\.The solution is located in the following directory: %UserProfile%\Documents\Visual Studio 2010\Projects\.

      La solution est publiée dans le répertoire suivant : %UserProfile%\Documents\Visual Studio 2010\Projects\publish.The solution is published to the following directory: %UserProfile%\Documents\Visual Studio 2010\Projects\publish.

      • La version la plus récente des fichiers d’application publiée se trouve dans le répertoire suivant : %UserProfile%\Documents\Visual Studio 2010\Projects\publish\Application Files\WPFApp_1_0_0_0The most recent version of the published application files is located in the following directory: %UserProfile%\Documents\Visual Studio 2010\Projects\publish\Application Files\WPFApp_1_0_0_0

      Il est inutile d’utiliser le nom ou les emplacements de répertoire décrites ci-dessus.You do not have to use the name or the directory locations described above. Le nom et les emplacements décrits ci-dessus sont utilisés uniquement pour illustrer les étapes requises pour publier votre solution.The name and locations described above are used only to illustrate the steps required to publish your solution.

  2. À l’invite de commandes, modifiez le chemin d’accès au répertoire qui contient la version la plus récente des fichiers d’application publiée.At the command prompt, change the path to the directory that contains the most recent version of the published application files. L’exemple suivant illustre cette étape.The following example demonstrates this step.

    cd "%UserProfile%\Documents\Visual Studio 2010\Projects\MyWPFProject\publish\Application Files\WPFApp_1_0_0_0"  
    
  3. À l’invite de commandes, exécutez la commande suivante pour incorporer le fichier manifest dans le fichier exécutable de l’application.At the command prompt, run the following command to embed the manifest file into the executable file of the application.

    mt -manifest c:\temp\themes.manifest -outputresource:MyWPFApp.exe.deploy  
    

Signer les manifestes d’application et de déploiementSign the application and deployment manifests

  1. À l’invite de commandes, exécutez la commande suivante pour supprimer le .deploy extension à partir du fichier exécutable dans le répertoire actif.At the command prompt, run the following command to remove the .deploy extension from the executable file in the current directory.

    ren MyWPFApp.exe.deploy MyWPFApp.exe  
    

    Note

    Cet exemple ne suppose qu’un seul fichier possède le .deploy extension de fichier.This example assumes that only one file has the .deploy file extension. Assurez-vous que vous renommez tous les fichiers dans ce répertoire ayant le .deploy extension de fichier.Make sure that you rename all files in this directory that have the .deploy file extension.

  2. À l’invite de commandes, exécutez la commande suivante pour signer le manifeste d’application.At the command prompt, run the following command to sign the application manifest.

    mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx  
    

    Note

    Cet exemple suppose que vous signez le manifeste à l’aide de la .pfx fichier du projet.This example assumes that you sign the manifest by using the .pfx file of the project. Si vous signez pas le manifeste, vous pouvez omettre le -cf paramètre qui est utilisé dans cet exemple.If you are not signing the manifest, you can omit the -cf parameter that is used in this example. Si vous signez le manifeste avec un certificat qui requiert un mot de passe, spécifiez le -password option (For example: mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx - password Password).If you are signing the manifest with a certificate that requires a password, specify the -password option (For example: mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx - password Password).

  3. À l’invite de commandes, exécutez la commande suivante pour ajouter le .deploy extension pour le nom du fichier que vous avez renommé à l’étape précédente de cette procédure.At the command prompt, run the following command to add the .deploy extension to the name of the file that you renamed in a previous step of this procedure.

    ren MyWPFApp.exe MyWPFApp.exe.deploy  
    

    Note

    Cet exemple ne suppose qu’un seul fichier avait une .deploy extension de fichier.This example assumes that only one file had a .deploy file extension. Assurez-vous que vous renommez tous les fichiers dans ce répertoire qui avait précédemment le .deploy extension de nom de fichier.Make sure that you rename all files in this directory that previously had the .deploy file name extension.

  4. À l’invite de commandes, exécutez la commande suivante pour signer le manifeste de déploiement.At the command prompt, run the following command to sign the deployment manifest.

    mage -u ..\..\MyWPFApp.application -appm MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx  
    

    Note

    Cet exemple suppose que vous signez le manifeste à l’aide de la .pfx fichier du projet.This example assumes that you sign the manifest by using the .pfx file of the project. Si vous signez pas le manifeste, vous pouvez omettre le -cf paramètre qui est utilisé dans cet exemple.If you are not signing the manifest, you can omit the -cf parameter that is used in this example. Si vous signez le manifeste avec un certificat qui requiert un mot de passe, spécifiez le -password option, comme dans cet exemple :For example: mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx - password Password.If you are signing the manifest with a certificate that requires a password, specify the -password option, as in this example:For example: mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx - password Password.

    Une fois que vous avez effectué ces étapes, vous pouvez déplacer les fichiers publiés à l’emplacement à partir duquel vous souhaitez que les utilisateurs finaux pour installer l’application.After you have performed these steps, you can move the published files to the location from which you want end users to install the application. Si vous envisagez de mettre à jour la solution souvent, vous pouvez déplacer ces commandes dans un script et exécuter le script chaque fois que vous publiez une nouvelle version.If you intend to update the solution often, you can move these commands into a script and run the script each time that you publish a new version.

Voir aussiSee also

Résoudre les erreurs spécifiques dans les déploiements ClickOnce Troubleshoot specific errors in ClickOnce deployments
Vue d’ensemble de styles visuels Visual styles overview
Activer des styles visuels Enable visual styles
Invites de commandesCommand prompts