Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met visuele stijlen kunt u het uiterlijk van algemene besturingselementen wijzigen op basis van het thema dat door de gebruiker is gekozen. Visuele stijlen zijn standaard niet ingeschakeld voor WPF-toepassingen (Windows Presentation Foundation), dus u moet ze handmatig inschakelen. Het inschakelen van visuele stijlen voor een WPF-toepassing en het publiceren van de oplossing veroorzaakt echter een fout. In dit onderwerp wordt beschreven hoe u deze fout en het proces voor het publiceren van een WPF-toepassing kunt oplossen met visuele stijlen ingeschakeld. Zie het overzicht van visuele stijlen voor meer informatie over visuele stijlen. Zie Specifieke fouten in ClickOnce-implementaties oplossen voor meer informatie over het foutbericht.
Als u de fout wilt oplossen en de oplossing wilt publiceren, moet u de volgende taken uitvoeren:
Sluit het manifestbestand in het uitvoerbare bestand van de gepubliceerde oplossing in.
Onderteken de toepassings- en implementatiemanifesten.
Vervolgens kunt u de gepubliceerde bestanden verplaatsen naar de locatie van waaruit u wilt dat eindgebruikers de toepassing installeren.
De oplossing publiceren zonder visuele stijlen ingeschakeld
Zorg ervoor dat uw project geen visuele stijlen heeft ingeschakeld. Controleer eerst het manifestbestand van uw project op de volgende XML. Als de XML aanwezig is, plaatst u de XML vervolgens tussen een opmerkingstag.
Visuele stijlen zijn standaard niet ingeschakeld.
<dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency>In de volgende procedures ziet u hoe u het manifestbestand opent dat aan uw project is gekoppeld.
Het manifestbestand openen in een Visual Basic-project
Kies in de menubalk Project, ProjectNameProperties, waarbij ProjectName de naam van uw WPF-project is.
De eigenschappenpagina's voor uw WPF-project worden weergegeven.
Kies Op het tabblad Toepassingde optie Windows-instellingen weergeven.
Het bestand app.manifest wordt geopend in de Code-editor.
Het manifestbestand openen in een C#-project
Kies in de menubalk Project, ProjectNameProperties, waarbij ProjectName de naam van uw WPF-project is.
De eigenschappenpagina's voor uw WPF-project worden weergegeven.
Noteer op het tabblad Toepassing de naam die wordt weergegeven in het manifestveld. Dit is de naam van het manifest dat is gekoppeld aan uw project.
Opmerking
Als insluitmanifest met standaardinstellingen of Toepassing maken zonder manifest wordt weergegeven in het manifestveld, zijn visuele stijlen niet ingeschakeld. Als de naam van een manifestbestand wordt weergegeven in het manifestveld, gaat u verder met de volgende stap in deze procedure.
Kies Alle bestanden weergeven in Solution Explorer.
Met deze knop worden alle projectitems weergegeven, inclusief items die zijn uitgesloten en die normaal verborgen zijn. Het manifestbestand wordt weergegeven als een projectitem.
Bouw en publiceer uw oplossing. Zie Een ClickOnce-toepassing publiceren met behulp van de wizard Publiceren voor meer informatie over het publiceren van de oplossing.
Een manifestbestand maken
Plak de volgende XML in een Kladblok-bestand.
In deze XML wordt de assembly beschreven die besturingselementen bevat die visuele stijlen ondersteunen.
<?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>Klik in Kladblok op Bestand en daarna op Opslaan als.
Selecteer alle bestanden in het dialoogvenster Opslaan als in de vervolgkeuzelijst Opslaan als.
Geef in het vak Bestandsnaam de naam van het bestand en voeg .manifest toe aan het einde van de bestandsnaam. Bijvoorbeeld: themes.manifest.
Kies de knop Bladeren in mappen , selecteer een map en klik vervolgens op Opslaan.
Opmerking
In de overige procedures wordt ervan uitgegaan dat de naam van dit bestand themes.manifest is en dat het bestand wordt opgeslagen in de map C:\temp op uw computer.
Het manifestbestand insluiten in het uitvoerbare bestand van de gepubliceerde oplossing
Openen Developer Command Prompt voor Visual Studio.
Zie de opdrachtprompt voor ontwikkelaars en PowerShell voor ontwikkelaars voor meer informatie over het openen van de opdrachtprompt voor Ontwikkelaars voor Visual Studio.
Opmerking
De resterende stappen maken de volgende veronderstellingen over uw oplossing:
De naam van de oplossing is MyWPFProject.
De oplossing bevindt zich in de volgende map:
%UserProfile%\Documents\Visual Studio version\Projects\.De oplossing wordt gepubliceerd naar de volgende map:
%UserProfile%\Documents\Visual Studio version\Projects\publish.De meest recente versie van de gepubliceerde toepassingsbestanden bevindt zich in de volgende map:
%UserProfile%\Documents\Visual Studio version\Projects\publish\Application Files\WPFApp_1_0_0_0
U hoeft de naam of de hierboven beschreven maplocaties niet te gebruiken. De hierboven beschreven naam en locaties worden alleen gebruikt om de stappen te illustreren die nodig zijn om uw oplossing te publiceren.
Wijzig bij de opdrachtprompt het pad naar de map die de meest recente versie van de gepubliceerde toepassingsbestanden bevat. In het volgende voorbeeld ziet u deze stap.
cd "%UserProfile%\Documents\Visual Studio version\Projects\MyWPFProject\publish\Application Files\WPFApp_1_0_0_0"Voer bij de opdrachtprompt de volgende opdracht uit om het manifestbestand in te sluiten in het uitvoerbare bestand van de toepassing.
mt -manifest c:\temp\themes.manifest -outputresource:MyWPFApp.exe.deploy
De toepassings- en implementatiemanifesten ondertekenen
Voer bij de opdrachtprompt de volgende opdracht uit om de extensie .deploy te verwijderen uit het uitvoerbare bestand in de huidige map.
ren MyWPFApp.exe.deploy MyWPFApp.exeOpmerking
In dit voorbeeld wordt ervan uitgegaan dat slechts één bestand de extensie .deploy heeft. Zorg ervoor dat u de naam van alle bestanden in deze map wijzigt met de extensie .deploy .
Voer bij de opdrachtprompt de volgende opdracht uit om het toepassingsmanifest te ondertekenen.
mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfxOpmerking
In dit voorbeeld wordt ervan uitgegaan dat u het manifest ondertekent met behulp van het PFX-bestand van het project. Als u het manifest niet ondertekent, kunt u de
-cfparameter weglaten die in dit voorbeeld wordt gebruikt. Als u het manifest ondertekent met een certificaat waarvoor een wachtwoord is vereist, geeft u de-passwordoptie (For example: mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx - password Password).Voer bij de opdrachtprompt de volgende opdracht uit om de extensie .deploy toe te voegen aan de naam van het bestand dat u in een vorige stap van deze procedure hebt hernoemd.
ren MyWPFApp.exe MyWPFApp.exe.deployOpmerking
In dit voorbeeld wordt ervan uitgegaan dat slechts één bestand een .deploy-bestandsextensie heeft. Zorg ervoor dat u de naam van alle bestanden in deze map wijzigt die eerder de bestandsextensie .deploy had.
Voer bij de opdrachtprompt de volgende opdracht uit om het implementatiemanifest te ondertekenen.
mage -u ..\..\MyWPFApp.application -appm MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfxOpmerking
In dit voorbeeld wordt ervan uitgegaan dat u het manifest ondertekent met behulp van het PFX-bestand van het project. Als u het manifest niet ondertekent, kunt u de
-cfparameter weglaten die in dit voorbeeld wordt gebruikt. Als u het manifest ondertekent met een certificaat waarvoor een wachtwoord is vereist, geeft u de-passwordoptie op, zoals in dit voorbeeld:For example: mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx - password PasswordNadat u deze stappen hebt uitgevoerd, kunt u de gepubliceerde bestanden verplaatsen naar de locatie van waaruit u wilt dat eindgebruikers de toepassing installeren. Als u de oplossing vaak wilt bijwerken, kunt u deze opdrachten verplaatsen naar een script en het script telkens uitvoeren wanneer u een nieuwe versie publiceert.