Visual Basic 6.0 en Windows 7

Muchos programadores continúan desarrollando aplicaciones con  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 

 

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 década 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 

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. 

Nota: debes tener en cuenta que en Visual Basic Empresarial el setup.exe sí es de 32bits, por tanto corre bien en Windows 7 de 32 y 64bits. En este caso no es necesario utilizar los siguientes cambios. 

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 vb6setup en la carpeta principal recien creada vb6 
3. Ahora renombramos el archivo vb98ent.stf por acmsetup.stf. En algunas versiones como la Profesional, busquen vs98pro.stf, y tengan en cuenta que vs es de Visual Studio, vb de Visual Basic 
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 (o vs98pro.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 
* msrd2x35.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: Crogram Files (x86)Microsoft Visual StudioVB98 
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

Fuente: http://www.taringa.net/posts/info/6796511/Visual-Basic-6-0-en-Windows-7.html

Comentarios

Entradas populares de este blog

Como Reconocer el Tipo de Teclado