Delen via


Configuratie per toepassing in Windows XP

In Windows XP overschrijft configuratie per toepassing zowel standaardconfiguratie als publisher-configuratie per toepassing. Hiermee wordt de afhankelijkheid van een specifieke toepassing van de ene versie van een assembly naast elkaar omgeleid naar een andere opgegeven versie van de assembly.

Notitie

Vanaf Windows Server 2003 overschrijft configuratie per toepassing alleen publisher-configuratie per toepassing als het toepassingsconfiguratiebestandapply="no" in publisherPolicy en er een overeenkomstige vermelding aanwezig is in de toepassingscompatibiliteitsdatabase. Configuratie per toepassing overschrijft altijd de standaardconfiguratie. Zie configuratie per toepassingvoor meer informatie.

 

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 standaardconfiguratie of uitgeverconfiguratie. 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. Een ander voorbeeld: een installatie van een servicepack met een assembly-update kan publisher-configuratie gebruiken om de afhankelijkheden van alle toepassingen en assembly's op het systeem om te leiden van versie 1.0.0.0 naar 1.0.1.0. Als er een toepassing is waarvoor versie 1.0.0.0 correct werkt, kan deze worden omgeleid naar versie 1.0.0.0 met behulp van configuratie per toepassing.

Toepassingsbeheerders kunnen een configuratie per toepassing implementeren door toepassingsconfiguratiebestandente ontwerpen en te installeren. Hiermee wordt een specifieke toepassing omgeleid van afhankelijkheid van één versie van een assembly naast elkaar om afhankelijk te zijn van een andere versie. toepassingsconfiguratiebestanden bestanden kunnen configuratiebestanden voor uitgevers overschrijven en de standaardconfiguratie die is opgegeven door toepassingsmanifesten en assemblymanifesten. Het toepassingsconfiguratiebestand bevat informatie die door het laadprogramma wordt gebruikt wanneer CreateProcess wordt aangeroepen.

Als u een toepassing wilt configureren om zowel het toepassingsmanifest als de configuratie van de uitgever te overschrijven, moet een ontwikkelaar een toepassingsconfiguratiebestand maken. Het toepassingsconfiguratiebestand wordt vervolgens 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.

Houd er rekening mee dat als uw toepassing gebruikmaakt van configuratie per toepassing, er geen belangrijke beveiligingsoplossingen of bugfixes worden ontvangen die de uitgever van de assembly kan uitgeven als configuratiebestanden voor uitgevers. 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 Application Configuration Filesvoor meer informatie.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
  <windows>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <assemblyIdentity 
          name="Microsoft.Windows.mysampleApp" 
          processorArchitecture="x86" 
          version="1.0.0.0" type="win32"/>
        <dependentAssembly>
          <assemblyIdentity type="win32" 
              name="Microsoft.Windows.SampleAssembly" 
              processorArchitecture="x86" 
              publicKeyToken="0000000000000000"/>
          <bindingRedirect 
              oldVersion="2.0.0.0" 
              newVersion="2.0.1.0"/>
        </dependentAssembly>
    </assemblyBinding>
   </windows>
</configuration>