사용자에게 1053 오류 메시지가 표시됩니다. 서비스가 시작 또는 제어 요청에 적시에 응답하지 않았습니다. 이 오류 메시지는 서비스 시작 요청이 시작된 후 발생하는 시간 초과의 원인이지만 시간 창에서 응답하지 않습니다.
Windows 서비스의 문제에서 시작할 수 없는 사용자 지정 서비스(게임 및 기타 타사 소프트웨어 포함)에 이르기까지 다양한 오류 메시지가 있습니다. 또한 개발자가 사용자 지정 소프트웨어를 개발할 때 이 문제에 직면한 경우도 발견했습니다. 이 기사에서는 오류 메시지의 모든 변형을 살펴보고 문제를 완전히 해결하기 위해 수행할 수 있는 작업에 대해 논의합니다.
Windows에서 오류 1053의 원인은 무엇입니까?
사용자로부터 초기 보고서를 받은 후 조사를 시작하고 서비스로 시작하는 메커니즘과 관련된 모든 모듈을 자세히 살펴보았습니다. 모든 결과를 수집하고 사용자 응답과 동기화한 후 여러 가지 이유로 문제가 발생했다고 결론지었습니다. 그 중 일부는 다음과 같습니다.
- 시간 초과 설정: Windows에는 기본적으로 응용 프로그램이 충족하지 않으면 강제로 중단하고 닫는 시간 초과 설정이 있습니다. 시작하려는 서비스가 응답하는 데 훨씬 더 오래 걸리면 서비스가 종료됩니다. 여기에서 레지스트리를 조작하여 시간 초과 설정을 변경할 수 있습니다.
- 누락된 DLL 파일: 다른 여러 응용 프로그램에서도 사용되는 누락된 DLL 파일이 컴퓨터에 있을 때 오류의 또 다른 인스턴스가 발생합니다. 이 DLL 파일이 충돌하거나 존재하지 않으면 오류 메시지가 표시됩니다.
- 손상/누락된 시스템 파일: 이 문제가 발생하는 또 다른 예는 컴퓨터에 손상되거나 누락된 시스템 파일이 있기 때문입니다. Windows 설치 자체가 적절하지 않고 문제가 있는 경우 논의 중인 오류 메시지를 포함하여 수많은 문제를 경험하게 됩니다.
- 오래된 Windows: Microsoft는 공식 웹 사이트에서 이 오류 메시지를 공식적으로 인식하고 문제를 해결하기 위해 임시 핫픽스를 출시했습니다. 그러나 최근에 핫픽스를 제거하고 사용자에게 최신 Windows 버전으로 업그레이드하도록 지시했습니다.
- 릴리스 빌드 사용(개발자용): Windows의 디버그 빌드에서 서비스를 시작하려는 경우 이 오류 메시지가 나타날 수 있습니다. 디버그 빌드는 안정적이지 않으며 릴리스 빌드와 비교하여 모든 기능이 실행되고 있지 않습니다.
- 누락된 프레임워크(개발자용): 프레임워크의 비호환성도 오류 메시지의 원인이 됩니다. 서비스를 실행하려는 상자와 서비스 자체가 동일한 프레임워크에 있어야 합니다.
- DB 서비스 문제(개발자용): 이 오류 메시지가 나타날 수 있는 또 다른 경우는 프로젝트 구성에 문제가 있는 경우입니다. 서비스에 액세스하는 데 문제가 없도록 서버 세부 정보가 수정되어야 합니다.
- 손상된 설치: 이 오류 메시지가 나타날 수 있는 또 다른 일반적인 경우는 응용 프로그램(서비스를 표시하는) 설치가 다소 손상된 경우입니다. 재설치가 도움이 됩니다.
- 잘못된 네트워크 구성: 서비스는 항상 네트워크와 통신합니다. 네트워크 구성이 좋지 않으면 서비스가 해당 작업을 수행하지 못하여 논의 중인 오류 메시지가 발생할 수 있습니다.
- 관리자 액세스: 시작하려는(또는 타사에서 시작하려는) 서비스가 정상적인 사용을 위한 것이 아닌 시스템 리소스를 사용하는 경우 관리자 권한으로 시작해야 합니다.
솔루션을 계속 진행하기 전에 컴퓨터에 관리자로 로그인되어 있고 인터넷에 연결되어 있는지 확인하십시오. 또한 처음부터 솔루션을 따르고 그에 따라 아래로 내려가십시오.
손상된 파일 복구
여기에서 손상되거나 누락된 파일을 스캔하고 복원하려면 Restoro를 다운로드하고 실행하세요. . 완료되면 아래 솔루션을 진행하세요.
해결 방법 1:레지스트리를 통해 시간 초과 설정 변경
가장 먼저 시도해야 할 것은 레지스트리 편집기를 통해 서비스의 시간 초과 설정을 변경하는 것입니다. 서비스 시작이 요청될 때마다 미리 정의된 값으로 타이머가 시작됩니다. 이 시간 내에 서비스가 시작되지 않으면 오류 메시지가 보고됩니다. 이 솔루션에서는 컴퓨터의 레지스트리로 이동하여 값을 변경합니다. 없는 경우 새 키를 만듭니다.
- Windows + R을 누르고 'regedit를 입력합니다. "를 입력하고 Enter 키를 누릅니다.
- 레지스트리 편집기에서 다음 파일 경로로 이동합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
- 이제 'ServicesPipeTimeout' 키를 검색합니다. 이미 찾으면 이동하여 직접 편집할 수 있습니다. 그러나 항목을 찾을 수 없으면 제어를 선택합니다. , 화면 오른쪽에 있는 공간을 마우스 오른쪽 버튼으로 클릭하고 새로 만들기> DWORD를 선택합니다.
- 키 이름을 'ServicesPipeTimeout으로 지정 '를 입력하고 값을 180000으로 설정합니다. (값을 마우스 오른쪽 버튼으로 클릭하고 수정 을 클릭할 수도 있습니다. 값을 설정하는 옵션이 귀하의 경우에 제공되지 않은 경우.
- 변경 사항을 저장하고 종료합니다. 다시 시작 컴퓨터를 완전히 제거한 다음 서비스를 실행해 보십시오. 문제가 해결되었는지 확인하세요.
해결 방법 2:시스템 파일 손상 확인
보다 기술적이고 고급스러운 방법으로 넘어가기 전에 시도해야 할 또 다른 방법은 시스템에 손상이 있는지 여부를 확인하는 것입니다. Windows에 파일이 없고 어떻게든 손상된 경우 일부 중요한 모듈이 작동하지 않을 수 있습니다. 결과적으로 오류 메시지 1053이 발생합니다. 이 솔루션에서는 모든 시스템 파일 구조를 검사하고 온라인에 있는 새 복사본의 구조와 구조를 비교하는 Window의 시스템 파일 검사기를 사용합니다. 불일치가 있는 경우 파일이 그에 따라 대체됩니다.
- Windows + S를 누르고 대화 상자에 "명령 프롬프트"를 입력하고 애플리케이션을 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행을 선택합니다. .
- 상승된 명령 프롬프트에서 다음 명령을 하나씩 실행하고 완료되었는지 확인합니다.
sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth
- 후자의 명령은 시스템 파일 검사기가 검사를 실행할 때 진단하는 모든 문제를 수정합니다. 다시 시작 명령을 실행한 후 컴퓨터를 완전히 종료하고 문제가 제대로 해결되었는지 확인하십시오.
해결 방법 3:애플리케이션 재설치(해당되는 경우)
오류 메시지 1053을 제거하는 또 다른 유용한 방법은 서비스를 요청하는 응용 프로그램을 다시 설치하는 것입니다. 일반적으로 외부 소스(Microsoft Store 제외)에서 설치된 타사 응용 프로그램에는 Windows에서 일부 서비스를 요청하는 구성 요소가 누락되거나 오래되었을 수 있습니다.
여기에서 할 수 있는 일은 공식 웹사이트로 이동하여 새로운 버전의 애플리케이션을 다운로드하는 것입니다. 현재 버전을 제거한 후 설치할 수 있습니다. 다음은 Windows에서 애플리케이션을 제거하는 방법입니다.
- Windows + R을 누르고 "appwiz.cpl을 입력합니다. "를 입력하고 Enter 키를 누릅니다.
- 애플리케이션 관리자에서 애플리케이션을 검색하고 마우스 오른쪽 버튼으로 클릭한 다음 제거를 선택합니다. .
- 컴퓨터를 다시 시작한 다음 재설치 프로세스를 진행합니다.
해결책 4:네트워크 캐시 및 구성 재설정
인터넷에 연결하여 작업을 수행하는 서비스를 사용하는 경우 모든 소켓 및 기타 네트워크 구성이 손상되지 않고 문제를 일으키지 않는지 확인하는 것이 좋습니다. 그렇다면 서비스가 작업을 수행하기 위해 인터넷에 연결하지 못하여 문제가 발생할 수 있습니다.
이 솔루션에서는 관리자로 명령 프롬프트로 이동하고 거기에서 네트워크 구성을 재설정합니다. 성공하면 오류 메시지가 지워집니다.
참고: 수동으로 설정한 모든 사용자 설정이 지워집니다.
- Windows + R을 누르고 '명령 프롬프트를 입력합니다. " 대화 상자에서 응용 프로그램을 마우스 오른쪽 버튼으로 클릭하고 "관리자 권한으로 실행을 선택합니다. ".
- 상승된 명령 프롬프트에서 다음 명령을 하나씩 실행합니다.
netsh winsock reset ipconfig /renew
- 네트워크를 재설정한 후 브라우저를 통해 인터넷에 액세스할 수 있는지 확인하고 문제가 해결되었는지 확인하세요.
해결책 5:애플리케이션 소유권 얻기
우리가 만난 또 다른 드문 경우는 응용 프로그램의 소유권이 없어 응용 프로그램이 서비스를 제대로 실행하지 못하는 것입니다. 이는 응용 프로그램에 상승된 액세스 권한이 충분하지 않아 서비스(특히 시스템 서비스인 경우)에서 응답을 보내거나 읽을 수 없는 것처럼 의미가 있습니다. 이 기사에서는 애플리케이션의 실행 파일로 이동한 다음 소유권을 사용자 이름으로 변경합니다. 성공하면 오류 1053이 발생하는 문제가 해결됩니다.
- 응용 프로그램의 파일/폴더를 찾습니다. 마우스 오른쪽 버튼을 클릭하고 속성을 선택합니다. .
- '보안' 탭으로 이동합니다. "고급을 클릭합니다. "가 아래 이미지에서 볼 수 있듯이 화면 하단 근처에 있습니다.
- '변경 ” 버튼이 이전 화면에 표시됩니다. 주인의 가치 바로 앞에 있을 것입니다. 여기에서 이 폴더의 소유자를 기본값에서 컴퓨터 계정으로 변경합니다.
- 이제 표시되는 공간에 사용자 계정 이름을 입력하고 "이름 확인"을 클릭합니다. . Windows는 이 이름에 대해 적중된 모든 계정을 자동으로 나열합니다.
이 방법을 사용하여 계정 이름을 찾을 수 없는 경우 사용 가능한 사용자 그룹 목록에서 수동으로 선택할 수 있습니다. "고급"을 클릭하고 새 창이 나타나면 "지금 찾기"를 클릭하십시오. 컴퓨터의 모든 사용자 그룹으로 구성된 목록이 화면 하단에 채워집니다. 계정을 선택하고 "확인"을 누릅니다. 더 작은 창으로 돌아가면 "확인"을 다시 누르십시오.
- 지금 확인 "하위 컨테이너 및 개체의 소유자 바꾸기 ". 이렇게 하면 폴더 내의 모든 폴더/파일의 소유권도 변경됩니다. 이렇게 하면 존재하는 하위 디렉토리에 대해 모든 프로세스를 계속해서 진행할 필요가 없습니다. 이 외에도 "모든 하위 개체 권한 항목을 이 개체의 상속 가능한 권한 항목으로 교체 옵션을 활성화하는 것이 좋습니다. ".
- 이제 "적용을 클릭한 후 속성 창을 닫습니다. "하고 나중에 다시 엽니다. 보안 탭으로 이동합니다. "고급을 클릭합니다. ".
- 권한 창에서 “추가 "가 화면 하단에 표시됩니다.
- "원칙 선택을 클릭합니다. ". 4단계에서와 같은 유사한 창이 팝업됩니다. 표시되면 4단계를 반복합니다. 이제 모든 권한을 확인하고(모든 권한 부여) "확인 ".
- "모든 하위 개체 권한 항목을 이 개체의 상속 가능한 권한 항목으로 교체 행을 선택합니다. "를 누르고 적용을 누릅니다.
- 파일을 닫고 다시 시작 당신의 컴퓨터를 완전히. 이제 애플리케이션을 실행하여 문제가 제대로 해결되었는지 확인하세요.
해결 방법 6:Windows를 최신 빌드로 업데이트
또 다른 시도는 컴퓨터에 업데이트된 버전의 Windows가 설치되어 있는지 확인하는 것입니다. Microsoft 릴리스 업데이트는 OS의 새로운 변경 사항을 대상으로 하고 추가 기능도 지원합니다. 일부 업데이트는 본질적으로 '중요'하며 가능한 한 빨리 설치해야 합니다. 이러한 '중요' 업데이트가 설치되지 않은 경우 문제가 발생합니다.
- Windows + S를 눌러 검색 창을 실행하고 업데이트 를 작성합니다. 대화 상자에서 업데이트 설정을 엽니다.
- 업데이트 설정에서 업데이트 확인을 클릭합니다. . 이제 컴퓨터가 Microsoft 서버에 연결되고 사용 가능한 업데이트가 있는지 확인합니다. 이미 강조 표시된 업데이트가 있는 경우 즉시 수행하십시오.
보너스:개발자를 위한 팁
개발자이고 Windows에서 서비스를 시작하려는 경우 서비스를 생성하고 응답을 받기 위해 정확하게 수행해야 하는 수백 가지 기술이 있습니다. 이 보너스 솔루션에서는 개발 도상국에서 가장 많이 발생하는 오류 1053의 원인과 솔루션을 나열합니다.
- .NET Framework가 동기화되어 있는지 확인: 시작하려는 응용 프로그램/서비스가 호스팅 시스템이 아닌 다른 프레임워크에 있는 경우 문제가 발생합니다. 프레임워크가 동기화되어 있는지 확인하세요.
- 릴리스 빌드 사용: 개발자는 일반적으로 디버그 를 사용하는 경향이 있습니다. 다양한 서비스 및 해당 작업을 테스트하기 위해 빌드합니다. 그러나 릴리스 빌드에서 서비스를 실행하지 않으면 여러 문제가 발생한다는 점에 유의했습니다.
- 서비스 시작을 디버그하려면(더 많은 정보를 얻기 위해) 서비스의 OnStart() 메서드 상단에 아래 나열된 코드를 삽입하세요.
while(!System.Diagnostics.Debugger.IsAttached) Thread.Sleep(100);
이렇게 하면 서비스가 중단되어 디버그> 공격을 통해 Visual Studio 디버거를 빠르게 연결할 수 있습니다.
- 릴리스 DLL 복사 또는 디버그 모드가 아닌 릴리스 모드에서 DLL 파일을 가져와서 설치 폴더에 붙여넣습니다. DLL 파일과 관련된 모든 문제를 해결합니다.
- 데이터베이스가 서비스/애플리케이션이 액세스하는 항목이 올바르게 구성되었습니다. 데이터베이스 자체(또는 다른 자격 증명)에 문제가 있는 경우 오류 메시지가 표시됩니다. 모든 모듈을 다시 한 번 확인하고 모든 매개변수와 변수가 올바르게 설정되었는지 확인하는 것이 좋습니다.