안녕하세요.. 미친송아지입니다.^^
일단 제가 쓴글이 아니고.. MSDN 에서 퍼왔습니다.^^
내용..
PRB: Visual Studio .NET에서 Visual Basic 6.0 컨트롤을 사용하면 오류가 발생한다
적용 대상
중요: 이 문서에서는 레지스트리 수정 방법을 설명합니다. 레지스트리를 수정하기 전에 해당 레지스트리를 백업하고 문제 발생 시 이를 복원하는 방법을 이해해야 합니다. 레지스트리 백업, 복원 및 편집 방법은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
256986 Microsoft Windows 레지스트리 설명
현상
Visual Studio .NET에서 Microsoft Visual Basic 6.0 ActiveX 컨트롤을 사용하면 다음과 같은 문제가 발생할 수 있습니다.
- Visual Basic 6.0에 포함되어 있던 ActiveX 컨트롤을 Visual Studio .NET 폼에 추가하려고 하면 다음과 같은 오류 메시지가 나타납니다.
이 ActiveX 컨트롤을 사용할 권한이 없습니다.
컨트롤을 도구 상자에 성공적으로 추가할 수는 있지만 디자인 타임에 컨트롤을 추가하면 이 오류 메시지가 나타납니다.
- Visual Basic 6.0 프로젝트를 Visual Studio .NET으로 업그레이드하는 경우 업그레이드 마법사가 폼에서 구문 분석할 때 다음과 같은 오류 메시지가 나타납니다.
Visual Basic 업그레이드 마법사 오류입니다.
업그레이드하지 못했습니다. 예외가 발생했습니다. 참조된 구성 요소 comdlg32.ocx(1.2.0)을(를) 로드할 수 없습니다.
프로젝트를 업그레이드하기 전에 이 구성 요소를 설치해야 합니다. 참조된 구성 요소와 함께 VB6.0을 설치하는 것이 좋습니다. 업그레이드하기 전에 응용 프로그램이 컴파일 및 실행되는지 확인하십시오.
확인을 누르면 업그레이드 마법사가 닫히고 변환 프로세스는 중지됩니다.
원인
Visual Basic 6.0 ActiveX 컨트롤을 사용하려면 디자인 타임 라이센스가 있어야 합니다. 이 오류는 시스템 레지스트리에 디자인 타임 라이센스 정보가 없기 때문에 발생합니다. Visual Basic 6.0 ActiveX 컨트롤이 포함된 프로젝트를 업그레이드하거나 Visual Studio .NET 폼에서 Visual Basic 6.0 ActiveX 컨트롤을 사용할 때는 대상 시스템에 해당 컨트롤이 설치되어 있고 라이센스가 있어야 합니다.
Visual Studio .NET 컴퓨터에 Visual Basic 6.0 컨트롤을 설치하지 않는 한 Visual Studio .NET이 Visual Basic 6.0 ActiveX 컨트롤에 대한 라이센스 정보를 설치하지 않습니다. Visual Studio .NET 컴퓨터에 Visual Basic 6.0을 설치하지 않은 경우에도 마찬가지입니다.
Visual Basic 6.0과 Visual Studio .NET을 모두 설치한 컴퓨터에서는 Visual Basic 6.0이 구성 요소를 설치하고 라이센스를 등록하기 때문에 이러한 오류가 발생하지 않습니다.
해결 방법
이 문제를 해결하려면 프로젝트를 업그레이드하거나 Visual Studio .NET 폼에서 Visual Basic 6.0 ActiveX 컨트롤을 사용하기 전에 Visual Studio .NET 컴퓨터에 ActiveX 컨트롤용 .ocx 파일을 설치해야 합니다. 이렇게 하려면 다음 방법 중 하나를 사용하십시오.
- Visual Studio .NET 컴퓨터에 Visual Basic 6.0을 설치합니다.
- 레지스트리에 라이센스 키를 추가합니다.
방법 1: Visual Studio .NET 컴퓨터에 Visual Basic 6.0 설치
이전 버전의 Visual Basic과 달리 Visual Basic 6.0과 Visual Studio .NET은 같은 시스템에 설치해도 충돌이 없습니다. 대개의 경우 Visual Studio .NET 컴퓨터에 Visual Basic 6.0을 설치하는 것이 좋습니다.
Visual Studio .NET 컴퓨터에서 Visual Basic 6.0을 사용할 수 있으면 Visual Studio .NET으로 업그레이드하기 전에 원본 Visual Basic 6.0 프로젝트를 보다 쉽게 변경할 수 있습니다. Visual Basic 6.0을 설치하는 방법과 프로젝트를 Visual Basic 6.0에서 Visual Studio .NET으로 업그레이드하는 방법에 대한 자세한 내용은 '참조' 절을 참조하십시오.
방법 2: 레지스트리에 라이센스 키 추가
경고: 레지스트리 편집기를 잘못 사용하면 심각한 문제가 발생할 수 있으며 문제를 해결하기 위해 운영 체제를 다시 설치해야 할 수도 있습니다. Microsoft는 레지스트리 편집기를 잘못 사용함으로써 발생하는 문제에 대해 해결을 보증하지 않습니다. 레지스트리 편집기의 사용에 따른 모든 책임은 사용자에게 있습니다.
레지스트리에 Visual Basic 6.0 컨트롤용 라이센스 키를 추가하려면 다음과 같이 하십시오.
- CD-ROM 드라이브나 DVD-ROM 드라이브에 \Extras\VB6 Controls 폴더가 있는 Visual Studio .NET 설치 디스크를 넣습니다. CD-ROM에서 각 제품 버전에 대해 사용할 디스크를 확인하려면 다음 목록을 참고하십시오.
- 모든 엔터프라이즈 버전 - 디스크 4
- 프로페셔널 버전 - 디스크 4
- 스탠더드 버전 - 디스크 3
- 아카데미 버전 - 디스크 4
- 시작을 누르고 실행을 누릅니다.
- 실행 대화 상자에 regedit를 입력한 다음 확인을 누릅니다.
- 레지스트리 편집기 대화 상자에서 파일 메뉴의 가져오기를 누릅니다.
- Visual Studio .NET 설치 CD-ROM의 \Extras\VB6 Controls 폴더로 이동하여 VB6Controls.reg 파일을 선택한 다음 열기를 누릅니다. 그러면 모든 Visual Basic 6.0 ActiveX 컨트롤 라이센스 키가 레지스트리에 삽입됩니다.
현재 상태
Microsoft는 이 문서의 시작 부분에 나열한 제품에서 이 문제를 확인했습니다.
참조
자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
311324 INFO: 프로젝트 업그레이드를 위해 Visual Basic 6.0과 같은 컴퓨터에 Visual Basic .NET 설치
317071 INFO: Visual Basic 6.0을 Visual Basic .NET으로 마이그레이션하는 과정 설명