Dela via


Konfiguration per program

Konfiguration per program omdirigerar beroendet av ett visst program från en version av en sida vid sida-sammansättning till en annan version av sammansättningen. En konfiguration per program kan bli nödvändig om rätt åtgärd för ett visst program kräver en sammansättningsversion som skiljer sig från den version som normalt anges som en standardkonfiguration eller utgivarkonfiguration. En global uppdatering av sammansättningsversionen av utgivaren kan till exempel åtgärda sammansättningen men bryta det här programmet. I det här fallet kan konfiguration per program användas för att göra det möjligt för programmet att fortsätta köras med den tidigare sammansättningsversionen.

Från och med Windows Server 2003 åsidosätter konfigurationen per program alltid standardkonfiguration per program. Konfiguration per program åsidosätter utgivarkonfiguration endast per program om programkonfigurationsfil anger apply="no" i publisherPolicy och det finns en motsvarande post i databasen Programkompatibilitet.

Not

I Windows XP åsidosätter konfiguration per program både standardkonfiguration och utgivarkonfiguration per program. Mer information finns i Per programkonfiguration på Windows XP.

 

Från och med Windows Server 2003 åsidosätter en konfiguration per program en utgivarkonfiguration om programkonfigurationsfil anger apply="yes" i publisherPolicy och flaggan EnableAppConfig anges för programmet i databasen Programkompatibilitet. Den här funktionen för att åsidosätta en utgivarkonfiguration med hjälp av en konfiguration per program gör att programmet kan köras i Safemode. Mer information om programkompatibilitetsdatabasen och Safemode finns i Windows Application Compatibility Toolkit. Du kan hämta Windows Application Compatibility Toolkit från https://www.microsoft.com/downloads.

Not

Om du skickar komponenter med en programkonfigurationsfil (.config fil) som anger apply="no" i publisherPolicykommer genereringen av aktiveringskontexten att misslyckas. Konfigurationen per program ignoreras om du skickar komponenter med en .config fil som anger apply="yes" i publisherPolicy.

 

Programadministratörer kan implementera en konfiguration per program genom att redigera och installera programkonfigurationsfiler och uppdatera programkompatibilitetsdatabasen. Programkonfigurationsfilen ska sedan distribueras och installeras i samma mapp som programmets körbara fil. En lista över filschemat finns i Application Configuration File Schema. Programkompatibilitetsdatabasen måste distribueras enligt beskrivningen i programkompatibilitetsverktyget.

Not

Om programmet körs i Safemode får det inga viktiga säkerhetskorrigeringar eller buggkorrigeringar som utgivaren av sammansättningen kan utfärda som utgivarkonfigurationsfiler. Ett program som använder konfiguration per program kan därför förbli osäkert eller fortsätta att fungera felaktigt även efter att en ny sammansättning med dessa korrigeringar har tillämpats på systemet. Därför bör programutvecklare aldrig skicka ett program med en konfiguration per program. Konfiguration per program bör endast användas av företagsadministratörer som en tillfällig korrigering när programmet bryts av en utgivarkonfiguration. I det här fallet är den permanenta lösningen att utvecklarna av sammansättningen och utvecklarna av programmet måste arbeta tillsammans för att säkerställa att sammansättningarna med utgivarkonfigurationen är helt bakåtkompatibla.

 

Följande är ett exempel på en programkonfigurationsfil. Mer information finns i Programkonfigurationsfiler.

<?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>

Programadministratören bör lägga till de nödvändiga posterna i databasen Programkompatibilitet. Ladda ned och installera Windows Application Compatibility Toolkit 2.6 från https://www.microsoft.com/downloads. Skapa en ny anpassad eller uppdatera din befintliga databas med hjälp av kompatibilitetsadministratören enligt beskrivningen i verktygslådan. Den kompatibilitetskorrigering som du vill välja för kompatibilitetsskiktet för ditt program är EnableAppConfig. Du måste alltid testa program innan du installerar en ny kompatibilitetsdatabas.