2011-01-11 10 views
7

Supongo que SÍ.¿Debería el WIX UpgradeCode ser diferente entre una versión x64 y una x86 de un producto?

Tengo un instalador para la versión x86, estoy construyendo el instalador para la versión x64.

Estoy tratando de descubrir las trampas. Hasta ahora, parece bastante sencillo. Siento que deberían ser diferentes UpgradeCodes. Necesitaré verificar la propiedad VersionNT64 dentro de una Condición para validar la instalación.


<Condition Message="This package can be installed only on an x64 version of Windows."> 
    VersionNT64 
</Condition> 

Cualquier otra pista?

Respuesta

5

Me gustaría decir que sí, probablemente debería tener diferentes códigos de actualización para los dos instaladores a menos que tenga una necesidad específica de que sean los mismos.

Uno de los casos que pienso que los códigos de actualización coincidentes pueden ser útiles es si anteriormente solo envió una versión x86 que fue capaz de instalarse tanto en sistemas operativos de 32 bits como de 64 bits. En tal caso, tener una versión x64 con el mismo código de actualización le permitiría manejar fácilmente las actualizaciones de la anterior x86 a la nueva versión x64 en los sistemas operativos de 64 bits.

Editar:

me olvidó mencionar que también se puede utilizar la propiedad "Msix64" para determinar valor de bits. Tampoco es necesario agregar una condición de instalación a la versión x64, ya que intentar instalarlo en un sistema operativo de 32 bits dará como resultado un mensaje de error del servicio Windows Installer.

Actualmente sólo utilizo una condición en la versión 86 del instalador

<Condition Message="You are attempting to install the x86 version in a 64-bit OS">NOT Msix64</Condition> 
0

Recuerdo que el código para la versión x86 se basaría en el código utilizado en algunos procesadores 80x86 y posteriores para las versiones de 16 a 32 bits, mientras que el x64 sería un código diferente para la implementación de 64 bits, asumiéndolo es x64 y no es un código IA-64 o Intel64. El cargador sería diferente y es posible que deba verificar el estado de los valores en el BIOS (si está presente) y algunas variables de entorno para determinar si el modo 32 o 64 bits está en funcionamiento en una computadora, incluido el que está desarrollando el cargador si es compatible con uno o ambos modos.

Cuestiones relacionadas