Cannot load control xxxx; license not found

Descripción del problema

Cuando estamos trabajando con Visual Basic 6.0 aparece el siguiente error “Cannot load control ‘NOMBRE CONTROL’; license not found.”. Esto lo podemos ver el un archivo de log existente el el proyecto, generalmente se llama como el nombre del formulario principal con extensión .log.

Causa

Este problema ocurre cuando se instala Visual Basic 6.0 después de haber instalado otras componentes de Microsoft como es Office, .Net y otros.

El problema radica en que algunas herramientas del CD de instalación no son instaladas por defecto, por lo que las licencias para estas componentes no se encuentran.

Este error me ocurrió con una dll llamada “Threed32.ocx”, la cual debe ser instalada a mano.

Solución

  1.  Coloque el CD de Visual Basic en el lector de cd y dirijase a la carpte \Common\Tools\VB\controls y copie todo el contenido de esta carpeta a %systemroot%\system
  2. Luego dirijase a \Tools\RegistrationUtilities y copie la utilidad llamada RegSvr32.Exe a %systemroot%\system
  3.  Luego ejecute la siguiente instrucción
    • regsvr32.exe grid32.ocx
  4.  Luego registre las licencias de estos controles con la siguiente instrucción
    • regedit vbctrls.reg

Todos estos pasos se encuentran especificados en un archivo llamado “readme.txt” en la capeta \Common\Tools\VB\controls.