El instalador de Visual Basic si funciona, solo hay que hacer algunos arreglos.
La causa del su principal problema es que cuando sale un aviso con algo parecido a esto:
"Los archivos del sistema no están actualizados, debe reiniciar Windows e intente instalar el programa nuevamente"
En inglés aparece algo así:
System Files Are Out of Date
Y al reiniciar Windows e intentar instalar nuevamente la aplicación, se repite el error nuevamente, no importa cuantas veces intentes la instalación.
En el sitio de Microsoft dan varias razones para el problema, pero ninguna solución práctica.
Al parecer el problema se debe a que Win2000, WinMe y WinXP tienen un mecanismo de autorrecuperación cuando se actualizan los archivos del sistema.
Al revisar los archivos que se generan durante la instalación encuentro que hay una serie de ellos con nombres como estos:
ST6UNST.000, ST6UNST.001, ST6UNST.002, ST6UNST.003 ó más dependiendo de cuantas veces trataste de instalar el programa.
En estos archivos viene información de que archivos se copiaron o actualizaron, con datos como lo que sigue:
ACTION: SystemFile: "C:WINNTsystem32OLEAUT32.DLL"
(No se puede encontrar el archivo o es de una versión antigua; se ha copiado el archivo nuevo)
Revisando los últimos archivos con números más altos (ST6UNST.003) se observa que se repite la copia de archivos una y otra vez.
La solución que encontré es que el instalador tenga los archivos con una versión igual a la de Win2000, ya que este Windows es el que tiene las versiones de archivos más antiguos.
Coloqué este tipo de archivos en el directorio:
C:Archivos de programaMicrosoft Visual StudioVB98WizardsPDWizardRedist
El programa de instalación tomará los archivos del anterior folder.
Las versiones antiguas de los siguientes archivos o en su caso las que existen en el Windows donde deseas instalar, en el caso el Win2000
OLEAUT32.DLL 2.40.4512.0
OLEPRO32.DLL 5.0.4512.0
STDOLE2.TLB 2.40.4512.0
ASYCFILT.DLL 2.40.4514.0
EXPSRV.DLL 6.0.8540
MFC40.DLL 4.1.0.6140
MSVCRT.DLL 6.1.8637.0
MSVCRT40.DLL 4.22.0000
Estas versiones son las que se encuentran en Win2000pro
Si aún no puedes instalar. Cuando te pregunte si quieres reiniciar la computadora para actualizar los archivos elige NO, y revisa el último archivo de instalación ST6UNST.00x y verifica en que línea dice algo así, como anteriormente lo expliqué.
ACTION: SystemFile: "C:WINNTsystem32expsrv.dll"
(No se puede encontrar el archivo o es de una versión antigua; se ha copiado el archivo nuevo)
Procede a copiar el archivo que te diga desde el equipo con Win2000 a el folder C:...PDWizardRedist
Espero esta información esté lo suficientemente explicada.