PRB: Se producen errores al utilizar controles de Visual Basic 6.0 en Visual Studio .NET

Seleccione idioma Seleccione idioma
Id. de artículo: 318597 - Ver los productos a los que se aplica este artículo
Importante: este artículo contiene información acerca de cómo se modifica el Registro. Antes de modificar el Registro, asegúrese de hacer una copia de seguridad del mismo y de que sabe cómo restaurarlo si ocurre algún problema. Para obtener información acerca de cómo realizar una copia de seguridad, restaurar y modificar el Registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
256986 Definición del Registro de Microsoft Windows
Expandir todo | Contraer todo

En esta página

Síntomas

Al utilizar controles ActiveX de Microsoft Visual Basic 6.0 en Visual Studio .NET, es posible que surjan los siguientes problemas:
  • Al intentar agregar un control ActiveX incluido en Visual Basic 6.0 a un formulario de Visual Studio .NET, recibe el mensaje de error siguiente:
    No tiene permiso para utilizar este control ActiveX.
    Puede agregar el control correctamente al cuadro de herramientas, pero recibe este mensaje de error cuando agrega el control en tiempo de diseño.
  • Al actualizar un proyecto de Visual Basic 6.0 a Visual Studio .NET, recibe el mensaje de error siguiente cuando el Asistente para actualización analiza los formularios:
    Error del Asistente para actualización de Visual Basic
    Error al actualizar: Excepción: No se puede cargar el componente al que se hace referencia: comdlg32.ocx (1.2.0)
    Necesita instalar este componente antes de actualizar el proyecto. Se recomienda la instalación de VB6.0, con todos los componentes a los que se hace referencia y comprobar que la aplicación puede compilar y ejecutarse antes de actualizar.
    Al hacer clic en Aceptar, el Asistente para actualización se cierra y el proceso de conversión se detiene.

Causa

Debe tener permisos en tiempo de diseño para utilizar los controles ActiveX de Visual Basic 6.0. Estos errores se producen porque el Registro del sistema no contiene información de licencia en tiempo de diseño. Cuando actualiza un proyecto que contiene controles ActiveX de Visual Basic 6.0 o cuando intenta utilizar controles ActiveX de Visual Basic 6.0 en un formulario de Visual Studio .NET, tiene que instalar y autorizar esos controles en el sistema de destino.

Visual Studio .NET no instala la información de licencia para los controles ActiveX de Visual Basic 6.0, a menos que se instalen los controles de Visual Basic 6.0 en el equipo de Visual Studio .NET. Esto puede suceder si Visual Basic 6.0 no se instaló nunca en el equipo de Visual Studio .NET.

Estos errores no aparecen en los equipos que tienen instalado Visual Basic 6.0 y Visual Studio .NET, ya que Visual Basic 6.0 instala los componentes y registra las licencias.

Solución

Para resolver este problema, debe instalar los archivos .ocx para los controles ActiveX en el equipo de Visual Studio .NET antes de actualizar el proyecto o antes de utilizar los controles ActiveX de Visual Basic 6.0 en un formulario de Visual Studio .NET. Para ello, utilice uno de los métodos siguientes:
  • Instale Visual Basic 6.0 en el equipo de Visual Studio .NET.
  • Agregue las claves de licencia al Registro.

Método 1: instalar Visual Basic 6.0 en el equipo de Visual Studio .NET

Al contrario que en versiones anteriores de Visual Basic, no existen conflictos entre Visual Basic 6.0 y Visual Studio .NET cuando se instalan estos programas en el mismo sistema. En muchos casos, Microsoft recomienda instalar Visual Basic 6.0 en el equipo de Visual Studio .NET.

Si Visual Basic 6.0 está disponible en el equipo de Visual Studio .NET, resulta más sencillo cambiar el proyecto original de Visual Basic 6.0 antes de actualizar a Visual Studio .NET. Para obtener más información acerca de cómo instalar Visual Basic 6.0 y de cómo actualizar un proyecto desde Visual Basic 6.0 a Visual Studio .NET, consulte la sección "Referencias."

Método 2: agregar las claves de licencia al Registro

