Se produce un error en la aplicación de revisiones de .NET Framework: se deniega el acceso o se deniega el archivo en uso.

Este artículo le ayuda a resolver el problema por el que se producen errores de aplicación de revisiones de Microsoft .NET Framework cuando los ensamblados están en uso o bloqueados cuando se aplica una revisión.

Versión original del producto: .NET Framework
Número de KB original: 2263996

Síntomas

Si un archivo de ensamblado de la caché de acceso global (GAC) se ha bloqueado o está en uso, puede provocar un error en las revisiones de .NET Framework. Este problema puede verse exacerbado por un error en la forma en que fusion controla la reversión y puede hacer que los archivos se eliminen. Esto hará que se produzcan errores en las aplicaciones administradas (aquellas aplicaciones que dependen de ensamblados de marco).

El registro detallado de MSI de revisión errónea podría contener algo parecido a esto:

"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\system.dll" debido al error del sistema: se deniega el acceso.
22/06/10 11:57:26 DDSet_Status: Dormir 100 ms...
MSI (s) (54!70) [11:57:26:738]: Producto: Microsoft .NET Framework 2.0 Service Pack 2-- Hay un problema con este paquete de Windows Installer.
Consulte el registro de instalación para obtener más información.
Hay un problema con este paquete de Windows Installer.
Consulte el registro de instalación para obtener más información.
22/06/10 11:57:26 DDSet_CARetVal: 0
22/06/10 11:57:26 DDSet_Exit: InstallAssembly finalizó con el valor devuelto 1603
MSI (s) (54:94) [11:57:26:758]: El valor de la directiva de usuario "DisableRollback" es 0
MSI (s) (54:94) [11:57:26:758]: El valor de la directiva de máquina "DisableRollback" es 0
La acción finalizó a las 11:57:26: InstallExecute. Valor devuelto 3.

O bien

22/02/10 08:38:32 DDSet_Status: Dormir 100 ms...
22/02/10 08:38:32 DDSet_Error: No se pudo instalar el ensamblado
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.EnterpriseServices.dll. IAssemblyCache-InstallAssembly>() devolvió -2147024864.
22/02/10 08:38:32 DDSet_Error: No se pudo instalar el ensamblado
"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.EnterpriseServices.dll" debido a un error del sistema:
El proceso no puede acceder al archivo porque lo usa otro proceso.

Causa

Si los ensamblados están en uso o bloqueados cuando se aplica una revisión, se producirá un error en la revisión.

Solución

Este problema se puede evitar asegurándose de que no se están ejecutando procesos que pueden poner un bloqueo en los ensamblados.

Para detectar si se usan ensamblados, siga estos pasos:

  1. Descargue procexp.exe para detectar el proceso que bloquea ensamblados.

  2. Inicie procexp.exe y presione Ctrl+F para abrir la ventana De búsqueda del Explorador de procesos .

  3. En el cuadro de texto Identificador o subcadena DLL , escriba Ensamblado y, a continuación, seleccione Buscar.

    Captura de pantalla que muestra los pasos para buscar el ensamblado.

  4. Todos los archivos enumerados podrían afectar a la instalación de la revisión. Finalice todos los procesos enumerados o cierre las aplicaciones asociadas. Para ello, siga estos pasos:

    1. Seleccione el nombre del proceso que desea finalizar en la ventana Búsqueda del Explorador de procesos para localizar el proceso.

    2. Haga clic con el botón derecho en el nombre del proceso en el panel Proceso .

    3. Seleccione Eliminar proceso para finalizar el proceso.

      Captura de pantalla que muestra los pasos para eliminar un proceso.