Runtime Error 53
사용자가 Microsoft Transaction Server(MTS)에서 서버 패키지(Server Package) 형태로 열린 구성 요소를 통해 DLL(동적 연결 라이브러리) 파일을 호출하려고 할 때 런타임 오류 53이 발생할 수 있습니다. DLL 파일은 프로그램이 특정 루틴을 실행할 수 있도록 미리 만들어져 공유되는 파일이며, Microsoft Transaction Server는 대규모 분산 애플리케이션을 더 쉽게 구현하도록 도와주는 소프트웨어입니다. 이 두 요소는 윈도우 시스템 내에서 밀접하게 연관되어 작동하기 때문에, 한쪽에 문제가 생기면 오류가 발생할 수 있습니다.
다행히 런타임 오류 53은 문제의 원인인 DLL 파일을 다른 위치로 옮기는 것만으로도 비교적 간단하게 해결할 수 있습니다. 아래에서 원인과 단계별 해결 방법을 자세히 알아보겠습니다.
런타임 오류 53의 원인
런타임 오류 53은 일반적으로 다음과 같은 메시지 형태로 화면에 나타납니다.
Runtime error '53': File not found (yourfile.dll)
이 오류는 애플리케이션이 찾으려는 DLL 파일이 존재하지 않거나, MTS 구성 요소와 같은 위치에 있지 않을 때 발생합니다. 메시지의 "yourfile.dll" 부분이 실제 문제가 되는 DLL 파일의 이름이므로, 이 이름을 반드시 메모해 두어야 합니다.
오류를 방치하면 추가적인 시스템 문제로 이어질 수 있으므로, 최대한 빨리 해결하는 것이 좋습니다. 아래 순서대로 진행해 보세요.
런타임 오류 53 해결 방법
1단계 – DLL 파일을 "C:\Windows\System32" 폴더로 이동
먼저 오류 메시지에 표시된 DLL 파일 이름을 확인한 뒤, 다음 절차를 따르세요.
- 하드디스크 전체를 검색하여 해당 DLL 파일의 현재 위치를 찾습니다.
- 검색으로 파일을 찾았다면 해당 위치에서 파일을 복사합니다. (마우스 오른쪽 버튼 클릭 > 복사)
- 윈도우 탐색기를 열고 C:\Windows\System32 폴더로 이동합니다.
- 해당 폴더 안에 DLL 파일을 붙여넣기 합니다.
MTS 구성 요소는 System32 폴더에 위치해 있으며, 필요한 파일을 찾을 때 항상 이 폴더를 가장 먼저 검색합니다. 따라서 구성 요소가 필요로 하는 DLL 파일을 올바른 폴더에 넣어두면 시스템이 빠르게 인식합니다.
조금 더 기술적으로 설명하면, 특정 MTS 구성 요소가 서버 패키지로 열릴 때 COM 구성 요소는 격리된 프로세스 공간인 Mts.exe 내에서 생성됩니다. Mts.exe의 기본 위치는 %SystemRoot%\System32이며, 검색 경로에 필요한 DLL 파일이 없으면 Mts.exe가 파일을 찾지 못해 오류 53이 발생하는 것입니다.
이 방법으로 문제가 해결되지 않았다면 다음 단계로 넘어가세요.
2단계 – 오류를 일으키는 프로그램 재설치
1단계가 효과가 없거나 상황에 맞지 않는다면, 오류를 유발하는 프로그램을 재설치하는 것이 좋습니다. 서드파티(외부 제작) 프로그램이라면 비교적 간단하게 진행할 수 있습니다.
- 시작 > 제어판 > 프로그램 추가/제거(또는 Windows 10/11의 경우 설정 > 앱 > 설치된 앱)을 엽니다.
- 오류를 일으키는 프로그램을 찾아 선택합니다.
- 제거 / 삭제 버튼을 클릭해 프로그램을 완전히 제거합니다.
- 시스템을 재시작합니다.
- 해당 프로그램을 다시 설치합니다.
- 프로그램을 실행해 오류가 여전히 발생하는지 테스트합니다.
오류가 발생하는 프로그램에는 대개 손상된 파일이나 잘못된 설정이 존재하는 경우가 많습니다. 프로그램을 재설치하면 사용 중인 모든 파일이 새로 교체되므로, 이러한 문제를 해결하는 가장 간단하고 확실한 방법입니다. 그래도 오류가 계속된다면 다음 단계를 시도해 보세요.
3단계 – 손상되었거나 누락된 파일 수동 교체
문제가 되는 파일을 정확히 알고 있다면, 해당 파일을 직접 교체할 수 있습니다. 아래 절차를 따라 진행하세요.
- 인터넷에서 필요한 DLL 파일을 신뢰할 수 있는 사이트에서 다운로드합니다.
- 다운로드한 파일의 압축을 풀어 컴퓨터 하드디스크에 저장합니다.
- C:\Windows\System32 폴더로 이동합니다.
- 시스템에 있는 기존 파일을 찾습니다.
- 기존 파일의 이름을
<<파일명>>BACKUP.dll형식으로 변경하여 백업해 둡니다. - 새 파일을 복사하여 C:\Windows\System32에 붙여넣습니다.
- 시작 > 실행을 클릭합니다. (Windows Vista/7 이후 버전에서는 시작 메뉴 검색창에 "실행" 또는 "cmd" 입력)
- 나타난 입력창에
cmd를 입력하고 명령 프롬프트를 엽니다. - 검은색 명령 화면에
regsvr32 <<파일명>>을 입력합니다. - Enter 키를 눌러 실행합니다.
이 과정을 통해 손상되었거나 누락된 파일이 새 복사본으로 교체되며, 시스템이 해당 파일에 다시 정상적으로 접근할 수 있게 됩니다. 그래도 오류가 해결되지 않는다면 마지막 단계를 시도해 보세요.
4단계 – 레지스트리 정리
레지스트리 클리너는 윈도우 전반의 성능에 큰 영향을 미치며, 런타임 오류 53을 예방하는 데에도 도움이 될 수 있습니다. 레지스트리는 시스템의 핵심 설정과 정보를 저장하는 중앙 데이터베이스로, 윈도우가 PC 관련 수많은 세부 정보를 기억할 수 있게 해줍니다.
하지만 레지스트리는 손상되기 쉬운 구조이며, 문제가 생기면 시스템이 매우 느려지거나 불안정하게 작동할 수 있습니다. 이 경우 레지스트리 클리너를 사용해 레지스트리 전체를 스캔하고, 컴퓨터를 느리게 하거나 오류를 일으키는 손상된 부분을 복구하는 것이 좋습니다. 평판이 좋은 레지스트리 클리너를 다운로드하여 정기적으로 관리하면 이러한 오류의 재발을 줄일 수 있습니다.
위의 단계를 순서대로 진행하면 대부분의 런타임 오류 53 문제를 해결할 수 있습니다. DLL 파일 위치 문제에서 시작해 프로그램 재설치, 파일 교체, 레지스트리 정리까지 차근차근 적용해 보세요.