InstallShield LE "Другая версия этого продукта уже зарегистрирована" - PullRequest
8 голосов
/ 09 февраля 2011

Я сталкиваюсь с препятствиями, используя InstallShield LE в VS2010. Во второй раз запустив получившийся файл setup.exe (с увеличенными номерами версий), я получаю сообщение об ошибке

Другая версия этого продукта уже зарегистрирован

Под "увеличенными номерами версий" я подразумеваю, что я изменил Малую версию, Номер сборки и Редакцию на большие номера в AssemblyVersion и AssemblyFileVersion моего .exe (библиотеки DLL установлены на "1.0. *")

[assembly: AssemblyVersion("0.2.103.005")]
[assembly: AssemblyFileVersion("0.2.103.005")]
[assembly: AssemblyInformationalVersion("Alpha 0.1 - 2/8/2011")]

, а также обновил версию продукта на вкладке «Общая информация» проекта установки Installshield LE с 0.10.0000 до 0.11.0000.

Я встречал случаи этого сообщения об ошибке в других публикациях SO и на форуме поддержки сообщества производителя, но не нашел решения, подходящего для меня.

Ответы [ 3 ]

12 голосов
/ 13 февраля 2011

Получается, что ответом является создание записи на вкладке Upgrade Paths. Когда вы это сделаете, InstallShield LE откроет диалоговое окно выбора файла. Если у вас есть старый установщик, возможно, вы можете перейти к нему, чтобы получить информацию о том, с какой версии вы хотите обновить его. В моем случае у меня не было под рукой старого установщика, поэтому я нажал «Отмена», и новая запись «Пути обновления» была создана в любом случае. Затем я изменил свойства этой записи, чтобы указать минимальную и максимальную версию для обновления, и все заработало как положено.

EDIT

(из комментария @ lookatmike)

Вы также должны изменить версию продукта и (несколько нелогично) код продукта на вкладке общей информации. Код обновления должен оставаться прежним.

7 голосов
/ 18 марта 2012

ОК - эта проблема сводила меня с ума, - и я не нашел идеального ответа в Интернете.

Поэтому я решил, что все закончилось.

Возможно, это не «ЛУЧШИЙ» способ решения проблемы - я уверен, что есть какой-то изощренный способ «справиться с этим» на основе MSI, но я не смог понять это (думаю, яя тупой?)

По сути, мой установщик просто устанавливает .NET и копирует некоторые файлы в каталог Program Files, добавляет некоторые записи реестра, ярлыки и т. д.

Если у вас естьболее сложная процедура установки - я бы посоветовал вам найти «правильный» ответ в другом месте.Но для чего-то простого, как у меня (и я подозреваю, что 95% людей, борющихся с этой проблемой), это работает просто отлично.

Сначала - НИКОГДА не трогайте «Код продукта».Я считаю, что это правильная процедура для MSI по всем направлениям ... вы не должны менять код продукта.И это решение также зависит от этого.

Далее - Скопируйте код продукта в буфер обмена - он понадобится нам через секунду.

По сути, мы скажем InstallShield:ВСЕГДА УДАЛЯЙТЕ ПРОДУКТ, если он уже существует на компьютере.

enter image description here

enter image description here

Если вы или ваши партнеры когда-либо запускали установку БЕСПЛАТНО - убедитесь, что высделать это в обоих местах:

enter image description here

В поле «Имя файла и командная строка» введите:

msiexec /uninstall {YOUR PRODUCT CODE HERE} /passive

Вот и все.Теперь ваш установщик всегда удалит старую версию.

ПРИМЕЧАНИЕ. ЭТО ОТКЛЮЧАЕТ ЛЮБОЙ ВИД: «У меня установлена ​​более новая версия программы установки» ПРОВЕРЬТЕ.

0 голосов
/ 23 января 2018

Я часто использую свои проекты Visual Studio и получаю эту проблему. Как сказал @ Eric-j, мне пришлось изменить код продукта на вкладке «Общая информация» проекта установки VS:

enter image description here

...