Можно ли использовать логический или или отрицать условие в Prqs installshield 2012?

StackOverflow https://stackoverflow.com//questions/12696489

Вопрос

У меня есть PRQ, который устанавливает MS SQL Shared объекты управления . У меня есть состояние, которое устанавливает PRQ, если этот реестр не существует

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{08ECC740-2B3E-45D7-860C-59B511386286}
.

Это работает нормально, пока пользователь не будет установлен с другим кодом продукта - это происходит с нашей командой Dev, все время, когда они устанавливают SQL2008. Установщик PRQ начнет существует с ошибкой.

Мне нужно лучшее состояние. Что я хотел бы сделать: Если (версия <= w.x.y.z || не найдена версия) Затем установите PRQ

в installedshield Предварительный вариант редактора он говорит

Следующие условия должны быть выполнены для предварительного условия для запуска. Здесь вы можете определить ключевые ключи файлов и реестра, что предварительное условие будет Ищите, чтобы определить, следует ли его запустить. Если нет Условия, предпосылкой всегда будет работать.

Это согласуется с моими выводами - условия находятся вместе. Есть ли несколько неопубликованных соус или или отрицательных условий в XML? Я передан прямо сейчас, потому что хочешь запустить PRQ, если версия в реестре <что я устанавливаю.

<conditions>
    <condition Type="32" Comparison="2" 
       Path="HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\SharedManagementObjects\CurrentVersion" 
       FileName="Version" ReturnValue="10.1.2531.0">
    </condition>
</conditions>
.

Тип="32" - «запись реестра имеет указанное значение версии» Сравнение= «2» - «данные о целевой системе меньше указанных данных»

Боковой вопрос: есть ли место, где перечислены типы и сравнения?

Этот тип сравнения не имеет сравнения с состояниями «данные о целевой системе», меньше указанных данных или не существует '. Как сейчас, если ключ существует на более низкой версии вещей работы - но если ключ не существует (I.E. SMO не установлен) PRQ не установлен.

Есть ли способ сделать эту работу? Условие «Файл с определенной версией существует, имеет значение, если версия файла меньше, чем версия, указанная выше (или файл, не найден в целевой системе). Но это не будет работать, чтобы проверить файл, установленный SMO - пользователь, возможно, установил его на некотором диске, отличном от C :.

Я надеюсь, что я что-то упускаю. Чтобы ты делал?

Это было полезно?

Решение

Что я обычно делаю, не использует абстрактные вещи, такие как записи ARP, чтобы обнаружить зависимость.Я иду на саму зависимость.Если вам нужна DLL, потом посмотрите, если DLL там вместо того, чтобы беспокоиться о том, чтобы обнаружить что-то, что должно было установить DLL.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top