Instalar Visual Basic 6 en Windows 7

22

Muchos programadores continuan desarrollando aplicaciones con Visual Basic 6, y son muchos más los que mantienen software compilado con este lenguaje.

Hace unos días un colega me comentaba sobre la imposibilidad de hacer funcionar VB6 en Windows 7, y más tarde en la misma semana otro colega me consultaba como hacer correr un ejecutable de VB6 en Windows 7, con esas dos casualidades en la misma semana me puse a buscar una solución.

Instalando VB6 en Windows 7

Uno de los primeros problemas con que nos encontramos es que el instalador setup.exe de VB6 está compilado en 16bits, recordemos que VB6 y 5 son de la decada de los ‘90. Desde 2000 en adelante todos debimos pasarnos a .NET, pero eso implicaba pensar orientado a objetos y muchos se resisten, incluso hoy día.

Los sistemas operativos Windows de 64bits corren casi sin problemas el software de 32bits, pero no logran ejecutar el añejo de 16bits.

Afortunadamente solo el setup.exe del instalado es de 16bits, el resto del VB6, e incluso todo Visual Studio no lo es.

Instalar Visual Basic 6 en Windows 7 de 64bits

  1. Copiar el CD de Visual Basic en una carpeta vb6 en el disco duro
  2. En esa nueva carpeta, todos los archivos de \vb6\setup\ en la carpeta principal recien creada \vb6\
  3. Ahora renombramos el archivo vb98ent.stf por acmsetup.stf
  4. Ahora, en vez de ejecutar el instalador mediante setup.exe ejecutamos acmsetup.exe. Ten en cuenta de ejecutarlo como Administrador !!

Porque son necesarios estos cambios ?

Tanto setup como acmsetup utilizan guiones de instalación que le van informando que archivo copiar y que dll y ocx registrar durante la instalación, justamente de eso se trata “instalar una aplicación”. El guión de setup.exe es vb98ent.stf, pero como dijimos setup.exe no funciona por tanto usaremos acmsetup.exe que requiere que el guión se llame acmsetup.stf.

Esa es la sencilla razón del copiado y renombre de archivo, con eso basta para tener Visual Basic 6 instalado en nuestro Windows 7, incluyendo la versión de 64bits.

Debemos tener en cuenta que el ejecutable de VB6 debe ser configurado para ejecutar como Administrador, de otra forma no grabará los cambios que realicemos en nuestros fuentes VB6.

Instalar VB6 Service Pack 6 en Windows 7

Con respecto al Service Pack 6 de Visual Basic 6, el instalador setupsp6.exe también tiene problemas, pero ya cuenta con acmsetup.exe que podemos utilizar para instalar. Igualmente se trata de varios DLL y OCX que en último caso podemos descomprimir y luego reemplazar y/o registrar. En este último caso, podemos hacerlo solo para los que utilizamos en nuestra aplicación y no recargar de DLLs innecesarias.

DLL y OCX soportadas con Actualizaciones

La siguiente lista son las DLL y OCX que no se soportan tal como vienen en VB6, pero contamos con actualizaciones o nuevas versiones que si corren en Windows 7

  • dao350.dll
  • mdac_typ.exe
  • mschart.ocx
  • msdaerr.dll
  • msdatl2.dll
  • msexch35.dll
  • msexcl35.dll
  • msjet35.dll
  • msjint35.dll
  • msjt4jlt.dll
  • msjter35.dll
  • msjtor35.dll
  • msltus35.dll
  • mspdox35.dll
  • msrd2×35.dll
  • msrepl35.dll
  • mstext35.dll
  • msxbse35.dll
  • odbctl32.dll
  • oledb32x.dll

DLL y OCX no soportadas

En el caso de la siguiente lista no hay soporte ni actualizaciones, deberíamos cambiar nuestra aplicación, igualmente casi todas se arrastran de la versión 4 o 5, en la versión 6 ya no se aconsejaba su utilización, si estas así te atrasaste 15 años!

  • anibtn32.ocx
  • graph32.ocx
  • keysta32.ocx
  • autmgr32.exe
  • autprx32.dll
  • racmgr32.exe
  • racreg32.dll
  • grid32.ocx
  • msoutl32.ocx
  • spin32.ocx
  • gauge32.ocx
  • gswdll32.dll
  • ciscnfg.exe
  • olecnv32.dll
  • rpcltc1.dll
  • rpcltc5.dll
  • rpcltccm.dll
  • rpclts5.dll
  • rpcltscm.dll
  • rpcmqcl.dll
  • rpcmqsvr.dll
  • rpcss.exe
  • dbmsshrn.dll
  • dbmssocn.dll
  • windbver.exe
  • msderun.dll
  • odkob32.dll

Configurando VB6 y su IDE  en Windows 7

Bien, hemos logrado hacer funcionar VB6, pero hay algunos problemas que notamos al utilizar el IDE para modificar Formularios y Objetos dentro de el, concretamente se enlentece al mover o cambiar el tamaño de los objetos y titila sin parar. Esto se debe a que VB6 no soporta full la interfaz de Windows 7 (y seguramente en Vista pase lo mismo), VB6 no soporta transparencias, Themes y otros efectos visuales.

