Требуется условие установки 64-битной ОС, не сбой на 32-битной ОС Windows - PullRequest
2 голосов
/ 10 июня 2011

Я собираю 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 для «Вы используете неправильный установщик».

Можно ли как-нибудь правильно настроить мое состояние или это просто невозможно?

1 Ответ

3 голосов
/ 10 июня 2011

MSI даже не откроет 64-битный пакет в 32-битной ОС, поэтому условия запуска даже не оцениваются. Короче говоря, нет, вы ничего не можете сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...