PRB: Visual Studio .NET에서 Visual Basic 6.0 컨트롤을 사용하면 오류가 발생한다

기술 자료 번역 기술 자료 번역
기술 자료: 318597 - 이 문서가 적용되는 제품 보기.
중요 이 문서에서는 레지스트리 수정 방법을 설명합니다. 레지스트리를 수정하기 전에 해당 레지스트리를 백업하고 문제 발생 시 이를 복원하는 방법을 이해해야 합니다. 레지스트리 백업, 복원 및 편집 방법은 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 컨트롤용 라이센스 키를 추가하려면 다음과 같이 하십시오.
  1. CD-ROM 드라이브나 DVD-ROM 드라이브에 \Extras\VB6 Controls 폴더가 있는 Visual Studio .NET 설치 디스크를 넣습니다. 아래의 목록은 CD-ROM에서 각 제품 버전에 사용할 디스크를 설명한 것입니다.

    Visual Studio .NET 2002(Microsoft Developer Network[MSDN] 디스크 아님)
    • 모든 엔터프라이즈 버전 - 디스크 4
    • 프로페셔널 버전 - 디스크 4
    • 스탠더드 버전 - 디스크 3
    • 아카데미 버전 - 디스크 4
    Visual Studio .NET 2003(MSDN 디스크 아님)
    • 모든 엔터프라이즈 버전 - 디스크 2
    • 프로페셔널 버전 - 디스크 2
    • 스탠더드 버전 - 디스크 1
    • 아카데미 버전 - 디스크 2
  2. 시작을 누르고 실행을 누릅니다.
  3. 실행 대화 상자에 regedit을 입력한 다음 확인을 누릅니다.
  4. 레지스트리 편집기 대화 상자에서 파일 메뉴의 가져오기를 누릅니다.
  5. Visual Studio .NET 설치 CD-ROM의 \Extras\VB6 Controls 폴더로 이동하여 VB6Controls.reg 파일을 선택한 다음 열기를 누릅니다. 그러면 모든 Visual Basic 6.0 ActiveX 컨트롤 라이센스 키가 레지스트리에 삽입됩니다.

현재 상태

Microsoft는 "적용 대상" 절에 나열한 제품에서 이 버그를 확인했습니다.

추가 정보

.ocx 파일은 Windows 폴더의 SYSTEM32 하위 폴더에 있습니다. 다음은 일부 ActiveX 컨트롤과 해당 파일 이름의 목록입니다.
  • ADO Data Control 6.0(OLEDB) - Msadodc.ocx
  • Chart Control 6.0 - Mschrt20.ocx
  • Chart Control 6.0(OLEDB) - Mschrt20.ocx
  • Comm Control 6.0 - Mscomm32.ocx
  • Common Dialog Control 6.0 - Comdlg32.ocx
  • Data Bound Grid Control 5.0(SP3) - Dbgrid32.ocx
  • Data Bound List Controls 6.0 - Dblist32.ocx
  • DataGrid Control 6.0(OLEDB) - Msdatgrd.ocx
  • DataList Control 6.0(OLEDB) - Msdatlst.ocx
  • FlexGrid Control 6.0 - Msflxgrd.ocx*
  • Internet Transfer Control 6.0 - Msinet.ocx
  • MAPI Controls 6.0 - Msmapi32.ocx
  • Masked Edit Control 6.0 - Msmask32.ocx
  • Multimedia Control 6.0 - Mci32.ocx
  • RemoteData Control 6.0 - Msrdc20.ocx
  • PictureClip Control 6.0 - Picclp32.ocx
  • Rich TextBox Control 6.0 - Richtx32.ocx
  • SysInfo Control 6.0 - Sysinfo.ocx
  • Windowless Controls 6.0 - Mswless.ocx
  • Windows Common Controls - Comctl32.ocx
  • Windows Common Controls 6.0 - Mscomctl.ocx
  • Windows Common Controls-2 5.0(SP2) - Comct232.ocx
  • Windows Common Controls-2 6.0 - Mscomct2.ocx
  • Windows Common Controls-3 6.0 - Comct332.ocx
  • Winsock Control 6.0 - Mswinsck.ocx
