Falta un ensamblado en la caché de ensamblados global o SxS después de realizar una actualización importante mediante un paquete de Windows Installer

Seleccione idioma Seleccione idioma
Id. de artículo: 905238 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Después de realizar una actualización importante mediante un paquete de Microsoft Windows Installer, falta un ensamblado en la caché de ensamblados global o SxS (carpeta side-by-side, \Windows\WinSxS\).

Causa

Este problema se produce cuando la acción Windows Installer RemoveExistingProducts se ordenan en una ubicación que impide apropiado recuento del ensamblado de referencias y que hace que la eliminación prematura del ensamblado. La acción RemoveExistingProducts es secuencial en la tabla InstallExecuteSequence en el paquete Windows Installer. Este problema se produce cuando la acción RemoveExistingProducts es secuencial, de modo que el producto antiguo se quita antes de instala el nuevo producto.

Cuando un ensamblado se coloca en la caché de ensamblados global, se cambia el nombre el ensamblado. Windows Installer no puede determinar el nombre correcto del ensamblado. Windows Installer debe confiar en Microsoft .NET Framework para administrar el nombre.

Al realizar una actualización importante mediante un Windows Installer paquete, Windows Installer llama a en .NET Framework para comprobar si el ensamblado ya está instalado en la caché de ensamblados global. Si .NET Framework devuelve Sí, el componente que contiene el ensamblado en el paquete de actualización de Windows Installer principal no se permite para la instalación. A continuación, la acción RemoveExistingProducts se ejecuta y desinstala el ensamblado existente en la caché de ensamblados global. La acción RemoveExistingProducts realiza esta operación porque no se ha registrado el nuevo producto como un cliente del ensamblado y otros clientes de no existen. Porque no se permite el componente de actualización importante para la instalación, el ensamblado no se reinstalará cuando la actualización principal instala los componentes.

Si imprentas la acción RemoveExistingProducts para programar la desinstalación del producto anterior después de instala el nuevo producto, no se quitará el ensamblado. El ensamblado no se quitará porque ahora el ensamblado tiene un adicionales referencia recuento desde el nuevo producto. Por lo tanto, incluso si se omite la instalación del ensamblado para la actualización principal, el ensamblado permanece porque otro cliente hace referencia al ensamblado. El nuevo producto y el producto antiguo hacen referencia al ensamblado.

Nota Cuando un ensamblado no se encuentra en la caché de ensamblados global, no cambiar el nombre se produce. Aplican las reglas estándar de control de versiones de archivo de Windows Installer, y se permite el componente de actualización importante para la instalación.

Solución

Para evitar este problema, utilice uno de los métodos siguientes.

Método 1

Aumentar el atributo AssemblyVersion del ensamblado que está intentando instalar para crear una instalación side-by-side en la caché de ensamblados global.

Método 2

Utilice una herramienta de creación de tabla de Windows Installer para cambiar la secuencia de la acción RemoveExistingProducts en InstallExecuteSequence la tabla que se produzca después de la acción InstallFinalize. Por ejemplo, utilice el Orca.exe base de datos editor de tablas para la creación o edición de Windows Installer paquetes.

Más información

Puede crear un paquete de Windows Installer en un proyecto Setup and Deployment Projects en Visual Studio.NET. Cuando la acción RemoveExistingProducts es secuencial en este paquete de Windows Installer, la ubicación predeterminada de la acción en la tabla InstallExecuteSequence causa el problema que se describe en la sección "Síntomas" de RemoveExistingProducts.

Para obtener más información, visite los siguientes sitios Web de Microsoft Developer Network (MSDN):
Windows Installer
http://msdn2.microsoft.com/en-us/library/aa372866.aspx

Acción RemoveExistingProducts
http://msdn2.microsoft.com/en-us/library/aa371197.aspx

Tabla InstallExecuteSequence
http://msdn2.microsoft.com/en-us/library/aa369500.aspx

Orca.exe
http://msdn2.microsoft.com/en-us/library/aa370557.aspx

Propiedades

Id. de artículo: 905238 - Última revisión: jueves, 11 de septiembre de 2008 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft Windows Installer 3.1
  • Microsoft Windows Installer 3.0
  • Microsoft Windows Installer 2.0
Palabras clave: 
kbmt kbwindowsinstaller kbinfo kbtshoot kbprb KB905238 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 905238

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com