"RPC 서버를 사용할 수 없습니다"

.NET35 / Winform으로 프로그램 개발&배포하여 서비스 중입니다.

어느 날 부터인가 이런 이슈가 인입이 되었습니다.

“‘RPC 서버를 사용할 수 없습니다’라는 예외창이 발생하면서 팝업이 안떠요.”

확인해보니 팝업 용 Form 을 ShowDialog로 호출 하게 되면 발생했습니다. 해당 Form 에는 복잡한 코드가 있는 것도 아니며 UI 스레드 외 동작하는 코드도 없습니다..

진짜 문제는 공통점 및 원인 확인이 불가능합니다. 고객 PC에서 디버깅을 할 수 없는 노릇이며 try/catch로 ShowDialog 호출 실패 원인을 로그를 찍도록 해도 로그가 남지 않습니다.

사용자 OS 버전도 Win7~11 32/64bit 다양합니다. 케이스가 많지 않은 것도 있지만, 잘 사용하시다가 어느 날 갑자기 안된다고 하시는 분도 계십니다.

해결 된 케이스는 윈도우 재설치 하신 분 외에는 없습니다.

.NET 개발 몇 년 했는데 이 케이스는 처음 보기도 하고 찾아봐도 나오지 않아 혹시 아시는분 계신가 하여 남깁니다.

혹시 이런 문제를 겪어보신 분이 계시다면 알려주세요.

1개의 좋아요

겪기 쉽지 않은 문제여서 확실하게 진단은 어렵습니다만, Windows OS의 메커니즘 상 RPC 호출은 다양한 위치에서 발생할 수 있고, 어디선가 터진 문제가 Windows Forms를 통해 표출되는 부분일 수 있습니다. 어떤 경로이든 RPC 서버에 관해서 직접 레지스트리를 조작하는 부분이 있는게 아니라면 h3aru 님께서 다루실 수 있는 범위를 벗어나기 때문에 시스템 진단 관점에서 살펴봐야 할 일이라고 생각합니다.

RPC 관련 오류가 있을 경우 아래 서비스들이 제대로 실행되지 않거나, 크래시가 발생해서 멈추는 것은 아닌지 체크해볼 필요가 있어 보입니다. services.msc MMC 콘솔에서 아래 서비스들이 제대로 실행 중인 상태인지 점검해볼 필요가 있어 보입니다. (100% 일치하는 것은 아니며 체크가 필요한 항목들을 열거해봤습니다.)

  • Remote Procedure Call (RPC) (RpcSs)
  • DCOM Server Process Launcher
  • RPC Endpoint Mapper
  • Windows Management Instrumentation (WMI)
  • COM+ Event System
  • Distributed Transaction Coordinator (MSDTC)
  • Terminal Services / Remote Desktop Services
  • User Profile Service

서비스와 별개로 이벤트 로그 MMC 콘솔 eventvwr.msc 도 같이 살펴보실 필요가 있겠습니다.

  1. Windows Logs → System
    • 핵심:

      • Service Control Manager (이벤트 ID 7000~7011 등) → 필수 서비스가 시작 실패

      • DCOM, RPCSS, EventLog 관련 오류

    • 여기서 RpcSs, DCOM Server Process Launcher, RPC Endpoint Mapper 가 멈추거나 지연된 기록이 자주 남습니다.

  2. Windows Logs → Application
    • 특정 앱(Form.ShowDialog 호출한 프로세스)이 COM/OLE 초기화 실패WMI 오류를 내면 기록됩니다.

    • 예: Application Error, COM+, MsiInstaller 이벤트

  3. Applications and Services Logs
    • Microsoft-Windows-RPCSS/Operational

      • RPC 통신 자체의 문제(엔드포인트 할당 실패, 서버 응답 없음 등)가 상세히 찍힙니다.
    • Microsoft-Windows-DistributedCOM

      • COM 서버 활성화 문제, 권한 문제, DCOM 런처 실패
    • Microsoft-Windows-WMI-Activity/Operational

      • 폼에서 WMI를 경유하는 경우 WMI 오류가 기록됩니다.

만약 문제가 발견되는 것이 있는 경우, 이벤트 로그와 연관된 프로그램이나 서비스에 대한 조치를 취해보거나, 시스템 복원 지점을 찾아 되돌리기를 수행하거나, 관리자 권한 상태에서 sfc /scannow 명령으로 시스템 복구를 시도해보는 것입니다.

만약 이걸로도 해결이 되지 않으면, 말씀하신대로 재설치를 통해서 문제 해결을 시도하는 것이 필요하다고 생각합니다.

1개의 좋아요

답변 감사드립니다.

서비스는 언급해주신 내용 중 두 세 개 정도만 확인해본 것 같네요. 말씀 주신 내용들 확인해보겠습니다. 감사합니다

1개의 좋아요

Windows에서 특히 7이 정품인증이 제대로 안되어 있으면 기능을 막아버려서 떳던것 같긴합니다. 고객사에서 해당 PC 제대로 인증이 되었는지 한번 확인해보시것도 좋을듯합니다.

1개의 좋아요