OCX 로딩 오류는 ActiveX 컨트롤 배포, 의존 DLL, Windows 버전, Universal C Runtime, Visual Studio 배포 프로젝트, 가상환경 테스트가 함께 얽히는 Windows 개발 이슈로 볼 수 있다.
이 글은 OCX 배포와 실행 문제를 해결하며 ActiveX Control Test Container, 전자서명, VirtualBox, Windows 이미지, Dependency Walker, Universal C Runtime, IEShims.dll 등을 확인한 메모다.
핵심 정리
OCX 관련 오류는 코드 자체보다 실행 환경에서 필요한 런타임과 DLL이 빠져 발생하는 경우가 많다. 원문에서는 Visual Studio 배포 프로젝트로 OCX를 함께 배포하는 것만으로는 필요한 dependency가 모두 해결되지 않았고, Dependency Walker로 누락 DLL을 확인하며 Universal C Runtime과 일부 Internet Explorer 관련 DLL을 점검했다. 특히 오래된 Windows 환경에서는 업데이트 상태에 따라 api-ms-win 계열 런타임 문제가 드러날 수 있다. 이런 문제는 개발 PC에서만 확인하면 놓치기 쉬우므로, 깨끗한 OS 가상환경을 만들어 설치와 실행을 반복 검증하는 방식이 도움이 된다. 전자서명과 설치 프로그램 버전 관리도 배포 과정에서 따로 확인해야 한다.
- OCX 문제는 코드 오류와 배포 환경 오류를 나누어 봐야 한다.
- ActiveX Control Test Container는 컨트롤 로딩 자체를 확인할 때 사용할 수 있다.
- Visual Studio 배포 프로젝트가 모든 dependency를 자동으로 해결해 주지는 않을 수 있다.
- Dependency Walker 같은 도구로 누락 DLL을 확인할 수 있다.
- Universal C Runtime 누락은 오래된 Windows 환경에서 실행 문제를 만들 수 있다.
- Windows Update 상태에 따라 같은 설치 파일도 다르게 동작할 수 있다.
- 가상환경은 깨끗한 OS에서 설치 재현성을 확인하는 데 유용하다.
- 설치 프로그램 버전과 전자서명은 배포 단계에서 따로 검증해야 한다.
원문은 OCX 배포 과정에서 겪은 Windows 런타임과 설치 이슈를 추적한 기록입니다. 보강문에서는 ActiveX 테스트, dependency 확인, 런타임 설치, 가상환경 검증, 설치 패키지 관리로 나누어 정리했습니다. 오래된 Windows 대상 배포는 개발 환경에서 잘 되는지만 보면 위험하므로, 업데이트 상태가 다른 가상머신에서 반복 확인하는 것이 중요합니다.
이어서 볼 글
- occcont.cpp line 925 오류: OCX ActiveX 로딩 문제 - 동일 OCX 로딩 실패를 MFC 오류 메시지 관점에서 확인할 수 있다.
OCX 관련
ActiveX Control Test Container
내 PC에서는 f:\ftp_root\_private\ 여기 있다.
배포 관련
• 여기가 MS문서중엔 좋아보인다.
exe 전자서명
• 여기를 참조하자.
가상환경
워낙에 설치이슈 같은게 많아서 아예 OS버전별로 가상환경을 갖추고 시작할까 한다.
지금 보고 있는 건 virtual box
• official site: https://www.virtualbox.org/wiki/Downloads
• guide: http://blog.publisher.name/284
• 근데 당연할수도 있지만 OS 이미지 및 별도 설치가 필요하다 ㅠ
• 근데 아래에도 나와있지만 MS에서 공짜로 제공하는게 있어서 개꿀임 ㅋㅋ(virtual box 이미지를 제공함)
MS에서 무슨 가상머시기를 공짜로 제공한다는데..
(OCX를 포함한) 배포
여기를 보면 최근 인스톨 툴 분위기를 볼 수 있다.
하아.. visual studio 내에서 제공되는 설치프로그램인 windows installer를 이용해도 ocx가 같이 배포되도록 까지는 되지만 필요한 dependency 까지 같이 제공해주지는 못함을 확인 ㅠㅠ
결국은 dependency walker동원해서 다음 IEShims.dll이랑 api-ms-...-convert..dll 이거 두개를 강제로 설치해줘야 했다 ㅠ
api어쩌고는 다음 링크로 깔았다.
• https://support.microsoft.com/ko-kr/help/2999226/update-for-universal-c-runtime-in-windows
• 위에 링크 따로 안깔아도, 윈도우업데이트만 해도 해결되는거 확인함
• 이 범용 C Runtime이란게 아주 골까네..
• 그니까 최신 windows-visual c++ 에서 왠지 모르겠지만 api-ms-win-crt...dll 이런걸 쓰기로 했고
• 하위호환성은 windows update로 해결하겠다는 컨셉인데..
• 윈도우업데이트를 안하는 인간이 또는 못하는 인간이 많다는걸 생각해보면 아주 골까는 컨셉이다 -_-
• http://mulegend.webzen.co.kr/community/support-board/detail/10804
• MU에서도 관련 문제가 고객들에게 있는듯..
IEShims.dll은 program files 의 internet exlorer 던가하는 폴더에 들어있어서 system32로 옮겼다.
• 이거는 좀 더 하다보니까 안깔아도 되는듯하다;
• 적어도 업데이트 최신으로 하고 해봤을때 안깔아도 됐당
정리하면
• 바닐라 win7에서는 universal c runtime 문제로 ocx 실행이 안된다.
• universal c runtime을 설치하고 다시 깔면 실행이 된다.
visual studio에 내장된 windows installer 사용법
바탕화면에 아이콘 만들기
버전을 올려놔야 제거할거냐는 창이 안뜨고 바로 인스톨이 되는데, 문제는 이미 깔린 PC의 경우 파일 업데이트가 안되는경우가 있다.
기존파일을 지우고 하면 되기는 하는데 --;; 오류메시지도 안뜨고 --;
'Programming' 카테고리의 다른 글
| Python metaclass와 decorator 동작 원리 정리 (0) | 2026.05.16 |
|---|---|
| DokuWiki 문법과 플러그인 기본 정리 (0) | 2026.05.16 |
| 회귀 뜻과 회귀분석, 선형회귀, 로지스틱 회귀 정리 (0) | 2026.05.16 |
| Java 파일 복사와 Object Serialization 예제 (0) | 2026.05.15 |
| YAML 설정 오류 방지: 허용되지 않은 key 검증 (0) | 2026.05.15 |
