Должен ли WIX UpgradeCode отличаться от x64 и x86 версии продукта?

Я принимаю ДА.

У меня есть программа установки для x86-версии, я строю установщик для версии x64.

Я пытаюсь выяснить, что случилось. Пока это выглядит довольно просто. Я чувствую, что они должны быть разными UpgradeCodes. Мне нужно проверить свойство VersionNT64 в состоянии Условие для проверки установки.

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

Любые другие подсказки?

2 ответа

Я бы сказал, что да, вероятно, у вас должны быть разные коды обновления для двух инсталляторов, если у вас нет необходимости в том, чтобы они были одинаковыми.

В одном сценарии я могу подумать о том, когда подходящие коды обновления могут быть полезны, если вы ранее отправили только версию x86, которая была установлена ​​на 32-разрядных и 64-разрядных операционных системах. В таком случае наличие x64-версии с таким же кодом обновления позволит вам легко обрабатывать обновления от старой x86 до новой версии x64 в 64-разрядных операционных системах.

Edit:

Я забыл упомянуть, что вы также можете использовать свойство "Msix64" для определения битности. Также не нужно добавлять условие установки к версии x64, так как попытка установить его в 32-разрядной ОС приведет к сообщению об ошибке из службы установщика Windows.

В настоящее время я использую только одно условие в версии установщика x86

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


Из моего отзыва я могу сказать, что код для версии x86 будет основан на коде, используемом на некоторых процессорах 80x86 и более поздних версий для 16 - 32-битных версий, в то время как x64 будет другим кодом для 64-битной реализации, поскольку он x64, а не IA-64 или Intel64. Загрузчик будет отличаться, и вам может потребоваться проверить состояние значений в BIOS (если имеется) и некоторые переменные среды, чтобы определить, работает ли 32 или 64-битный режим на компьютере, включая тот, который вы разрабатываете загрузчик, если он поддерживает один или оба режима.

licensed under cc by-sa 3.0 with attribution.