Проверка в WiX, является ли ОС Windows 2003 (32-разрядная или 64-разрядная) или Windows 2008 (64-разрядная) - PullRequest
1 голос
/ 08 июня 2011

Я пишу WiX установщик, который должен устанавливаться только в Windows 2003 (32 или 64-разрядная версия) или Windows 2008 (только 64-разрядная версия). У меня есть условие ниже, но оно не работает. Почему?

Installed AND (VersionNT = 502 OR (VersionNT = 600 AND VersionNT64 > 0))

Ответы [ 2 ]

4 голосов
/ 08 июня 2011

Попробуйте следующее условие:

VersionNT = 502 OR (VersionNT = 600 AND VersionNT64)

Первая часть выбирает Windows Server 2003 (любой), вторая часть выбирает Windows Server 2008 x64 (а также Windows Vista).

Ваше условие запуска должно оцениваться как истинное для запуска установщиком. Installed свойство будет установлено, только если ваш продукт уже установлен.


Возможно, вы захотите включить проверку того, что ваш пакет установлен на серверной ОС:

MsiNTProductType > 1

См. Таблицу Значения свойств операционной системы . См. Описание MsiNTProductType объекта .

0 голосов
/ 09 июня 2011

Попробуйте этот код

<Package InstallerVersion="200" Compressed="yes" Platform="x64" />

Добавьте приведенный выше код в файл Product.wxs. Число рассчитывается как мажор * 100 + минор. Таким образом, 2,0 - это 200, 3,0 - это 300, 4,5 - это 405 и 5,0 - это 500.

Следовательно, согласно вашему требованию, вы можете установить число в свойстве InstallVersion

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