2010-05-15 13 views
9

Tengo una aplicación .NET que se ejecuta tanto en x86 como en x64. Me gustaría tener un instalador de WiX de 32 bits que funcione en ambas plataformas, pero me gustaría instalarlo en/Archivos de programa/en lugar de/Archivos de programa (x86)/en sistemas operativos de 64 bits.Instalador de WiX que siempre se instala en el directorio "Archivos de programa" en x86 y x64

¿Cómo se hace esto?

Actualización:

Mi idea era para asignar el valor ProgramFilesFolder o ProgramFiles64Folder a mi propiedad, dependiendo de si se trataba de un entorno de 64 bits o no, y luego usar ese valor de propiedad en el directorio.

Tengo muy poca experiencia con WiX, por lo que si esta idea es posible, no tengo ni idea. Si es así, ¿qué probarías para ver si se trata de un entorno x64? Además, ¿cómo asignaría un valor de propiedad desde ProgramFilesFolder o ProgramFiles64Folder según la prueba de entorno anterior de 64 bits?

¡Se agradece cualquier ayuda!

+0

¿Alguna vez encontró una solución? – dan9298

Respuesta

2

acabo de encontrar esto, he intentado su idea exacta y no dados. No puede acceder al ProgramFiles64Folder a menos que esté ejecutando un instalador de 64 bits.

Me he dado por vencido y solo estoy instalando mi componente de 64 bits en ProgramFilesFolder. No es tan bonito estéticamente pero funciona :)

0

MSI no es compatible con la instalación de paquetes de 32 bits en directorios de 64 bits.

+1

heh, como sabes, hay formas.

+2

No es un paquete de 32 bits. El autor afirma que el programa está escrito en .NET (y supongo que está apuntando a CUALQUIER CPU, ya que es el predeterminado, y el más común). Con un ejecutable .NET o una biblioteca que se dirige a CUALQUIER CPU: en una máquina de 32 bits, cuando se ejecuta, el compilador JIT genera código de 32 bits para ejecutar y en una máquina de 64 bits cuando se ejecuta, el JIT compilador generará código de 64 bits para ejecutar. Tiene mucho sentido, que siempre querría instalarlo en "C: \ Archivos de programa", y nunca "C: \ Archivos de programa (x86)". – BrainSlugs83

+4

Windows Installer no es compatible con el concepto AnyCPU; los paquetes son explícitamente de 32 bits o explícitamente de 64 bits. –

Cuestiones relacionadas