Мы разработали проект с использованием InstallScript MSI Project в Installshield 2008 Premier Edition. В проекте мы добавили условие, чтобы старая версия не была установлена на более высокую версию.
Проблема, с которой мы сталкиваемся, заключается в рассмотрении нового проекта, в котором версия продукта будет 1.0.0925.1 и добавлено условие, чтобы избежать более высокой версии по сравнению с более низкой. Чтобы добавить это условие, я получил его по ссылке выше; наряду с этим на вкладке «Общие» основного обновления я включил запрос на обновление; потому что в будущем новая установка будет поставляться с 1.0.0925.2, она должна запросить обновление.
Теперь я создам новую настройку с версией продукта 1.0.0925.2 и на вкладке Common Major Upgrade я отключу приглашение, потому что; если пользователь пытается установить 1.0.0925.1 поверх 1.0.0925.2, он не должен разрешать; в этом случае он работает нормально; появляется сообщение «Другая версия этого продукта уже установлена. Установка этой версии не может быть продолжена. Чтобы настроить или удалить существующую версию этого продукта, используйте« Установка и удаление программ »на панели управления. {2D0E6C46-1CC2-4174-8AAC -0B39312D8ECE} "
Теперь через несколько дней произойдут изменения, и снова будет создана другая установка с версией 1.0.0925.3, в которой запрос на обновление будет отключен. Теперь я пытаюсь установить 1.0.0925.3 поверх 1.0.0925.2, очевидно, он должен получить обновление; но здесь возникает проблема, вместо того, чтобы спрашивать: «Программа установки выполнит обновление», она говорит: «Другая версия этого продукта уже установлена. Установка этой версии не может быть продолжена. Чтобы настроить или удалить существующую версию этого продукта, используйте« Добавить / удалить ». Программы на панели управления. {2D0E6C46-1CC2-4174-8AAC-0B39312D8ECE} "
То есть он не позволяет обновиться, так как я отключил приглашение 1.0.0925.2. Если я включу это, то любая настройка будет запускаться каждый раз, когда она будет запрашивать обновление, либо она установлена на более низкую версию над более высокой версией или более высокую версию над более низкой версией.
Даже я думал о проверке версии продукта в Installscript, но я не знаю, как подойти, даже если мне удалось получить версию продукта уже установленной установки, а также текущую текущую настройку. но как мне изменить подсказку об обновлении во время выполнения, поскольку оно задано во время разработки.