Cómo instalar Visual Basic 6.0 en Windows 10

La última semana he tenido que pelearme con una aplicación legado escrita en Visual Basic “pre.NET”, es decir, con literalmente 20 años y con el soporte mas que obsoleto… y como hablamos de código privativo de Microsoft, no hay manera legal de utilizar una herramienta alternativa para arreglarlo. Así que me lié la manta a la cabeza y me puse a pelearme con una copia de época universitaria para hacerla correr en Windows 10, y tras finalmente tener éxito, comparto aquí el mecanismo.

Visual Basic 6.0 en Windows 10

Conste que estoy con Microsoft en que sería mas recomendable migrarla a .NET porque a día de hoy su compatibilidad es cada vez peor. Se trata de software antiguo de 32 bits, por lo que sobre 64 bits puede hacer muchísimas cosas muy extrañas.

El proceso que se describe se basa en el método ensayo-error, puede que haga falta repetir la operación varias veces hasta ajustarlo debidamente.

Borrar los ficheros de intentos de instalación anteriores de VB6
¡Cuidado con no borrar los de Visual Studio posteriores! Las versiones de 2017 o posteriores pueden tener rutas por defecto parecidas.

  • Los ficheros de Visual Studio 6 están bajo `C:\Program Files (x86)` en sistemas de 64 bits.
C:\Program Files (x86)\Microsoft Visual Studio\Common
C:\Program Files (x86)\Microsoft Visual Studio\MSDN
C:\Program Files (x86)\Microsoft Visual Studio\MSDN98
C:\Program Files (x86)\Microsoft Visual Studio\VB98
C:\Program Files (x86)\Microsoft Visual Studio\VC98
C:\Program Files (x86)\Microsoft Visual Studio\*.HTM
C:\Program Files (x86)\Microsoft Visual Studio\*.TXT
C:\Program Files (x86)\Common Files\Microsoft Shared\MSDesigners98
C:\Program Files (x86)\Common Files\Microsoft Shared\MSDN
C:\Program Files (x86)\Common Files\Microsoft Shared\VS98
C:\Program Files (x86)\Common Files\Microsoft Shared\Wizards98
  • Limpiar restos del registro de programas de Windows: ejecutar ‘regedit.exe’ y borrar las siguientes claves si existen.
HKEY_LOCAL_MACHINE\Software\Microsoft\DevStudio
HKEY_LOCAL_MACHINE\Software\Microsoft\HTML Help Collections
HKEY_LOCAL_MACHINE\Software\Microsoft\MSVSDG
HKEY_LOCAL_MACHINE\Software\Microsoft\Visual Basic\6.0
HKEY_LOCAL_MACHINE\Software\Microsoft\Visual Component Manager
HKEY_LOCAL_MACHINE\Software\Microsoft\Visual Modeler
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\6.0
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\DevStudio
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\HTML Help Collections
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\MSVSDG
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Visual Basic\6.0
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Visual Component Manager
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Visual Modeler
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\VisualStudio\6.0
HKEY_CURRENT_USER\Software\Microsoft\DevStudio
HKEY_CURRENT_USER\Software\Microsoft\MSVSDG
HKEY_CURRENT_USER\Software\Microsoft\Visual Basic\6.0
HKEY_CURRENT_USER\Software\Microsoft\Visual Modeler
HKEY_CURRENT_USER\Software\Microsoft\VisualFoxPro
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\6.0

Preparar los ficheros de instalación

Lo primero es conseguir una copia del instalador de Visual Studio en el disco duro, pues vamos a necesitar editar varios de los ficheros de instalación a mano. Así que copia el contenido del CD a una carpeta.
1. Editar `SETUPWIZ.INI` (por ejemplo con Notepad++), cambiando la parte de `VmPath=ie4\msjavx86.exe`, que intenta instalar una versión muy antigua de Java y falla. La primera parte deber quedar como sigue:

