Installshield Basic MSI Установка строго для 32-разрядных
У меня есть решение с несколькими dll, которые являются 64-битными или 32-битными, которые я хочу развернуть с помощью установщика. У меня есть два основных проекта MSI в InstallShield 2012, один для 32-битных систем, а другой для 64-битных систем. У меня также есть требование, чтобы 64-разрядный установщик не работал на 32-разрядных системах, и наоборот.
Ограничить 64-битный установщик для 64-битных систем легко, но я не смог определить, находится ли он в 32-битной системе.
Вот решения, которые я уже попробовал:
Проверка свойств установщика Windows:
- NOTintel64 (не работает, так как относится к процессору, а не к ОС)
- VersionNT64 = что угодно (не работает, так как значение не определено для 32-битных систем)
Кроме того, мне известна переменная окружения PROCESSOR_ARCHITECTURE, которая содержит x86 для 32-битной ОС, но я не смог найти способ прочитать ее в проекте Basic-MSI.
1 ответ
Вы пробовали "Not VersionNT64" в качестве условия запуска в вашей установке x86? Это прекрасно работает, чтобы запретить установку в системе x64. В этом условии нет "= что бы то ни было". На x86 он не определен, что означает, что это false, что означает, что условие запуска оценивается как true только в системах x86.