Comment : publier une application WPF avec les styles visuels activés
Les styles visuels permettent à l'apparence des contrôles communs à modifier en fonction de le thème choisi par l'utilisateur.Par défaut, les styles visuels ne sont pas activées pour les (WPF) applications Windows Presentation Foundation, vous devez les activer manuellement.Toutefois, activer les styles visuels dans une application WPF puis publier la solution génère une erreur.Cette rubrique décrit comment résoudre cette erreur et le processus de publication d'une application WPF avec les styles visuels activés.Pour plus d'informations sur les styles visuels, consultez Visual Styles Overview.Pour plus d'informations sur le message d'erreur, consultez Dépannage d'erreurs spécifiques lors de déploiements de ClickOnce.
Pour corriger l'erreur et publier la solution, vous devez effectuer les tâches suivantes :
pour publier la solution sans styles visuels activés.
pour créer un fichier manifeste.
pour inclure le fichier manifeste dans le fichier exécutable de la solution publiée.
Pour signer les manifestes d'application et de déploiement.
Ensuite, vous pouvez déplacer les fichiers publiés à l'emplacement à partir duquel vous souhaitez que les utilisateurs finaux d'installer l'application.
pour publier la solution sans styles visuels activés
Assurez -vous que votre projet n'a pas les styles visuels activés.En premier lieu, vérifiez le fichier manifeste de votre projet pour le XML suivant.Ensuite, si le XML est présent, insérez XML avec une balise de commentaire.
Par défaut, les styles visuels sont désactivées.
<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 manifeste associé à votre projet.
pour ouvrir le fichier manifeste dans un projet Visual Basic
Dans la barre de menus, sélectionnez Projet, ProjectNamePropriétés, où ProjectName est le nom de votre projet WPF.
Les pages de propriétés de votre projet WPF s'affichent.
Sous l'onglet d' Application , choisissez paramètres de fenêtres d'affichage.
Le fichier app.manifest s'ouvre dans éditeur de code.
Pour ouvrir le fichier manifeste dans un projet c#
Dans la barre de menus, sélectionnez Projet, ProjectNamePropriétés, où ProjectName est le nom de votre projet WPF.
Les pages de propriétés de votre projet WPF s'affichent.
Sous l'onglet d' Application , notez le nom qui s'affiche dans le champ manifeste.Il s'agit du nom du manifeste associé à votre projet.
[!REMARQUE]
Si manifeste d'ornement avec le paramètre par défaut ou créez l'application sans manifeste s'affichent dans le champ manifeste, les styles visuels sont désactivées.Si le nom d'un fichier manifeste s'affiche dans le champ manifeste, passez à l'étape suivante de cette procédure.
dans Explorateur de solutions, choisissez Afficher tous les fichiers ().
Ce bouton affiche tous les éléments de projet, y compris ceux qui ont été exclus et ceux qui sont normalement masqués.Le fichier manifeste apparaît comme un élément de projet.
Générez et publiez votre solution.Pour plus d'informations sur la publication la solution, consultez Comment : publier une application ClickOnce à l'aide de l'Assistant Publication.
pour créer un fichier manifeste
Collez le code XML suivant dans un fichier Bloc-notes.
Ce code XML décrit l'assembly qui contient des contrôles qui prennent en charge les styles visuels.
<?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>
Dans le Bloc-notes, cliquez sur Fichier, puis sur Enregistrer sous.
Dans la boîte de dialogue Enregistrer sous, dans la liste déroulante Type, sélectionnez Tous les fichiers.
Dans la zone de Nom de fichier , nommez le fichier et ajoutez .manifest à la fin de le nom de fichier.par exemple : themes.manifest.
Choisissez le bouton de Parcourir les dossiers , sélectionnez un dossier, puis cliquez sur Enregistrer.
[!REMARQUE]
Les autres procédures supposent que le nom de ce fichier est themes.manifest et que le fichier est enregistré dans le répertoire C:\temp sur votre ordinateur.
pour inclure le fichier manifeste dans le fichier exécutable de la solution publiée
Ouvrez l'Invite de commandes Visual Studio.
Pour plus d'informations sur l'ouverture Invite de commandes de Visual Studio, consultez Invites de commandes Visual Studio e t Kit de développement logiciel (SDK) Windows.
[!REMARQUE]
Les étapes suivantes font les hypothèses suivantes sur votre solution :
-
le nom de la solution est MyWPFProject.
-
La solution se trouve dans le répertoire suivant : %UserProfile%\Documents\Visual Studio 2010\Projects\.
la solution est publiée au répertoire suivant : %UserProfile%\Documents\Visual Studio 2010\Projects\publish.
-
La dernière version des fichiers d'application publiés se trouve dans le répertoire suivant : %UserProfile%\Documents\Visual Studio 2010\Projects\publish\Application Files\WPFApp_1_0_0_0
Vous ne devez pas utiliser le nom ou les emplacements de répertoire décrits ci-dessus.Le nom et les emplacements décrits ci-dessus sont utilisés uniquement pour illustrer les étapes requises pour la publication de votre solution.
-
À 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és.L'exemple suivant illustre cette étape.
cd "%UserProfile%\Documents\Visual Studio 2010\Projects\MyWPFProject\publish\Application Files\WPFApp_1_0_0_0"
À l'invite de commandes, exécutez la commande suivante pour inclure le fichier manifeste dans le fichier exécutable de l'application.
mt –manifest c:\temp\themes.manifest –outputresource:MyWPFApp.exe.deploy
Pour signer les manifestes d'application et de déploiement
À l'invite de commandes, exécutez la commande suivante pour supprimer l'extension d' .deploy du fichier exécutable dans le répertoire actif.
ren MyWPFApp.exe.deploy MyWPFApp.exe
[!REMARQUE]
Cet exemple suppose qu'un fichier porte l'extension de fichier d' .deploy .Assurez -vous que vous renommez tous les fichiers de ce répertoire qui ont l'extension de fichier d' .deploy .
À l'invite de commandes, exécutez la commande suivante pour signer le manifeste de l'application.
mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx
[!REMARQUE]
Cet exemple suppose que vous signez le manifeste à l'aide de le fichier d' .pfx du projet.Si vous n'archivez pas le manifeste, vous pouvez omettre le paramètre d' –cf utilisé dans cet exemple.si vous signez le manifeste avec un certificat qui requiert un mot de passe, spécifiez l'option d' –password (For example: mage –u MyWPFApp.exe.manifest –cf ..\..\..\MyWPFApp_TemporaryKey.pfx – passwordPassword).
À l'invite de commandes, exécutez la commande suivante pour ajouter l'extension d' .deploy le nom du fichier que vous avez renommé dans une étape précédente de cette procédure.
ren MyWPFApp.exe MyWPFApp.exe.deploy
[!REMARQUE]
Cet exemple suppose qu'un seul fichier a eu une extension de fichier d' .deploy .Assurez -vous que vous renommez tous les fichiers de ce répertoire qui précédemment a déjà eu une extension de nom de fichier d' .deploy .
À l'invite de commandes, exécutez la commande suivante pour signer le manifeste de déploiement.
mage -u ..\..\MyWPFApp.application -appm MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx
[!REMARQUE]
Cet exemple suppose que vous signez le manifeste à l'aide de le fichier d' .pfx du projet.Si vous n'archivez pas le manifeste, vous pouvez omettre le paramètre d' –cf utilisé dans cet exemple.si vous signez le manifeste avec un certificat qui requiert un mot de passe, spécifiez l'option d' –password , comme dans cet exemple :For example: mage –u MyWPFApp.exe.manifest –cf ..\..\..\MyWPFApp_TemporaryKey.pfx – passwordPassword.
Après avoir effectué ces étapes, vous pouvez déplacer les fichiers publiés à l'emplacement à partir duquel vous souhaitez que les utilisateurs finaux d'installer l'application.si vous avez l'intention de mettre à jour la solution souvent, vous pouvez entrer ces commandes dans un script et exécuter le script chaque fois que vous publiez une nouvelle version.
Voir aussi
Référence
Enabling Visual Styles
Invites de commandes Visual Studio e t Kit de développement logiciel (SDK) Windows
Concepts
Dépannage d'erreurs spécifiques lors de déploiements de ClickOnce