Archivos de configuración del publicador
Un archivo de configuración de publicador es un archivo XML que redirige globalmente las aplicaciones y 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 de consulte 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 | Obligatorio |
---|---|---|
de ensamblado | Sí | |
manifestVersion | Sí | |
assemblyIdentity | Sí | |
tipo | Sí | |
nombre | Sí | |
de idioma de | No | |
processorArchitecture | No | |
de versión de | Sí | |
publicKeyToken | No | |
de dependencia | No | |
dependentAssembly | No | |
bindingRedirect | Sí | |
oldVersion | Sí | |
newVersion | Sí |
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. No se puede incluir un archivo de configuración de publicador como un recurso en un archivo EXE. Un archivo EXE puede incluir un manifiesto de aplicación como un recurso.
Sintaxis de nombre de archivo
El nombre de archivo de un archivo de configuración del publicador tiene el formulario directiva.principal.menor.nombre de ensamblado donde principal y secundaria hacen referencia a las partes principales y secundarias de la versión de ensamblado de que se ve afectada. El nombre de ensamblado hace referencia al nombre del ensamblado.
Por ejemplo, un archivo de configuración de publicador para la versión 6.0 de Microsoft.Windows.Common-Controls ensamblado tendría el nombre siguiente:
- 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 de publicador incrementa la versión principal o secundaria de un ensamblado, es posible que la redirección posterior del ensamblado requiera la emisión de varios archivos de configuración de directiva.
Elementos
-
de ensamblado de
-
Un elemento contenedor. Su primer subelemento debe ser un assemblyIdentity. Obligatorio.
El elemento de ensamblado 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 ensamblado elemento tiene los atributos siguientes.
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 ensamblado de elemento, el assemblyIdentity describe el ensamblado en paralelo que tiene una o varias de sus dependencias de ensamblado cambiadas. El archivo de configuración del publicador redirige las dependencias del ensamblado identificado. Por ejemplo, el siguiente assemblyIdentity 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 de dependienteAssembly, 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 un bindingRedirect. Por ejemplo, el siguiente assemblyIdentity 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 atributos siguientes. No tiene subelementos.
Atributo Descripción tipo Especifica el tipo de ensamblado. Obligatorio. En el assemblyIdentity de para el ensamblado que se ve afectado, el valor del tipo atributo debe establecerse en win32-policy. El valor win32-policy debe estar en todas las letras minúsculas.
En el assemblyIdentity para la dependencia de ensamblado cambiante, el valor del tipo atributo debe establecerse en win32. El valor win32 debe estar en todas las letras minúsculas.nombre Asigna un nombre único a un ensamblado. Obligatorio. En el assemblyIdentity de para el ensamblado que se ve afectado, name tiene el formulario directiva.principal.menor.assemblyname donde principal y secundarias hacen referencia a las partes principales y secundarias de la versión del ensamblado de .
En el assemblyIdentity de para la dependencia de ensamblado cambiante, el nombre tiene el formato Organization.Division.Name. Por ejemplo, Microsoft.Windows.MysampleApp.de idioma de Identifica el idioma del ensamblado. Opcional. En el assemblyIdentity para el ensamblado que se ve afectado, si el ensamblado es específico del lenguaje, especifique el código del lenguaje DHTML. Si el ensamblado es para uso mundial (idioma neutro), omita este atributo.
En el assemblyIdentity para la dependencia de ensamblado cambiante, si el ensamblado es específico del lenguaje, especifique el código del lenguaje DHTML. Si el ensamblado es para uso mundial (idioma neutro), establezca el valor como "*".processorArchitecture Especifica el procesador que ejecuta la aplicación. de versión de Especifica la versión del ensamblado. Use la sintaxis de la versión de cuatro partes: mmmm.nnnn.oooo.pppp Requerida solo en el contexto de DEF assemblyIdentity. No especifique el atributo de versión en el contexto REF assemblyIdentity. 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 que se usa para firmar el catálogo debe ser de 2048 bits o superior. Se requiere 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, consulte ejemplo de firma de ensamblados y Crear archivos firmados y catálogos. -
de dependencia de
-
Elemento contenedor opcional para al menos un dependienteAssembly. No tiene atributos.
-
dependentAssembly
-
Cada dependientes deAssembly debe estar dentro exactamente de una dependencia . Un dependiente de no tiene atributos. El primer subelemento de dependienteAssembly debe ser un assemblyIdentity para el ensamblado en paralelo que vuelve a configurar la configuración del publicador.
-
bindingRedirect
-
El elemento bindingRedirect contiene información de redirección 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.nn.nn.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. Obligatorio. newVersion Especifica la versión del ensamblado de reemplazo. Use la sintaxis de la versión de cuatro partes nn.nnnn.nn.nnnnn.
Observaciones
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>