Dela via


Konfigurationsfiler för Publisher

En utgivarkonfigurationsfil är en XML-fil som globalt omdirigerar program och sammansättningar från att använda en version av en sida vid sida-sammansättning till en annan version av samma sammansättning. Vanligtvis utfärdar utgivaren av sammansättningen en kompatibel uppdatering eller säkerhetskorrigering per sammansättning genom att utfärda en utgivarkonfigurationsfil som ska installeras tillsammans med en service pack-uppdatering. Detta kallas utgivarkonfiguration. Mer information om den här typen av konfiguration finns i Publisher Configuration.

Konfigurationsfilerna för Publisher har följande element och attribut. En fullständig lista över XML-schemat finns i Publisher Configuration File Schema.

Element Attribut Krävs
sammansättning Ja
manifestVersion Ja
assemblyIdentity Ja
typ Ja
namn Ja
språk Nej
processorArchitecture Nej
version Ja
publicKeyToken Nej
beroende Nej
beroendeAssembly Nej
bindingRedirect Ja
oldVersion Ja
newVersion Ja

Filplats

Konfigurationsfilerna för Publisher måste installeras i WinSxS-mappen. De installeras ofta som en separat fil, men konfigurationsfiler för utgivare kan också ingå som en resurs i en DLL. Det går inte att inkludera en utgivarkonfigurationsfil som en resurs i en EXE-fil. En EXE-fil kan innehålla ett programmanifest som en resurs.

Filnamnssyntax

Filnamnet för en utgivarkonfigurationsfil har formuläret princip.större.mindre.sammansättningsnamn där större och mindre referera till de större och mindre delarna av sammansättningsversion som påverkas. Det sammansättningsnamnet refererar till namnet på sammansättningen.

Till exempel en utgivarkonfigurationsfil för version 6.0 av Microsoft.Windows.Common-Controls sammansättning skulle ha följande namn:

policy.6.0.Microsoft.Windows.Common-Controls

Använd inte principkonfigurationsfiler för att öka huvudversionen eller delversionen av en sammansättning. Omdirigera till exempel inte version 6.0.0.0 till 7.0.0.0 eller 6.1.0.0. När ett program refererar till en sammansättningsversion, till exempel 6.0.0.0, kontrollerar sida vid sida om det finns några principkonfigurationsfiler med de angivna huvudversionerna och delversionerna, t.ex. 6.0. Programmet omdirigeras sedan till en annan version av sammansättningen, till exempel 6.0.1.0. Om en utgivarkonfigurationsfil ökar huvudversionen eller delversionen av en sammansättning kan efterföljande omdirigering av sammansättningen kräva att flera principkonfigurationsfiler utfärdas.

Element

sammansättning

Ett containerelement. Dess första underelement måste vara en assemblyIdentity. Krävs.

Sammansättningselementet måste finnas i namnområdet urn:schemas-microsoft-com:asm.v1. Underordnade element i sammansättningen måste också finnas i det här namnområdet, genom arv eller genom taggning.

Elementet sammansättning har följande attribut.

Attribut Beskrivning
manifestVersion Attributet manifestVersion måste anges till 1.0.

assemblyIdentity

Beskriver och identifierar unikt en sida vid sida-sammansättning.

Som det första underelementet i en sammansättning elementet beskriver assemblyIdentity den sida-vid-sida-sammansättning som har en eller flera av dess sammansättningsberoenden ändrade. Konfigurationsfilen för utgivaren omdirigerar beroendena för den identifierade sammansättningen. Följande assemblyIdentity anger till exempel att konfigurationsfilen för utgivaren påverkar beroendena för sammansättningen x86 Microsoft.Windows.Pop 6.0.0.0.

<assemblyIdentity 
     type="win32-policy" 
     publicKeyToken="0000000000000000" 
     name="policy.6.0.Microsoft.Windows.Pop" 
     version="2.1.0.0" 
     processorArchitecture="x86"/>

Som det första underelementet i ett beroendeAssembly- element beskriver assemblyIdentity ett sammansättningsberoende sida vid sida. Konfigurationsfilen för utgivaren konfigurerar om identiteten för den nödvändiga sammansättningen sida vid sida. Ändringen anges i en bindingRedirect. Följande assemblyIdentity ändrar till exempel beroendet av Microsoft.Windows.SampleAssembly version 2.0.0.0 till ett beroende av Microsoft.Windows.SampleAssembly version 2.0.1.0.

