Configuratie per toepassing
Configuratie per toepassing leidt de afhankelijkheid van een bepaalde toepassing om van de ene versie van een assembly naast elkaar naar een andere versie van de assembly. Een configuratie per toepassing kan nodig zijn als voor de juiste werking van een bepaalde toepassing een assemblyversie is vereist die anders is dan de versie die normaal gesproken is opgegeven als een standaardconfiguratie of uitgeversconfiguratie. Een globale update van de assemblyversie van de uitgever kan bijvoorbeeld de assembly herstellen, maar deze specifieke toepassing verbreken. In dit geval kan de configuratie per toepassing worden gebruikt om de toepassing in staat te stellen door te gaan met de vorige assemblyversie.
Vanaf Windows Server 2003 overschrijft configuratie per toepassing altijd de standaardconfiguratie per toepassing. Configuratie per toepassing overschrijft configuratie van uitgevers alleen per toepassing als het toepassingsconfiguratiebestandapply="no" opgeeft in publisherPolicy- en er een bijbehorende vermelding aanwezig is in de toepassingscompatibiliteitsdatabase.
Notitie
In Windows XP overschrijft configuratie per toepassing zowel standaardconfiguratie als publisher-configuratie per toepassing. Zie Configuratie per toepassing in Windows XPvoor meer informatie.
Vanaf Windows Server 2003 overschrijft een configuratie per toepassing een configuratie van een uitgever als het configuratiebestand van de toepassingapply="ja" in publisherPolicy- en de vlag EnableAppConfig is ingesteld voor de toepassing in de toepassingscompatibiliteitsdatabase. Met deze mogelijkheid om een uitgeversconfiguratie te overschrijven met behulp van een configuratie per toepassing, kan de toepassing in Safemode worden uitgevoerd. Zie de Compatibiliteitstoolkit voor Windows-toepassingen voor meer informatie over de database voor toepassingscompatibiliteit en safemode. U kunt de Compatibiliteitstoolkit voor Windows-toepassingen verkrijgen via https://www.microsoft.com/downloads.
Notitie
Als u onderdelen verzendt met een toepassingsconfiguratiebestand (.config bestand) dat aangeeft apply="no" in publisherPolicy, zal de generatie van de activeringscontext mislukken. De configuratie per toepassing wordt genegeerd als u onderdelen met een .config-bestand verzendt dat apply="ja" in publisherPolicy-.
Toepassingsbeheerders kunnen een configuratie per toepassing implementeren door toepassingsconfiguratiebestanden te ontwerpen en te installeren en de database voor toepassingscompatibiliteit bij te werken. Het toepassingsconfiguratiebestand moet vervolgens worden geïmplementeerd en geïnstalleerd in dezelfde map als het uitvoerbare bestand van de toepassing. Zie Application Configuration File Schemavoor een overzicht van het bestandsschema. De toepassingscompatibiliteitsdatabase moet worden gedistribueerd zoals beschreven in de Application Compatibility Toolkit.
Notitie
Als uw toepassing wordt uitgevoerd in Safemode, ontvangt deze geen belangrijke beveiligingsoplossingen of bugfixes die de uitgever van de assembly kan uitgeven als configuratiebestanden van de uitgever. Een toepassing die gebruikmaakt van configuratie per toepassing kan daarom onbeveiligd blijven of onjuist blijven werken, zelfs nadat een nieuwe assembly met deze fixes op het systeem is toegepast. Daarom moeten toepassingsontwikkelaars nooit een toepassing verzenden met een configuratie per toepassing. Configuratie per toepassing mag alleen worden gebruikt door bedrijfsbeheerders als tijdelijke oplossing wanneer de toepassing wordt verbroken door een uitgeversconfiguratie. In dit geval is de permanente oplossing dat de ontwikkelaars van de assembly en de ontwikkelaars van de toepassing moeten samenwerken om ervoor te zorgen dat de assembly's met uitgeversconfiguratie volledig compatibel zijn met eerdere versies.
Hier volgt een voorbeeld van een toepassingsconfiguratiebestand. Zie Toepassingsconfiguratiebestanden voor meer informatie.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
<windows>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity processorArchitecture="X86" name="Microsoft.Windows.mysampleApp" type="win32" version="1.0.0.0"/>
<publisherPolicy apply="no"/>
<dependentAssembly>
<assemblyIdentity type="win32" processorArchitecture="x86" name="Microsoft.Windows.SampleAssembly" publicKeyToken="0000000000000000"/>
<bindingRedirect oldVersion="2.0.0.0" newVersion="2.0.1.0"/>
</dependentAssembly>
</assemblyBinding>
</windows>
</configuration>
De toepassingsbeheerder moet de vereiste vermeldingen toevoegen aan de database voor toepassingscompatibiliteit. Download en installeer de Windows Application Compatibility Toolkit 2.6 van https://www.microsoft.com/downloads. Maak een nieuwe aangepaste database of werk uw bestaande database bij met behulp van de compatibiliteitsbeheerder, zoals beschreven in de toolkit. De compatibiliteitsoplossing die u wilt kiezen voor de compatibiliteitslaag voor uw toepassing is EnableAppConfig. U moet altijd toepassingen testen voordat u een nieuwe compatibiliteitsdatabase installeert.