Condividi tramite


File di configurazione del server di pubblicazione

Un file di configurazione dell'editore è un file XML che reindirizza a livello globale le applicazioni e gli assembly dall'uso di una versione di un assembly side-by-side a un'altra versione dello stesso assembly. In genere, l'autore dell'assembly rilascia un aggiornamento compatibile o una correzione di sicurezza per ogni assembly eseguendo un file di configurazione del server di pubblicazione da installare insieme a un aggiornamento del Service Pack. Questa operazione viene definita configurazione del server di pubblicazione . Per altre informazioni su questo tipo di configurazione vedere Configurazione del server di pubblicazione.

I file di configurazione del server di pubblicazione hanno gli elementi e gli attributi seguenti. Per un elenco completo dello schema XML, vedere Publisher Configuration File Schema.

Elemento Attributi Obbligatorio
assembly
manifestVersion
assemblyIdentity
tipo
nome
lingua No
processorArchitecture No
versione
publicKeyToken No
di dipendenza No
dependentAssembly No
bindingRedirect
oldVersion
newVersion

Percorso file

I file di configurazione dell'editore devono essere installati nella cartella WinSxS. Vengono comunemente installati come file separati, ma i file di configurazione dell'editore possono essere inclusi anche come risorsa in una DLL. Un file di configurazione dell'editore non può essere incluso come risorsa in un file EXE. Un file EXE può includere un manifesto dell'applicazione come risorsa.

Sintassi del nome file

Il nome file di un file di configurazione dell'editore ha il formato criterio.principale.secondaria.nome assembly in cui principale e secondaria fanno riferimento alle parti principali e secondarie della versione dell'assembly interessata. Il nome assembly fa riferimento al nome dell'assembly.

Ad esempio, un file di configurazione dell'editore per la versione 6.0 di Microsoft.Windows.Common-Controls assembly avrà il nome seguente:

policy.6.0.Microsoft.Windows.Common-Controls

Non usare i file di configurazione dei criteri per incrementare la versione principale o secondaria di un assembly. Ad esempio, non reindirizzare la versione 6.0.0.0 a 7.0.0.0 o 6.1.0.0. Quando un'applicazione fa riferimento a una versione di assembly, ad esempio 6.0.0.0, verifica la presenza di eventuali file di configurazione dei criteri con le versioni principali e secondarie specificate, ad esempio 6.0. L'applicazione viene quindi reindirizzata a un'altra versione dell'assembly, ad esempio 6.0.1.0. Se un file di configurazione dell'editore incrementa la versione principale o secondaria di un assembly, il successivo reindirizzamento dell'assembly potrebbe richiedere l'emissione di più file di configurazione dei criteri.

Elementi

assembly

Elemento contenitore. Il primo sottoelemento deve essere un assemblyIdentity. Obbligatorio.

L'elemento assembly deve trovarsi nello spazio dei nomi urn:schemas-microsoft-com:asm.v1. Anche gli elementi figlio dell'assembly devono trovarsi in questo spazio dei nomi, tramite ereditarietà o assegnazione di tag.

L'elemento assembly dispone degli attributi seguenti.

Attributo Descrizione
manifestVersion L'attributo manifestVersion deve essere impostato su 1.0.

assemblyIdentity

Descrive e identifica in modo univoco un assembly side-by-side.

Come primo sottoelemento di un elemento assembly, il assemblyIdentity descrive l'assembly side-by-side con una o più dipendenze dell'assembly modificate. Il file di configurazione del server di pubblicazione reindirizza le dipendenze dell'assembly identificato. Ad esempio, il assemblyIdentity seguente indica che il file di configurazione dell'editore influisce sulle dipendenze dell'assembly 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"/>

Come primo sottoelemento di un elemento dependentAssembly, assemblyIdentity descrive una dipendenza dell'assembly side-by-side. Il file di configurazione dell'editore riconfigura l'identità di questo assembly side-by-side richiesto. La modifica viene specificata in un bindingRedirect. Ad esempio, il assemblyIdentity seguente modifica qualsiasi dipendenza da Microsoft.Windows.SampleAssembly versione 2.0.0.0 a una dipendenza da Microsoft.Windows.SampleAssembly versione 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>

L'elemento assemblyIdentity dispone degli attributi seguenti. Non ha elementi secondari.

Attributo Descrizione
tipo Specifica il tipo di assembly. Obbligatorio. Nel assemblyIdentity per l'assembly interessato, il valore dell'attributo tipo deve essere impostato su win32-policy. Il valore win32-policy deve essere in tutte le lettere minuscole.
Nel assemblyIdentity per la modifica della dipendenza dell'assembly, il valore dell'attributo tipo deve essere impostato su win32. Il valore win32 deve essere in tutte le lettere minuscole.
nome Denomina in modo univoco un assembly. Obbligatorio. Nel assemblyIdentity per l'assembly interessato, il nome ha il del modulocriteri .principale.secondaria . nome assembly in cui principale e secondaria fanno riferimento alle parti principali e secondarie della versione dell'assembly .
Nel assemblyIdentity per la modifica della dipendenza dell'assembly, il nome ha il modulo Organization.Division.Name. Ad esempio, Microsoft.Windows.MysampleApp.
lingua Identifica la lingua dell'assembly. Opzionale. Nel assemblyIdentity per l'assembly interessato, se l'assembly è specifico del linguaggio, specificare il codice del linguaggio DHTML. Se l'assembly è destinato all'uso globale (indipendente dalla lingua), omettere questo attributo.
Nel assemblyIdentity per la modifica della dipendenza dell'assembly, se l'assembly è specifico del linguaggio, specificare il codice del linguaggio DHTML. Se l'assembly è destinato all'uso globale (indipendente dalla lingua) impostare il valore su "*".
processorArchitecture Specifica il processore che esegue l'applicazione.
versione Specifica la versione dell'assembly. Usare la sintassi della versione in quattro parti: mmmm.nnnn.oooo.pppp Obbligatorio solo nel contesto DEF assemblyIdentity. Non specificare l'attributo version nel contesto REF assemblyIdentity.
publicKeyToken Stringa esadecimale di 16 caratteri che rappresenta gli ultimi 8 byte dell'hash SHA-1 della chiave pubblica in cui è firmato l'assembly. La chiave pubblica usata per firmare il catalogo deve essere di 2048 bit o superiore. Per tutti gli assembly condivisi side-by-side è necessario un publicKeyToken. Il valore publicKeyToken usato per il file di configurazione dell'editore deve essere la stessa chiave usata per l'assembly firmato. I file di configurazione del server di pubblicazione possono essere firmati usando gli stessi strumenti usati con gli assembly. Vedere esempio di firma dell'assembly e Creazione di file e cataloghi firmati.

di dipendenza

Elemento contenitore facoltativo per almeno un dependentAssembly. Non ha attributi.

dependentAssembly

Ogni dependentAssembly deve trovarsi esattamente all'interno di una dipendenza . Un dependentAssembly non dispone di attributi. Il primo sottoelemento di dependentAssembly deve essere un assemblyIdentity per l'assembly side-by-side riconfigurato dalla configurazione del server di pubblicazione.

bindingRedirect

L'elemento bindingRedirect contiene informazioni di reindirizzamento per l'associazione dell'assembly.

Questo elemento contiene gli attributi illustrati nella tabella seguente.

Attributo Descrizione
oldVersion Specifica la versione dell'assembly sottoposta a override e reindirizzamento. Usare la sintassi della versione in quattro parti nnnnn.nnnnn.nnnnn.nnnnn. Specificare un intervallo di versioni con un trattino senza spazi. Ad esempio, 2.14.3.0 o 2.14.3.0 2.16.0.0. Obbligatorio.
newVersion Specifica la versione dell'assembly sostitutivo. Usare la sintassi della versione in quattro parti nnnnn.nnnnn.nnnnn.nnnnn.

Osservazioni

I file di configurazione del server di pubblicazione non specificano i file. Si noti che i file di criteri specifici della lingua sono separati dal file di configurazione dell'editore.

Esempio

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