<dependency>
      <dependentAssembly>
         <assemblyIdentity 
type="win32" 
name="Microsoft.Windows.SampleAssembly"  
processorArchitecture="x86"
publicKeyToken="0000000000000000"/>
         <bindingRedirect oldVersion="2.0.0.0" newVersion="2.0.1.0"/>
      </dependentAssembly>
</dependency>

Elementet assemblyIdentity har följande attribut. Den har inga underelement.

Attribut Beskrivning
typ Anger sammansättningstypen. Krävs. I assemblyIdentity för sammansättningen som påverkas måste värdet för typ attribut anges till win32-policy. Värdet win32-policy måste vara i alla gemener.
I assemblyIdentity för det föränderliga sammansättningsberoendet måste värdet för typ attribut anges till win32. Värdet win32 måste vara i alla gemener.
namn Namnger en sammansättning unikt. Krävs. I assemblyIdentity för sammansättningen som påverkas har namnet formuläret princip.större.mindre.sammansättningsnamn där större och mindre refererar till huvud- och deldelarna i -sammansättningsversionen.
I assemblyIdentity för det föränderliga sammansättningsberoendet har namnet formuläret Organization.Division.Name. Till exempel Microsoft.Windows.MysampleApp.
språk Identifierar språket för sammansättningen. Valfri. I assemblyIdentity för sammansättningen som påverkas anger du DHTML-språkkoden om sammansättningen är språkspecifik. Om sammansättningen är avsedd för global användning (språkneutral) utelämnar du det här attributet.
I assemblyIdentity för det föränderliga sammansättningsberoendet anger du DHTML-språkkoden om sammansättningen är språkspecifik. Om sammansättningen är för global användning (språkneutral) anger du värdet som "*".
processorArchitecture Anger processorn som kör programmet.
version Anger sammansättningsversionen. Använd versionssyntax i fyra delar: mmmm.nnnn.oooo.pppp Krävs endast i DEF-kontexten assemblyIdentity. Ange inte versionsattributet i REF-kontexten assemblyIdentity.
publicKeyToken En hexadecimal sträng på 16 tecken som representerar de sista 8 byteen av SHA-1-hashen för den offentliga nyckeln under vilken sammansättningen är signerad. Den offentliga nyckel som används för att signera katalogen måste vara 2 048 bitar eller större. En publicKeyToken krävs för alla delade sammansättningar sida vid sida. PublicKeyToken som används för utgivarens konfigurationsfil ska vara samma nyckel som används för den signerade sammansättningen. Konfigurationsfiler för utgivare kan signeras med samma verktyg som används med sammansättningar, se Exempel på sammansättningssignering och Skapa signerade filer och kataloger.

beroende

Ett valfritt containerelement för minst en beroendeAssembly. Den har inga attribut.

beroendeAssembly

Varje beroendeAssembly måste finnas i exakt ett beroende. En beroendeAssembly- har inga attribut. Det första underelementet i beroendeAssembly- måste vara en assemblyIdentity- för den sida-vid-sida-sammansättning som konfigureras om av utgivarkonfigurationen.

bindingRedirect

Elementet bindingRedirect innehåller omdirigeringsinformation för bindningen av sammansättningen.

Det här elementet har attributen som visas i följande tabell.

Attribut Beskrivning
oldVersion Anger den sammansättningsversion som åsidosättas och omdirigeras. Använd versionssyntaxen i fyra delar nnnn.nnnnn.nnnnn.nnnn.nnnnnn. Ange ett intervall med versioner med ett bindestreck utan blanksteg. Till exempel 2.14.3.0 eller 2.14.3.0 2.16.0.0. Krävs.
newVersion Anger ersättningssammansättningens version. Använd versionssyntax i fyra delar nnnn.nnnnn.nnnnn.nnnn.nnnnnn.

Anmärkningar

Publisher-konfigurationsfiler anger inte filer. Observera att språkspecifika principfiler är åtskilda från utgivarens konfigurationsfil.

Exempel

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32-policy" publicKeyToken="0000000000000000" name="policy.6.0.Proseware.Research.SampleAssembly" version="1.0.1.0" language="en-us" processorArchitecture="x86"/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" publicKeyToken="0000000000000000" name="Proseware.Research.SampleAssembly" language="en-us" processorArchitecture="x86"/>
<bindingRedirect oldVersion="1.0.0.0" newVersion="1.0.1.0"/>
</dependentAssembly>
</dependency>
</assembly>