Advertencia: la utilización incorrecta del Editor del Registro puede provocar problemas graves que hagan necesario volver a instalar el sistema operativo. Microsoft no garantiza que pueda solucionar problemas que resulten del uso incorrecto del Editor del Registro. Utilice el Editor del Registro bajo su responsabilidad. Para agregar las claves de licencia para los controles de Visual Basic 6.0 al Registro, siga estos pasos:
  1. Inserte el disco de instalación de Visual Studio .NET que contiene la carpeta \Extras\VB6 Controls en la unidad de CD-ROM o DVD-ROM. La lista siguiente describe qué disco se debe utilizar para cada edición del producto en CD-ROM:

    Visual Studio .NET 2002 (no el disco de Microsoft Developer Network [MSDN])
    • Todas las ediciones Enterprise Edition - Disco 4
    • Professional Edition - Disco 4
    • Standard Edition - Disco 3
    • Academic Edition - Disco 4
    Visual Studio .NET 2003 (no el disco de MSDN)
    • Todas las ediciones Enterprise Edition - Disco 2
    • Professional Edition - Disco 2
    • Standard Edition - Disco 1
    • Academic Edition - Disco 2
  2. Haga clic en Inicio y, a continuación, en Ejecutar.
  3. En el cuadro de diálogo Ejecutar, escriba regedit y, después, haga clic en Aceptar.
  4. En el cuadro de diálogo Editor del Registro, en el menú Archivo, haga clic en Importar.
  5. Busque la carpeta \Extras\VB6 Controls en el CD-ROM de instalación de Visual Studio .NET, seleccione el archivo VB6Controls.reg y, a continuación, haga clic en Abrir. De este modo, se insertan todas las claves de licencia de los controles ActiveX de Visual Basic 6.0 en el Registro.

Estado

Microsoft ha confirmado que se trata de un error de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Más información

Los archivos .ocx se encuentran en la subcarpeta SYSTEM32 de la carpeta Windows. La lista siguiente incluye algunos de los controles ActiveX y sus nombres de archivo correspondientes:
  • ADO Data Control 6.0 (OLEDB) - Msadodc.ocx
  • Trace 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
* En Visual Studio .NET 2002, el archivo VB6Controls.reg que incluía la licencia para FlexGrid Control 6.0 es incorrecto. Sin embargo, en Visual Studio .NET 2003 se ha corregido el archivo VB6Controls.reg.

Nota: debe poseer un contrato de licencia de Visual Studio para obtener este archivo Vb6control.reg corregido. Este servicio de soporte técnico no conlleva gastos adicionales.

Para obtener una lista completa de los números de teléfono de los Servicios de soporte técnico de Microsoft, así como información acerca de los costos de soporte técnico, visite el siguiente sitio Web de Microsoft:
Contacte con Microsoft - Introducción
http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS

Pasos para reproducir el comportamiento

Error al intentar agregar un control ActiveX a un formulario de Visual Studio .NET

  1. Instale Visual Studio .NET en el equipo A. Asegúrese de que nunca se haya instalado Visual Basic 6.0 en este equipo.
  2. Instale sólo Visual Basic 6.0 en el equipo B.
  3. Copie un archivo .ocx de Visual Basic desde la carpeta SYSTEM32 del equipo B a la carpeta SYSTEM32 del equipo A.
  4. En el equipo A, inicie Visual Studio .NET y, a continuación, cree un nuevo proyecto de Aplicación para Windows en Visual Basic .NET.
  5. Haga clic con el botón secundario del mouse (ratón) en el cuadro de herramientas y, a continuación, haga clic en Personalizar cuadro de herramientas.
  6. En la ficha Componentes COM, haga clic en Examinar.
  7. Seleccione el archivo .ocx que copió en el paso 3 y haga clic en Abrir. Observe que el control se agrega a la lista y que su casilla de verificación se selecciona. Haga clic en Aceptar.
  8. Arrastre el control ActiveX desde el cuadro de herramientas al formulario. Recibe el siguiente mensaje de error:
    No tiene permiso para utilizar este control ActiveX.

Error del Asistente para actualización

  1. Instale Visual Studio .NET en un equipo en el que nunca se haya instalado Visual Basic 6.0.
  2. Inicie Microsoft Visual Studio .NET
  3. En el menú Archivo, haga clic en Abrir.
  4. Seleccione un proyecto de Visual Basic 6.0 que contenga un control ActiveX en el formulario y, a continuación, haga clic en Aceptar. Se inicia el Asistente para actualización.
  5. Complete los pasos del Asistente para actualización. Recibe el siguiente mensaje de error:
    Error del Asistente para actualización de Visual Basic

    Error al actualizar: Excepción: No se puede cargar el componente al que se hace referencia: comdlg32.ocx (1.2.0)
    Necesita instalar este componente antes de actualizar el proyecto. Se recomienda la instalación de VB6.0, con todos los componentes a los que se hace referencia y comprobar que la aplicación puede compilar y ejecutarse antes de actualizar.
  6. Haga clic en Aceptar en el cuadro de diálogo de mensaje de error. Observe que se cierra el Asistente para actualización.

Referencias

Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
311324 Instale Visual Basic .NET en el mismo equipo que Visual Basic 6.0 para actualizar un proyecto

Propiedades

Id. de artículo: 318597 - Última revisión: viernes, 01 de septiembre de 2006 - Versión: 4.1
La información de este artículo se refiere a:
  • Microsoft Visual Studio .NET 2002 Professional
  • 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
Palabras clave: 
kbtshoot kberrmsg kbprb KB318597

Enviar comentarios

 

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