* Visual Studio .NET 2002에서는 FlexGrid Control 6.0용 라이센스가 포함되어 있는 VB6Controls.reg 파일이 잘못되어 있습니다. 그러나 Visual Studio .NET 2003에서는 VB6Controls.reg 파일이 수정되었습니다.

참고 Vb6control.reg 파일 수정본을 얻으려면 Visual Studio 사용권 계약이 있어야 합니다. 이 지원 서비스에는 비용이 부과되지 않습니다.

Microsoft 고객기술지원부 전화 번호의 전체 목록과 지원 비용에 대한 정보는 다음 Microsoft 웹 사이트를 참조하십시오.
Microsoft에 문의 - 개요
기술 지원 서비스 안내

문제를 재현하는 방법

Visual Studio .NET 폼에 ActiveX 컨트롤을 추가하려고 할 때 발생하는 오류

  1. 컴퓨터 A에 Visual Studio .NET을 설치합니다. 이 컴퓨터에 Visual Basic 6.0을 설치하지 않아야 합니다.
  2. 컴퓨터 B에 Visual Basic 6.0만 설치합니다.
  3. 컴퓨터 B에서 SYSTEM32 폴더의 Visual Basic .ocx 파일을 컴퓨터 A의 SYSTEM32 폴더로 복사합니다.
  4. 컴퓨터 A에서 Visual Studio .NET을 시작한 다음 Visual Basic .NET에서 새로운 Windows 응용 프로그램 프로젝트를 만듭니다.
  5. 도구 상자를 마우스 오른쪽 단추로 누른 다음 도구 상자 사용자 지정을 누릅니다.
  6. COM 구성 요소 탭에서 찾아보기를 누릅니다.
  7. 3단계에서 복사한 .ocx 파일을 선택한 다음 열기를 누릅니다. 해당 컨트롤이 목록에 추가되고 해당 확인란이 선택됩니다. 확인을 누릅니다.
  8. ActiveX 컨트롤을 도구 상자에서 폼으로 끕니다. 다음과 같은 오류 메시지가 나타납니다.
    이 ActiveX 컨트롤을 사용할 권한이 없습니다.

업그레이드 마법사 오류

  1. Visual Basic 6.0을 설치하지 않은 컴퓨터에 Visual Studio .NET을 설치합니다.
  2. Visual Studio .NET을 시작합니다.
  3. 파일 메뉴에서 열기를 누릅니다.
  4. 폼에서 ActiveX 컨트롤이 포함된 Visual Basic 6.0 프로젝트를 선택한 다음 확인을 누릅니다. 그러면 업그레이드 마법사가 시작됩니다.
  5. 업그레이드 마법사의 단계를 완료합니다. 다음과 같은 오류 메시지가 나타납니다.
    Visual Basic 업그레이드 마법사 오류입니다.

    업그레이드하지 못했습니다. 예외가 발생했습니다. 참조된 구성 요소 comdlg32.ocx(1.2.0)을(를) 로드할 수 없습니다.
    프로젝트를 업그레이드하기 전에 이 구성 요소를 설치해야 합니다. 참조된 구성 요소와 함께 VB6.0을 설치하는 것이 좋습니다. 업그레이드하기 전에 응용 프로그램이 컴파일 및 실행되는지 확인하십시오.
  6. 오류 메시지 대화 상자에서 확인을 누릅니다. 업그레이드 마법사가 닫힙니다.

참조

자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
311324 INFO: 프로젝트 업그레이드를 위해 Visual Basic 6.0과 같은 컴퓨터에 Visual Basic .NET 설치




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 318597 - 마지막 검토: 2006년 9월 1일 금요일 - 수정: 4.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Academic Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Professional Edition
키워드:?
kbtshoot kberrmsg kbprb KB318597

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com