Я собираю 32- и 64-битные версии моего установщика, используя один проект wix (с указанием параметра -arch свеча)
Я хочу избежать путаницы с клиентами и разрешить только 32-битные установки на 32 ОС инаоборот на 64 бит.Поверьте мне, для моих целей это имеет смысл.
Следующее условие ветвления не выполняется правильно при запуске 32-разрядной программы установки в 64-разрядной ОС.
<?if $(sys.BUILDARCH) = x64 ?>
<Condition Message="You are attempting to run the 64-bit installer on a 32-bit version of Windows.">
<![CDATA[VersionNT64]]>
</Condition>
<?else?>
<Condition Message="You are attempting to run the 32-bit installer on a 64-bit version of Windows.">
<![CDATA[NOT VersionNT64]]>
</Condition>
<?endif ?>
Однако я получаю ошибку установщика Windows при запуске 64-разрядной программы установки на 32-разрядной ОС.Ошибка следующая:
Произошла ошибка при установке пакета.Установщик Windows возвратил «1633»
Поиск этой ошибки дает то, что вы ожидаете:
Этот пакет установки не поддерживается на этой платформе.Обратитесь к поставщику приложения.
Похоже, что я сталкиваюсь со стандартной (очень плохой) ошибкой установщика Windows для «Вы используете неправильный установщик».
Можно ли как-нибудь правильно настроить мое состояние или это просто невозможно?