Error "Imagen no válida de Windows"

Espero puedan ayudarme con este problema.
En la empresa donde trabajo desarrollé un programa en VB6. Se creó el paquete de instalación con el asistente para Empaque y Distribución (Package and Deployment Wizard) y el programa se ha estado instalando vía intranet.
La cuestión es que algunas PC's, al momento de la instalación, presentan el siguiente mensaje de error:
"La aplicación o DLL C:\WINNT\SYSTEM32\VB6STKIT.DLL no es una imagen válida de Windows. Compruebe esto contra su diskette de instalación".
Acto seguido, la instalación se interrumpe y en ocasiones se inicia el asistente para desinstalar.
En la empresa se usa Win2000 Prof.
¿Puede alguien ayudarme a solucionar este problema.

1 respuesta

Respuesta
1
Haber si te puedo ayudar. Es posible que en ocasiones la instalación de cualquier programa en un equipo con Windows Me/2000 esté continuamente indicando que el equipo debe reiniciarse. El mensaje concreto que aparece es el siguiente: "Instalar no puede continuar porque algunos archivos del sistema no están actualizados...", y por más que se reinicia el sistema, siempre vuelve a dar el mismo mensaje. Este error es bastante frustrante y, según documentación leída en Microsoft, se debe a la imposibilidad de la actualización de ciertos archivos por parte del sistema operativo, que los mantiene en uso, mientras el instalador de Visual Basic insiste en que deben ser actualizados.
Conozco gente que ha resuelto el problema instalando una versión adecuada del Service Pack de Windows 2000, otros lo han conseguido con determinada versión del Service Pack de Visual Basic, ... en definitiva, depende mucho del sistema en particular y de lo que haya instalado en él.
Existe un fichero setup. Lst con cada instalación, hay que editarlo.
Buscar algo parecido a las siguientes líneas tras la sección de BOOTSTRAP [Bootstrap Files]
[email protected],$(WinSysPathSysFile),,,7/14/00 11:00:00 PM,101888,6.0.84.50
[email protected],$(WinSysPath),,$(Shared),10/1/00 11:00:00 PM,119568,6.0.89.88
[email protected],$(WinSysPathSysFile),$(DLLSelfRegister),,5/31/98 11:00:00 PM,22288,4.71.1460.1
[email protected],$(WinSysPathSysFile),$(TLBRegister),,8/24/01 4:00:00 PM,17920,3.50.5014.0
[email protected],$(WinSysPathSysFile),,,8/24/01 4:00:00 PM,77824,3.50.5014.0
[email protected],$(WinSysPathSysFile),$(DLLSelfRegister),,8/24/01 4:00:00 PM,106496,5.0.5014.0
[email protected],$(WinSysPathSysFile),$(DLLSelfRegister),,8/24/01 4:00:00 PM,569344,3.50.5014.0
[email protected],$(WinSysPathSysFile),$(DLLSelfRegister),, 8/24/01 4:00:00 PM, 1388544,6.0.92.37
A partir del File3 (incluido), cambiar el número de la versión a la 1.0.0.0 (es el último número que aparece), es decir, cambiar asycfilt, olepro32, oleaut32, comcat y stdole2 (msvbvm60 no hace falta). El resultado es:
[email protected],$(WinSysPathSysFile),,,7/14/00 11:00:00 PM,101888,6.0.84.50
[email protected],$(WinSysPath),,$(Shared),10/1/00 11:00:00 PM,119568,6.0.89.88
[email protected],$(WinSysPathSysFile),$(DLLSelfRegister),,5/31/98 11:00:00 PM,22288,1.0.0.0
[email protected],$(WinSysPathSysFile),$(TLBRegister),,8/24/01 4:00:00 PM,17920,1.0.0.0
[email protected],$(WinSysPathSysFile),,,8/24/01 4:00:00 PM,77824,1.0.0.0
[email protected],$(WinSysPathSysFile),$(DLLSelfRegister),,8/24/01 4:00:00 PM,106496,1.0.0.0
[email protected],$(WinSysPathSysFile),$(DLLSelfRegister),,8/24/01 4:00:00 PM,569344,1.0.0.0
[email protected],$(WinSysPathSysFile),$(DLLSelfRegister),,8/24/01 4:00:00 PM,1388544,6.0.92.37
Con eso yo he logrado que funcione en el 99% de los casos (encontré una instalación con 100 controles que no funcionó, posiblemente por alguno de esos 100 controles añadidos).
¿Qué hemos hecho? Según yo entiendo, hemos engañado al sistema operativo diciéndole que las versiones necesarias para la instalación son las 1.0.0.0. Como el sistema operativo tiene versiones superiores, no intenta instalar las del instalador, con lo que la instalación sigue normalmente.
Puede parecer que entonces el programa no debería trabajar bien, al tener versiones diferentes: la realidad es que nunca se ha quejado ningún programa por esto, posiblemente porque las versiones de Windows 2000 sean superiores a las que trae el instalador de Visual Basic (recordemos que Visual Basic 6 salió allá por 1998, creo recordar), y en ese caso las versiones superiores casi siempre son compatibles con versiones anteriores (no al contrario, por supuesto).
Venga chao y suerte. ;)
Muchas gracias. Revisaré las opciones que me presentas y espero seguir contando con tu ayuda por si se presenta algún otro problema. Gracias nuevamente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas