2008-08-23 7 views
8

Gran énfasis en simple. Nunca hice un instalador y preferiría no tener que aprender mucho. Un sistema al que podría entregarle una pila de archivos y sería una buena suposición sobre dónde colocarlos sería ideal.¿Cómo crear un sistema de instalación simple para VB6 en XP/Vista y más reciente?

Siga y responda la pregunta general.

Sin embargo, en mi caso, tengo algunas limitaciones adicionales. El programa que se instalará está escrito en VB6 (¿o es 5?) Y algunas versiones anteriores de VB, por lo que es no que va a actualizarse pronto. Tengo una instalación en ejecución y tendré una VM limpia con la que jugar. Haré un bucle de: ejecutar la instalación, encontrar dónde está roto, arreglarlo, agregar eso al instalador, revertir la máquina virtual, volver a intentarlo. Si alguien tiene un mejor enfoque, estoy abierto a sugerencias.

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

+0

posible duplicado de [¿Cuál es la mejor opción para crear instaladores de Windows?] (Http://stackoverflow.com/questions/3767/what-is-the-best-choice-for-building-windows-installers) – saschabeaumont

+0

@sascha No es un duplicado, porque la instalación de programas VB6 es un poco diferente a la instalación.Net programs – MarkJ

Respuesta

11

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

+0

Estoy usando Inno (no probé el otro) y me resulta fácil de usar. Aunque un poco ligero en los documentos. – BCS

+0

¡NSIS es excelente! Lo he estado usando por años. puedes hacer un instalador extremadamente simple pero también puedes involucrarte tanto como lo desees/necesites. – Nerdtron

4

Dependency Walker es muy útil para descubrir qué dll falta en el instalador. Una vez que conozca el dll, puede encontrar el módulo de fusión en el que está utilizando el Merge Module Finder.

+0

Dependency Walker was/Really/handy – BCS

1

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

5

He usado InnoSetup hace varios años, antes de Vista, y estaba muy contento con él en ese momento. Solo tenía algunos archivos para instalar y un ícono de menú de inicio. Funcionó muy bien, y fue fácil de aprender.

0

Mi consejo es esto. Intenta mantener el instalador lo más simple posible. Windows Installer es una pieza de software muy complicada y, cuando las cosas no funcionan bien, puede ser difícil averiguar qué está pasando. Estoy seguro de que todos hemos experimentado el ciclo infinito de Windows Installer tratando de reparar un archivo para el que ya no tiene el archivo .msi de origen.

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

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

Tenga en cuenta que la compatibilidad para la instalación de ensamblados en el GAC puede faltar para algunas herramientas de configuración que no sean de Windows Installer (como InnoSetup).

0

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

Cuando ejecuta el instalador de un único archivo (lo que normalmente haría), 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 permiten esto.

El autor es consciente de esto 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 indique a mis usuarios que apaguen sus programas antivirus durante la instalación. (Como que va a suceder)

+4

Eso es un problema con el software antivirus. Lo que está haciendo la configuración de INNO es algo perfectamente razonable y válido. También es superior a descargar todo en la carpeta temp y ejecutar desde allí. – bruceatk

1

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 ejecuta Windows 95. El mundo no es tan simple como lo era antes.

Hay muchas cosas que deben abordarse, y algunos de estos problemas de "instalación" significan también cambiar el programa. Por ejemplo, el concepto de "carpetas protegidas" que parecía nuevo para las personas cuando Vista UAC apareció en escena. Supongo que todos se estaban ejecutando como administradores o algo así. En su forma más simple, significa que ya no pone archivos grabables junto al EXE en Programas (también conocido como "Archivos de programa").

Otro factor es que la forma en que se usa el registro ha cambiado. No estoy hablando de virtualización de registro, aunque eso también es parte de esto. Pero el registro COM se puede hacer tanto por máquina como por usuario, e incluso desactivar el UAC puede hacer que esto no funcione. Ver Per-User COM Registrations and Elevated Processes with UAC on Windows Vista SP1. El resultado es que un paquete de instalación no debería ejecutar regsvr32 (o llamar al punto de entrada de autoregistro de una biblioteca COM). Consulte "Observaciones" en SelfReg Table.


instalador de Windows es la forma para seguir adelante 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 de MSI. Consulte "Servidores COM" en el artículo de VFP Using Microsoft Visual Studio Installer for Distributing Visual FoxPro 6.0 Applications 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 obtener los conceptos básicos correctos. Hacer cosas avanzadas como la creación de una subcarpeta [CommonAppData] y establecer los derechos de todos en él tiene que hacerse en un paso posterior a la construcción fuera del IDE. Ahí es donde las herramientas de terceros pueden ser útiles para darle más control sin recurrir a Orca o scripts de instalador posteriores a la construcción.

Los tipos que instalan "heredados" con guiones intentan mantener el ritmo, pero el guión se vuelve cada vez más complicado. Los resultados son a veces dudosos. Windows 7 presenta algunas nuevas arrugas propias.

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


Así que al final del camino "simple" para implementar programas de VB6 es probablemente va a ser paquetes xcopy COM libre de reg envueltos en un archivo EXE de extracción automática que disparan una secuencia de comandos para crear un acceso directo del menú Inicio . Si puedes vivir sin el atajo, esto es aún más fácil: ¡simplemente descomprime el paquete donde necesita ir!

Ver Make My Manifest o herramientas alternativas para el empaque COM sin registro.

Esto requiere que los sistemas de destino ejecuten XP (preferiblemente SP2) o posterior. El único error posible aquí es que XP no incluyó los tiempos de ejecución del V5 SP6 hasta XP SP3, por lo que primero querrá probar su programa contra los tiempos de ejecución del V5 SP5. Bien, una falla adicional: no puede usar ActiveX EXEs de esta manera, todavía requieren el registro.

Cuestiones relacionadas