다음을 통해 공유


.NET Framework의 패치가 실패하고 오류가 발생했습니다. 액세스가 거부되었거나 사용 중인 파일

이 문서는 어셈블리가 사용 중이거나 패치가 적용될 때 잠겨 있을 때 Microsoft .NET Framework 패치 오류가 발생하는 문제를 해결하는 데 도움이 됩니다.

원래 제품 버전: .NET Framework
원래 KB 번호: 2263996

증상

GAC(전역 액세스 캐시)의 어셈블리 파일이 잠겨 있거나 사용 중인 경우 .NET Framework 패치가 실패할 수 있습니다. 이 문제는 Fusion이 롤백을 처리하는 방식의 버그로 인해 악화될 수 있으며 파일이 삭제될 수 있습니다. 이렇게 하면 관리되는 애플리케이션(프레임워크 어셈블리에 의존하는 애플리케이션)이 실패합니다.

실패한 패치 MSI 자세한 정보 표시 로그에는 다음과 같은 내용이 포함될 수 있습니다.

시스템 오류:액세스가 거부되어 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\system.dll'.
06/22/10 11:57:26 DDSet_Status: 잠자는 100ms...
MSI(들) (54!70) [11:57:26:738]: 제품: Microsoft .NET Framework 2.0 서비스 팩 2 -- 이 Windows Installer 패키지에 문제가 있습니다.
자세한 내용은 설치 로그를 참조하세요.
이 Windows Installer 패키지에 문제가 있습니다.
자세한 내용은 설치 로그를 참조하세요.
06/22/10 11:57:26 DDSet_CARetVal: 0
06/22/10 11:57:26 DDSet_Exit: InstallAssembly가 반환 값 1603으로 종료됨
MSI(들) (54:94) [11:57:26:758]: 사용자 정책 값 'DisableRollback'은 0입니다.
MSI(들) (54:94) [11:57:26:758]: 컴퓨터 정책 값 'DisableRollback'은 0입니다.
작업 종료 11:57:26: InstallExecute. 값 3을 반환합니다.

또는

02/22/10 08:38:32 DDSet_Status: 잠자는 100ms...
02/22/10 08:38:32 DDSet_Error: 어셈블리를 설치하지 못했습니다.
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.EnterpriseServices.dll. IAssemblyCache-InstallAssembly>()는 -2147024864 반환했습니다.
02/22/10 08:38:32 DDSet_Error: 어셈블리를 설치하지 못했습니다.
시스템 오류로 인해 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.EnterpriseServices.dll':
다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스할 수 없습니다.

원인

패치를 적용할 때 어셈블리가 사용 중이거나 잠긴 경우 패치가 실패합니다.

해결 방법

어셈블리에 잠금을 설정할 수 있는 프로세스가 실행되지 않도록 하여 이 문제를 방지할 수 있습니다.

어셈블리가 사용되고 있는지 여부를 감지하려면 다음 단계를 수행합니다.

  1. procexp.exe 다운로드하여 어셈블리를 잠그는 프로세스를 검색합니다.

  2. procexp.exe 시작하고 Ctrl+F를 눌러 프로세스 탐색기 검색 창을 엽니다.

  3. 핸들 또는 DLL 하위 문자열 텍스트 상자에 어셈블리 입력한 다음 검색을 선택합니다.

    스크린샷은 어셈블리를 검색하는 단계를 보여줍니다.

  4. 나열된 모든 파일은 패치 설치에 영향을 미칠 수 있습니다. 나열된 모든 프로세스를 종료하거나 연결된 애플리케이션을 닫습니다. 이를 수행하려면 다음 단계를 따르십시오:

    1. 프로세스 탐색기 검색 창에서 종료할 프로세스 이름을 선택하여 프로세스를 찾습니다.

    2. 프로세스 창에서 프로세스 이름을 마우스 오른쪽 단추로 클릭합니다.

    3. 프로세스 종료를 선택하여 프로세스를 종료합니다.

      스크린샷은 프로세스를 종료하는 단계를 보여줍니다.