MSI Installer завершается неудачно без удаления предыдущей установки - PullRequest
9 голосов
/ 03 сентября 2008

Я создал MSI, который я хотел бы развернуть и часто обновлять. К сожалению, когда вы устанавливаете MSI, а затем пытаетесь установить более новую версию того же MSI, происходит сбой с сообщением «Другая версия этого продукта уже установлена. Установка этой версии не может продолжаться ...». MSI был создан с помощью проекта установки Visual Studio 2008. Я попытался установить для свойства «Удалить предыдущие версии» значения true и false, чтобы новые версии перезаписывали более старую установку, но ничего не помогло. В предыдущей компании, которую я знаю, у меня не было этой проблемы с установщиками, созданными Wise и Advanced Installer. Есть ли настройка, которую мне не хватает? Или желаемый функционал не поддерживается проектом установки VS 2008?

Ответы [ 5 ]

9 голосов
/ 03 сентября 2008

Я создал множество MSI с VS 2005 Pro, которые делают это правильно.

Вы уверены, что свойство 'Version' проекта развертывания было увеличено? Это свойство не зависит от версии сборок в приложении, и это сообщение об ошибке вы увидите, если свойство версии MSI такое же, как и для той, которую вы пытаетесь перезаписать.

6 голосов
/ 03 сентября 2008

Увеличить номер версии вашего проекта.

В VS выберите узел для вашего установочного приложения и нажмите F4 для просмотра свойств. Найдите поле версии и увеличьте его.

3 голосов
/ 03 сентября 2008

Вам нужно менять код продукта между каждой версией, если вы этого не сделаете, вы получите поведение, которое вы видите. Код продукта виден в свойствах проекта. Ознакомьтесь с MSDN Online Help для ProductCode , чтобы лучше понять.

1 голос
/ 20 апреля 2011

Это немного сложнее:

Чтобы автоматически удалить предыдущие версии установленного приложения в Setup Project, необходимо:

  1. Увеличить свойство Version (например, с 1.0.0 до 1.0.1 ... также изменить на 3-й позиции)
    • Версия - это свойство проекта установщика, которое определяет, какая версия приложения установлена ​​
  2. Измените свойство ProductCode , чтобы установщик знал, что это не один и тот же установщик, выполненный дважды
    • ProductCode является свойством проекта установщика, Visual Studio предлагает автоматически изменить его при изменении свойства Version
  3. Сохранить значение свойства "UpgradeCode".
    • UpgradeCode также является собственностью проекта установщика
    • он должен оставаться неизменным среди всей «линии обновления», поэтому установщик знает, что обновлять
  4. Если вы также хотите удалить старые версии приложений из списка программного обеспечения панели управления, установите для RemovePreviousVersions значение true
0 голосов
/ 08 января 2010

Была такая же проблема при переходе с XP на Win7. Чтобы решить эту проблему, я должен был установить DetectNewerInstalledVersion в False. Также, как уже упоминалось, вам нужно включить версию проекта установки.

Удачи.

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