[setup wizard]
eula = eula.txt
NTSP = NTsp3\nt4sp3_i.exe
NTSpMinVer = 3
IE4 = ie4\ie4setup.exe
CommonFilesMin = 50
IEIni=ie4check.ini
WFCClean = setup\wfcclean.exe
readme = readmevs.htm
pid = setup.ini
MSDN = setup.exe
Acme = acmboot.exe
AcmeId = vs98ecd1.inf
STF = setup\vs98ent.stf
DCOM98 = dcom98\dcom98.exe
MSDNID = msdn3?1.inf
NtSpUrl = ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/
IeUrl = http://www.microsoft.com/ie/ie40/download/
UsrUrl = http://msdn.microsoft.com/vstudio/register/default.htm
RegUrl = http://www.microsoft.com/isapi/redir.dll?Prd=vstudio&Pver=98&Ar=register
VmPath=

2. Editar las propiedades de `SETUP:EXE`. Botón secundario sobre el fichero, propiedades, e ir a la pestaña de compatibilidad. Asegurarse de que tenemos marcado:

  •  Modo compatibilidad: ejecutar en modo compatibilidad para ‘Windows XP (Service Pack 3)’.
  • Configuración: ‘ejecutar este programa como administrador’.

Ejecutar el asistente de instalación

1. Botón derecho sobre ‘SETUP.EXE’ y elegir ‘ejecutar como administrador’.
2. No instalar ‘Source Safe’, falla.
3. Cuando lleguemos a la parte de ‘seleccionar tipo de instalación’ elegir la opción ‘Custom’ (personalizada):

  • No instalar (porque fallan):
    • Microsoft Visual FoxPro 6.0
    • Microsoft Visual InterDev 6.0
    • Microsoft Visual SourceDafe 6.0
    • ActiveX (versión obsoleta que crea conflicto con componentes actuales)
  • Instalar las librerías unicode: desde el menú principal de custom, clickar sobre el texto de ‘Microsoft Visual C++ 6.0’, y en la parte de la derecha se activará el botón ‘Change option’ en el que clikamos. Repertir el proceso sobre ‘VC++ MFC and Template Libraries’, ‘MS Foundation Class Libraries’, y allí seleccionar todas las opciones:
    • Static libraries
    • Shared libraries
    • Static libraries for Unicode
    • Shared libraries for Unicode
    • Browser database
    • Source code
  • Instalar la base de datos: ir desde el menú principal de ‘Custom’ y clickar sobre el texto de ‘Data Access’, y en la parte de la derecha se activará el botón ‘Change option’ en el que clikamos. Asegurarse de que ‘ADO, RDS and OLE DB Providers’ no está seleccionado. Sale un mensaje de que este componente es esencial para la aplicación, pero lo ignoramos, pues solo necesitamos que corra Visual Basic. Dejarlo marcado hace que la instalación falle. Seleccionar solo:
    • Microsoft ODBC Drivers
    • Remote Data Objects and Controls
    • Data environment
  • Instalar las herramientas: desde el menú principal de custom, clickar sobre el texto de ‘Enterprise Tools’, y en la parte de la derecha se activará el botón ‘Change option’ en el que clikamos. Asegurarse de que ‘Visual Studio Analyzer’ no está seleccionado. Seleccionar solo:
    • Aplication Performance Explorer
    • Repository
    • Visual Component Manager
    • Visual Basic Enterprise Components
    • VC++ Enterprise Tools
    • Microsoft Visual Modeler
  • Terminar la instalación, y no dejar que configure las variables de entorno.
    • Si pasan mas de 10 minutos y sigue configurando el sistema, asumir que se ha colgado. Cancelar, limpiar (ver borrar los ficheros de intentos de instalación anteriores de VB6) y empezar de nuevo.
    • Si sale un error actualizando la máquina de Java ignorarlo. Viene de haber eliminado la variable de path en el wizard. No permitirá instalar los discos de extras de MSDN, pero si ejecutar ‘Visual Basic’ en su versión mas simple.

Ejecutar la aplicación
Ejecutarla siempre en modo administrador (botón secundario sobre Visual Basic 6.0, ejecutar como administrador).

Para hacer correr una aplicación simple las dependencias necesarias en las referencias son:

  • Visual Basic for Applications
  • Visual Basic runtime objects and procedures
  • Visual Basic objects and procedures
  • OLE Automation
  • Microsoft Excel 15.0 Object Library
  • Microsoft Word 15.0 Object Library

Referencias:

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.