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

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
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):
MSI

Advertencia: este artículo se tradujo automáticamente

Ιδιότητες

Αναγνωριστικό άρθρου: 905238 - Τελευταία αναθεώρηση: 09/11/2008 15:45:19 - Αναθεώρηση: 2.0

Microsoft Windows Installer 3.1, Microsoft Windows Installer 3.0, Microsoft Windows Installer 2.0

  • kbmt kbwindowsinstaller kbinfo kbtshoot kbprb KB905238 KbMtes
Σχόλια