2009-09-14 12 views
10

¿Cuál es la mejor manera de usar InstallShield para generar instaladores para entornos de 32 y 64 bits? La mayoría de mi aplicación es bit neutral (.net, Java, archivos de datos). Preferiría que solo tuviera que empacar esos archivos una vez. ¿Existe un enfoque estándar para reducir el mantenimiento de los proyectos de Installshield? Actualmente, la única solución que puedo encontrar es tener dos proyectos duplicados, donde cada uno de los componentes se marca con 64 bits y el directorio de instalación predeterminado se establece en ProgramFiles64. ¡Debe haber una mejor manera de hacer esto!Installshield configuración del proyecto de 64 bits

Solo una pequeña parte de mi aplicación se preocupa por cómo se están ejecutando los bits. Tenemos algunas DLL C++ y llamadas JNI que deben ser diferentes. La mayor parte de esto se determina en tiempo de ejecución comprobando si el JRE en el que nos estamos ejecutando es de 64 bits.

Me gustaría evitar la distribución de dos archivos de 130 MB, e idealmente enviar un archivo zip grande que tenga ambos instaladores, cada uno haciendo referencia a los componentes comunes. ¿Necesito crear módulos de fusión para las cosas comunes y hacer referencia a ellas en cada uno de los proyectos?

Estamos utilizando InstallShield 2009 (Premier) si eso es importante.

Respuesta

7
  • Si puede llegar a tener cero componentes de 64 bits en su configuración, a continuación, puedes convertirlo en un dispositivo 100% de 32 bits, y funcionará igual de bien en 32 bits y de 64 poco de Windows.

  • Si eso no es posible, recomiendo usar los indicadores de configuración del producto. En la vista "Versiones", cree varias configuraciones de producto, como "XP32" y "XP64". Marque el campo Resumen de plantilla según corresponda: uno como "Intel; 1033" y el otro como "AMD64; 1033". Asociar cada una con una Bandera de configuración de producto única para identificarla, p. "xp32", "xp64". Luego, para cada característica, configure la bandera de liberación adecuada. Puede establecer la propiedad de 64 bits en sus componentes de 64 bits según sea necesario; solo asegúrese de que las características que marca como "xp32" no tengan componentes de 64 bits. Esto le permitirá tener solo 1 archivo de proyecto InstallShield, pero generar lanzamientos de 32 bits y de 64 bits.

+0

¿Hay alguna manera de configurar el directorio de instalación en un valor diferente para cada configuración de producto? No veo ninguna opción para eso. Quiero configurarlo en ProgramFiles en 32 bits y ProgramFiles64 en 64 bits para que siempre aparezca como el usuario final instalado en C: \ Archivos de programa. – galuvian

+4

En la vista Información general/Propiedades del producto, configure INSTALLDIR en ProgramFilesFolder. A continuación, cree una acción personalizada "Establecer directorio" (escriba 35) y utilícela para configurar INSTALLDIR en ProgramFiles64Folder; condicionarlo en VersionNT64 por lo que solo se ejecuta en sistemas de 64 bits. Esto es lo que hago para usar 1 archivo de proyecto para crear configuraciones bot de 32/64 bits. –

+0

Esta es una respuesta anterior, pero espero que aún esté al tanto. Por lo que puedo ver, InstallShield 2014 NO tiene el campo 'Resumen de Plantilla 'en la vista de Versiones. ¿Cómo puedo tener x32 AND x64 del mismo archivo ISM? – Uri

0

Si utiliza un único proyecto de instalación de 32 bits como se menciona en este hilo, es posible que encuentre problemas al ejecutar los procesos de 32 bits en sistemas de 64 bits, dependiendo de lo que está haciendo. Como su configuración es un proceso de 32 bits, el sistema operativo asume que necesita usar recursos de 32 bits. En máquinas de 64 bits, tienes ambas. Por ejemplo, system32 y SysWOW64. (Por extraño que parezca, el sistema32 aloja los recursos de 64 bits mientras que el SysWOW64 es de 32 bits). Puede obligar al sistema operativo a utilizar los recursos de 64 bits mediante el redirector de sistema de archivos SYSNATIVE. Encontré esto útil al configurar IIS usando DISM.exe o PKGMGR.exe en Windows Server 2008R2 y 2012.

Cuestiones relacionadas