2011-09-28 13 views

Respuesta

6

para responder a mi propia pregunta, lo que resulta que en realidad era el equivocado para pedir, la documentación de MSDN para la propiedad ProductCode dice:

Las versiones de 32 bits y 64 bits de paquete de una aplicación debe tener asignados diferentes códigos de producto.

Resulta que estaba confundido por el hecho de que pensé que el código de producto nunca debería cambiar. Esto está mal. De nuevo:

La propiedad ProductCode es un identificador único para la versión del producto en cuestión. Esta identificación debe variar para diferentes versiones e idiomas.

3

En primer lugar me gustaría hacer un guardia así por el instalador de 32 bits:

<Condition Message="This installer does not support 64-bit Windows! "> 
    <![CDATA[NOT VersionNT64]]> 
</Condition> 

y esto por el instalador de 64 bits:

<Condition Message="This installer does not support 32-bit Windows! "> 
    <![CDATA[VersionNT64]]> 
</Condition> 

Pero volviendo a tu pregunta. Recomiendo que establezca Id de producto en "*". Esto asegura que cada compilación crea un nuevo GUID. Siempre puede encontrar este GUID, si desea crear un parche, usando Orca.

El valor importante es UpgradeCode. Este GUID crea un enlace entre versiones. Recomendaré un UpgradeCode para todos sus instaladores de 32 bits y otro UpgradeCode para todos sus instaladores de 64 bits.

+3

Windows Installer no permite ejecutar paquetes de 64 bits en sistemas operativos de 32 bits. Por lo tanto, este último no es necesario: el usuario nunca verá su mensaje de error. –

+0

¿Por qué quiero el primer guardia? ¿Me está impidiendo instalar una versión de 32 bits del producto en ventanas de 64 bits? ¿O estoy malinterpretando lo que hace? Si eso es lo que está tratando de hacer, entonces ¿por qué no quiero eso? –

+0

Debe evitar que las personas instalen tanto una versión de 32 bits como una versión de 64 bits de su producto en un cuadro de Win 64 –

Cuestiones relacionadas