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>