La solución es sencilla, ya que podemos desactivar esta parte de Windows 7 al ejecutar Visual Basic 6, para esto realizamos los siguientes pasos:

  1. Ir a la carpeta de instalación de VB6, algo como: C:\Program Files (x86)\Microsoft Visual Studio\VB98
  2. Seleccionar el ejecutable VB6.exe
  3. Botón derecho
  4. Propiedades
  5. Seleccionar la solapa Compatibilidad
  6. En este punto debemos seleccionar y activar los siguientes puntos:
    1. Marcar: Ejecutar este programa en modo compatibilidad para: Windows XP SP3
    2. Marcar: Deshabilitar los temas visuales
    3. Marcar: Deshabilitar la composición de escritorio
    4. Marcar: Deshabilitar el ajuste de escala de la pantalla si se usa la configuración elevada de ppp

Listo, ahora si podemos utilizar sin problemas nuestro Visual Basic 6 en Windows 7 o Vista

Y tu, que esperas para programar Orientado a Objetos y pasarte a dotNet ?

Más info:

Artículos relacionados:

Google Buzz!
Te gusta este post ?
Me gusta!
Este post le gusta a 21 usuarios
Loading ... Loading ...

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

22 comentarios para “Instalar Visual Basic 6 en Windows 7”

  1. Ilich says:

    Excelente, ahora lo pruebo llegando a casa. Saludos

  2. Darío Perdomo says:

    Grande Jorge, tengo que hacer un cambio a un viejo programa de un viejo cliente y como ya me pasé a Windows 7 se me estaba complicando. Abrazo grande!!!

  3. Brandon says:

    HEEEE muchisias gracias me salbaste de un buen rato de descarga e investigacion
    eres komo una especie de super genio muchas muchas gracias

  4. Luis M. Izarra says:

    Buenos días Jorge:
    He seguido fielmente tus instrucciones para correr un programa desarollado en Visual basic 6.0
    en Windows 7. 64 bits
    Reinici el orenador y entro como administrador. Al intentar correr un ejecutable de VB6.0 me sale
    un compilador. Al poco rato, aparece un mensaje que dice que no se pueden cargar los siguientes ficheros:
    Msflxgrid.ocx (1.0.0)
    Richtx32.ocx (1.2.0)
    Msadodc.ocx (6.0)
    He comprobado que estos ficheros están en Vb6/Os/System
    No tengo ni idea sobre lo que debo hacer.
    Gracias anticipadas
    Luís M. Izarra

    • elQuique says:

      Cuando ejecutas el VB6 lo haces en modo administrador ? Verificaste que los ocx mencionados están registrados ?

      Igualmente ten en cuenta la lista de ocx compatibles que menciono en el artículo, ya que no todos los OXC van a funcionar, sobre todo los que están ahí por compatibilidad con versiones más antiguas que vb6.

      • LUís M. Izarra says:

        Si, entro como administrador
        Los OCX estan en el directorio que menciono en mi anterior correo : VB6/Os/System.
        El programa de VB6 que intento correr en Visual Basic 8.0 está "sembrado" de
        controles MSHFlexGrid. Este tipo de controles no lo veo por ninguna parte en Visual
        Basic 8.0. No se, pero me parece que ese es el problema principal.

        • elQuique says:

          Si, ese es el problema MSHFlexGrid se perdió con visual basic 5, si bien funcionaba en el 6, no habría forma de correrlo en W7, deberías migrar a Datagrid :(

          • LUís M. Izarra says:

            Gracias Jorge: eso es lo que estaba haciendo ya, por que me lo temía.
            Te agradezco que te hayas molestado en responder a "minucias" como
            esta.
            Saludos
            Luís M. Izarra

  5. Juan Carlos says:

    De ante mano muchas gracias por publicar esta solución.

    He seguido los pasos que mencionas y al comienzo de la instalación después de introducir las claves el instalador me devuelve el siguiente mensaje:

    “Debe de ejecutar el Asistente para la instalación antes de ejecutar este programa de instalación”

    El mensaje de error de instalación sólo me da la opción de Aceptar y me indica “Imposible finalizar la instalación de Visual Studio 6.0 Edición empresarial”, acepto y finaliza la instalación.

  6. CM_Punk says:

    gracias men, ya estaba pensando en pasar mi windows 7 al xp y hacer dos particiones en mi disco duro pero son muchos pedos, graciaaass, te debo una !!!

  7. vansg3 says:

    cabe mencionar para todo aquel que le salga este error primero ejecute el setup y deje que reinicie su maquina y luego ahora si vuelve ha intentar pero ahora con el que hicimos jejeje saludos

  8. astolfo says:

    me pasa lo mismo que Juan Carlos, no encontre el archivo vb98ent.stf , y en su lugar estaba el archivo vs98pro.stf … a este ultimo lo cambie..

    será por eso el error ????

  9. Jassiel says:

    Gracias por el post, solo un pequeño problemita =)

    El disco que me dieron no tiene los archivos vb98ent.stf y ninguna carpeta =S

    Podeis facilitarme un link para descargar el instalador???

    Desde ya, muchas gracias!!!

  10. Juan says:

    Me sale "vb6 debe ejecutar el asistente para la instalacion antes de ejecutar este programa de instalacion"

    Algo falta en la explicación. Son pasos verdaderamente fáciles como para perderse en ellos

  11. Marta says:

    Hola !! perdón que moleste, pero ya que está puedo hacer una consulta???
    Tengo una importante aplicación que hice en Visual que tengo instalado en mi máquina y que tiene windows XP .Al empaquetarlo y querer instalarlo en otra máquina NO ME FUNCIONA…Este problema tiene algo que ver con lo que Ud escribe en su artículo GRacias !!!!! Marta

    • elQuique says:

      No, no tiene que ver ya que este post si lees al menos el titulo es de como Instalar VB6 en Windows 7, y no una aplicación de VB en cualquier windows.

Dejar un comentario