Archivos de configuración del publicador

Un archivo de configuración del publicador es un archivo XML que redirige globalmente las aplicaciones y los ensamblados desde el uso de una versión de un ensamblado en paralelo a otra versión del mismo ensamblado. Normalmente, el publicador del ensamblado emite una actualización compatible o una corrección de seguridad por ensamblado mediante la emisión de un archivo de configuración del publicador que se va a instalar junto con una actualización de Service Pack. Esto se conoce como configuración del publicador. Para obtener más información sobre este tipo de configuración , vea Configuración del publicador.

Los archivos de configuración del publicador tienen los siguientes elementos y atributos. Para obtener una lista completa del esquema XML, consulte Esquema de archivo de configuración del publicador.

Elemento Atributos Requerido
assembly Yes
manifestVersion Yes
assemblyIdentity
type
name
language No
processorArchitecture No
version Yes
publicKeyToken No
Dependencia No
dependentAssembly No
bindingRedirect Yes
oldVersion Yes
newVersion Yes

Ubicación del archivo

Los archivos de configuración del publicador deben instalarse en la carpeta WinSxS. Normalmente se instalan como un archivo independiente, pero los archivos de configuración del publicador también se pueden incluir como un recurso en un archivo DLL. Un archivo de configuración del publicador no se puede incluir como un recurso en un archivo EXE. Un archivo EXE puede incluir un manifiesto de aplicación como un recurso.

Sintaxis de los nombres de archivo

El nombre de archivo de un archivo de configuración del publicador tiene la directiva de formulario. major. menor. assemblyname donde major y minor hacen referencia a las partes principales y secundarias de la versión del ensamblado que se está viendo afectada. Assemblyname hace referencia al nombre del ensamblado.

Por ejemplo, un archivo de configuración de publicador para la versión 6.0 del ensamblado Microsoft.Windows.Common-Controls tendría el siguiente nombre:

policy.6.0.Microsoft.Windows.Common-Controls

No use archivos de configuración de directivas para incrementar la versión principal o secundaria de un ensamblado. Por ejemplo, no redirija la versión 6.0.0.0 a 7.0.0.0 o 6.1.0.0. Cuando una aplicación hace referencia a una versión de ensamblado, como 6.0.0.0, comprueba en paralelo la presencia de cualquier archivo de configuración de directiva con las versiones principales y secundarias especificadas, por ejemplo, 6.0. A continuación, la aplicación se redirige a otra versión del ensamblado, por ejemplo 6.0.1.0. Si un archivo de configuración del publicador incrementa la versión principal o secundaria de un ensamblado, el redireccionamiento posterior del ensamblado puede requerir la emisión de varios archivos de configuración de directiva.

Elementos

ensamblaje

Un elemento contenedor. Su primer subelemento debe ser assemblyIdentity. Necesario.

El elemento assembly debe estar en el espacio de nombres urn:schemas-microsoft-com:asm.v1. Los elementos secundarios del ensamblado también deben estar en este espacio de nombres, mediante herencia o etiquetado.

El elemento assembly tiene los siguientes atributos.

Atributo Descripción
manifestVersion El atributo manifestVersion debe establecerse en 1.0.

Assemblyidentity

Describe e identifica de forma única un ensamblado en paralelo.

Como primer subelemento de un elemento de ensamblado , assemblyIdentity describe el ensamblado en paralelo que tiene una o varias de sus dependencias de ensamblado modificadas. El archivo de configuración del publicador redirige las dependencias del ensamblado identificado. Por ejemplo, assemblyIdentity siguiente indica que el archivo de configuración del publicador afecta a las dependencias del ensamblado 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"/>

Como primer subelemento de un elemento dependentAssembly , assemblyIdentity describe una dependencia de ensamblado en paralelo. El archivo de configuración del publicador vuelve a configurar la identidad de este ensamblado en paralelo necesario. El cambio se especifica en bindingRedirect. Por ejemplo, assemblyIdentity siguiente cambia cualquier dependencia de Microsoft.Windows.SampleAssembly versión 2.0.0.0 a una dependencia de Microsoft.Windows.SampleAssembly versión 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>

