¿Cómo crear un sistema de instalación simple para VB6 en XP/Vista y versiones posteriores?[cerrado]

StackOverflow https://stackoverflow.com/questions/23836

  •  09-06-2019
  •  | 
  •  

Pregunta

Gran énfasis en lo simple.Nunca he creado un instalador y prefiero no tener que aprender mucho.Lo ideal sería un sistema al que pudiera entregarle un montón de archivos y que hiciera algunas suposiciones inteligentes sobre dónde colocarlos.

Continúe y responda la pregunta general.

Sin embargo, en mis casos tengo algunas limitaciones adicionales.El programa a instalar está escrito en VB6 (¿o es 5?) y algunas versiones anteriores de VB, por lo que es no Se actualizará pronto.Tengo una instalación en ejecución y tendré una máquina virtual limpia para jugar. Así que haré un bucle de:ejecute la instalación, encuentre dónde está roto, arréglelo, agréguelo al instalador, revierta la VM, intente nuevamente.Si alguien tiene un enfoque mejor, estoy abierto a sugerencias.

I DEBE hacerlo funcionar en XP y realmente me gustaría tener algo que funcione también en versiones más nuevas de Windows.

¿Fue útil?

Solución

InnoConfiguración o NSIS, lo que te parezca más fácil. ISherramienta es una buena herramienta GUI para InnoSetup que facilita aún más la creación de scripts de configuración.

Otros consejos

Utilicé InnoSetup hace varios años, antes de Vista, y entonces estaba muy contento con él.Sólo tenía que instalar unos pocos archivos y un icono del menú Inicio.Funcionó muy bien y fue fácil de aprender.

Caminante de dependencia es muy útil para descubrir qué dll falta en el instalador.Una vez que conozca el dll, puede encontrar en qué módulo de combinación se encuentra usando el Buscador de módulos de fusión.

He trabajado con NSIS y superar algunas de sus complejidades menores es un sistema fantástico.Es gratis, ofrece toneladas de posibilidades de complementos y logré hacer todo lo que necesitaba.

Crear un paquete de instalación completo para un programa es casi un tema en sí mismo.Hay muchos factores a considerar y la mayoría de nosotros ya no ejecutamos Windows 95.El mundo no es tan simple como antes.

Hay muchas cosas que deben abordarse y algunas de estas cuestiones de "configuración" también implican cambiar el programa.Por ejemplo, el concepto de "carpetas protegidas" que parecía nuevo para la gente cuando Vista UAC entró en escena.¿Supongo que todos se estaban ejecutando como administradores o algo así?En su forma más simple, significa que ya no coloca archivos grabables junto al EXE en Programas (también conocido como "Archivos de programa").

Otro factor es que ha cambiado la forma en que se utiliza el registro.No me refiero a la virtualización del registro, aunque eso también forma parte de ello.Pero el registro COM se puede realizar tanto por máquina como por usuario e incluso desactivar UAC puede arruinar esto.Ver Registros COM por usuario y procesos elevados con UAC en Windows Vista SP1.El resultado es que un paquete de instalación no debería ejecutar regsvr32 (o llamar al punto de entrada de autorregistración de una biblioteca COM).Consulte "Observaciones" en Tabla de autorregistración.


El instalador de Windows es el camino a seguir en la mayoría de los casos.Los programadores de VB6 tienen Visual Studio Installer 6.0 versión 1.1 disponible como descarga gratuita para crear paquetes MSI.Consulte "Servidores COM" en el artículo de VFP. Uso del instalador de Microsoft Visual Studio para distribuir aplicaciones de Visual FoxPro 6.0 para obtener información valiosa.

Esta no es la opción más fácil, pero hay un asistente de configuración de VB en VSI 1.1 para ayudar a entender bien los conceptos básicos.Hacer cosas avanzadas como crear una subcarpeta [CommonAppData] y configurar los derechos de todos debe realizarse en un paso posterior a la compilación fuera del IDE.Ahí es donde las herramientas de terceros pueden resultar útiles para brindarle más control sin tener que recurrir a Orca o scripts de instalación posteriores a la compilación.

Los tipos que crean instaladores "heredados" con scripts intentan mantenerse al día, pero los scripts se vuelven cada vez más complicados.Los resultados a veces son dudosos.Windows 7 introduce algunas novedades propias.

Si bien ClickOnce no es realmente la mejor opción para VB6, nada dice que no pueda usar COM sin registro para instalaciones XCopy de muchos programas.COM sin registro puede incluso ser una buena opción para usar en un paquete de instalación.


Entonces, al final, la forma "más simple" de implementar programas VB6 probablemente serán paquetes COM XCopy sin registro envueltos en un EXE autoextraíble que activará un script para crear un acceso directo al menú Inicio.Si puedes vivir sin el atajo esto es aún más fácil:¡simplemente descomprima el paquete donde debe ir!

Ver hacer mi manifiesto o herramientas alternativas para empaquetado COM libre de registros.

Esto requiere que los sistemas de destino ejecuten XP (preferiblemente SP2) o posterior.El único problema posible aquí es que XP no incluyó los tiempos de ejecución de VB6 SP6 hasta XP SP3, por lo que primero querrá probar su programa con los tiempos de ejecución de VB6 SP5.Bueno, un fallo más:No puedes usar ActiveX EXE de esta manera, aún requieren registro.

Mi consejo es este.Intente mantener el instalador lo más simple posible.Windows Installer es un software muy complicado y cuando las cosas no funcionan bien puede resultar difícil saber qué está pasando.Estoy seguro de que todos hemos experimentado el bucle sin fin en el que Windows Installer intenta reparar un archivo para el que ya no tienes el archivo fuente .msi.

La mayoría de las veces, usar Windows Installer es como usar un mazo para romper una nuez.

Utilizo InnoSetup para mis propias cosas e InstallShield en el trabajo (en contra de mi voluntad).Comience con un instalador simple basado en script y use Windows Installer solo si tiene una buena razón para hacerlo.

Tenga en cuenta que es posible que falte soporte para instalar ensamblados en el GAC para algunas herramientas de configuración que no son de Windows Installer (como InnoSetup).

I usado para AMAR Inno Setup.Énfasis en "solía".

Cuando ejecuta el instalador de un solo archivo (lo que haría normalmente), descomprime el programa de instalación real en una carpeta debajo de la carpeta temporal y luego intenta ejecutarlo.El problema es...Algunos programas antivirus no lo permiten.

El autor es consciente de ello y se niega a hacer nada al respecto.El nombre de la carpeta es aleatorio, por lo que no se puede agregar a ninguna lista de exenciones que pueda usar su programa antivirus.

De nuevo.El autor es consciente de esto y sugiere que les diga a mis usuarios que apaguen sus programas antivirus durante la instalación.(Como si eso fuera a pasar)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top