08 diciembre 2013

Instalar VB6 en Win7 (y II)

Recientemente me vi obligado a cambiar de computadora debido a que a la anterior le falló la tarjeta madre y no me fue posible encontrar una similar para remplazarla.

La nueva computadora traía ya el Windows 7 sin embargo la instalación del Visual Basic 6.0 no fue tan simple como la vez anterior.

En esta ocación el problema ocurrió con dos archivos OCX que son MSCOMCTL y MSCOMCT2 que corresponden a:
  • Controles comunes de Windows 6.0
    • ImageCombo, ImageList, ListView, ProgressBar, Slider, StatusBar, TabStrip, Toolbar, TreeView
  • Controles comunes de Windows 2 6.0
    • Animation, DTPicker, FlatScrollBar, MonthView, UpDown

El mensaje de error dentro del IDE de Visual Basic 6.0 al intentar cargar cualquiera de los componentes es el siguiente:

La biblioteca de objetos no está registrada

Esto aparece a pesar de haber instalado el Service Pack 6 de Visual Basic y de intentar desregistrar y registrar manualmente ambos componentes.

Luego de unos cuantos minutos me percaté de que el problema era ocasionado por las versiones. Para el archivo mscomctl.ocx las versiones eran las siguientes:
  • Previo a instalar VB6 con Windows 7 actualizado (6.1.9834)
  • Después de haber instalado VB6 (6.1.9782)
  • Después de instalar el Service Pack 6 (6.0.8177) 
El procedimiento que me funcionó tras varias pruebas es el siguiente:
  1. Realizar una copia de seguridad de la version de ambos archivos que se encontraban en el sistema operativo.
  2. Desregistrar ambos archivos con la utilidad RegSvr32
  3. Eliminar ambos archivos
  4. Instalar Visual Basic 6.0
  5. Instalar el Service Pack 6
  6. Desregistrar los archivos copiados por la instalación
  7. Copiar las versiones previamente respaldadas
  8. Registrar manualmente con la utilidad RegSvr32
Procedimiento alternativo:
  • Desde la línea de comandos con privilegios elevados, en la carpeta del sistema, debemos registrar el archivo (msdatsrc.tlb) que corresponde a Microsoft Data Source Interfaces for ActiveX :
    
    regtlib msdatsrc.tlb

Enlace al artículo anterior:
Instalar Visual Basic 6.0 en Windows 7

NOTA: parece ser que una de las tantas actualizaciones de Windows ha roto la compatibilidad entre las versiones de estos componentes. También hay que considerar que posterior al Service Pack 6 de Visual Basic hay una actualización de seguridad.

3 comentarios:

  1. Use el método alternativo y funciono OK.

    Muchas gracias!!

    ResponderBorrar
  2. el metodo alternativo funciona

    ResponderBorrar
  3. Gracias funcionó muy bien el método 2
    Gracias

    ResponderBorrar