El elemento assemblyIdentity tiene los siguientes atributos. No tiene subelementos.

Atributo Descripción
type Especifica el tipo de ensamblado. Necesario. En assemblyIdentity para el ensamblado que se ve afectado, el valor del atributo de tipo debe establecerse en win32-policy. El valor win32-policy debe estar en todas las letras minúsculas.
En assemblyIdentity para la dependencia de ensamblado cambiante, el valor del atributo de tipo debe establecerse en win32. El valor win32 debe estar en todas las letras minúsculas.
name Asigna un nombre único a un ensamblado. Necesario. En assemblyIdentity para el ensamblado que se ve afectado, name tiene la directiva de formulario. major. menor. assemblyname donde principal y secundario hacen referencia a las partes principales y secundarias de la versión del ensamblado.
En assemblyIdentity para la dependencia de ensamblado cambiante, name tiene el formato Organization.Division.Name. Por ejemplo, Microsoft.Windows.MysampleApp.
language Identifica el idioma del ensamblado. Opcional. En assemblyIdentity para el ensamblado que se ve afectado, si el ensamblado es específico del lenguaje, especifique el código de lenguaje DHTML. Si el ensamblado es para uso mundial (idioma neutro), omita este atributo.
En assemblyIdentity para la dependencia de ensamblado cambiante, si el ensamblado es específico del lenguaje, especifique el código de lenguaje DHTML. Si el ensamblado es para uso mundial (idioma neutro), establezca el valor como "*".
processorArchitecture Especifica el procesador que ejecuta la aplicación.
version Especifica la versión del ensamblado. Use la sintaxis de versión de cuatro partes: mmmm.nnnn.oooo.pppp Requerido solo en el ensamblado DEF-contextIdentity. No especifique el atributo version en el assemblyIdentity ref-context.
publicKeyToken Cadena hexadecimal de 16 caracteres que representa los últimos 8 bytes del hash SHA-1 de la clave pública con la que se firma el ensamblado. La clave pública usada para firmar el catálogo debe ser de 2048 bits o superior. Se requiere un publicKeyToken para todos los ensamblados compartidos en paralelo. PublicKeyToken usado para el archivo de configuración del publicador debe ser la misma clave que se usa para el ensamblado firmado. Los archivos de configuración del publicador se pueden firmar con las mismas herramientas que se usan con ensamblados, vea Ejemplo de firma de ensamblados y Creación de archivos y catálogos firmados.

Dependencia

Elemento contenedor opcional para al menos un elemento dependentAssembly. No tiene atributos.

dependentAssembly

Cada dependienteAssembly debe estar dentro exactamente de una dependencia. Un objeto dependentAssembly no tiene atributos. El primer subelemento de dependentAssembly debe ser assemblyIdentity para el ensamblado en paralelo que está reconfigurando la configuración del publicador.

bindingRedirect

El elemento bindingRedirect contiene información de redireccionamiento para el enlace del ensamblado.

Este elemento tiene los atributos que se muestran en la tabla siguiente.

Atributo Descripción
oldVersion Especifica la versión del ensamblado que se va a invalidar y redirigir. Use la sintaxis de versión de cuatro partes nnnnn.nnnnn.nn.nnnnn. Especifique un intervalo de versiones por un guión sin espacios. Por ejemplo, 2.14.3.0 o 2.14.3.0 2.16.0.0. Necesario.
newVersion Especifica la versión del ensamblado de reemplazo. Use la sintaxis de versión de cuatro partes nn.nnnnn.nnn.nnnnn.

Comentarios

Los archivos de configuración del publicador no especifican archivos. Tenga en cuenta que los archivos de directiva específicos del idioma son independientes del archivo de configuración del publicador.

Ejemplo

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