Installshield 2011 - Проблема Обновление существующего программного обеспечения с версией формата 2009.727.1365 - PullRequest
0 голосов
/ 23 сентября 2010

Используя Installshield 2011, мы создаем серьезное обновление, и у нас возникают проблемы при обновлении программного обеспечения с использованием этого формата версии продукта - 2009.727.1365.Мы продолжаем получать стандартное сообщение «Установленное программное обеспечение новее, чем устанавливаемый продукт».В IS 2011 основная версия должна быть меньше 255, насколько я могу судить, и я думаю, что старый формат, который мы используем, нарушает проверку на обновление.

Я создал тест ISобновление проекта с 1.00.0000 до 2.00.0000 без проблем, поэтому я думаю, что проблема должна быть связана с форматом уже установленной версии продукта.

Есть ли способ использовать InstallScript или что-то ещесравнить наш старый формат с новым, а затем выполнить переопределение?

Любая помощь будет принята с благодарностью.Заранее спасибо !!

** В итоге я воспользовался ответом Кристофера по ссылке, которую он предоставил ниже (Превышение ограничений версии).Похоже, это очень хорошо справлялось с удалением существующего продукта.Еще раз спасибо, ребята!

Ответы [ 3 ]

3 голосов
/ 23 сентября 2010

Звучит так, как если бы вам нужно было удалить или изменить элемент основного обновления ISPreventDowngrade, который обнаруживает и предотвращает снижение версии этого типа (и обычно это то, что нужно).

(здесь также размещено продолжение вопроса: http://community.flexerasoftware.com/showthread.php?t=195076.)

1 голос
/ 23 сентября 2010

Ваше ProductVersion свойство недействительно. В SDK написано:

Значением свойства ProductVersion является версия продукта в строковом формате. Это свойство ТРЕБУЕТСЯ.

Формат строки следующий:

major.minor.build Первое поле является основной версией и имеет максимальное значение 255. Второе поле является вспомогательной версией и имеет максимальное значение 255. Третье поле называется версией сборки или версией обновления и имеет максимальное значение 65 535.

Я также рекомендую прочитать Превышение ограничений версии .

Есть обходные пути, если вы понимаете, как работают FindRelatedProducts и RemoveExistingProducts.

0 голосов
/ 13 марта 2013

Несмотря на то, что это старше, я хотел бы добавить свои два цента.Я создаю проект Installshield 2012 Spring, и у меня была та же проблема.Наши предыдущие установщики имели версию продукта в формате 2005.xx.xxxx.Очевидно, что этот 2005 год был проблемой.

Вместо того, чтобы устанавливать для свойства ISACTIONPROP1 любое значение (как упомянуто в http://community.flexerasoftware.com/showthread.php?195076-Old-Product-version-in-2009-727-1365-format)., я добавил основной элемент обновления со следующими значениями:

Продукткод старых инсталляторов: xxx (введите свой здесь) Минимальная версия: 2005.001.0001 Максимальная версия: 2005.255.65535 Диапазон версий включительно (может быть излишним)

При этом система разрешает 2005.xxx.Формат xxxx здесь. Он обнаружил и удалил предыдущую установку. Для наших более новых установок мы будем использовать наши «нормальные» версии:

5.008.0001 5.009.0001 ...

...