Visual Studio Setup Project не удалит старую версию полностью - PullRequest
0 голосов
/ 12 июля 2011

Надеюсь, я смогу объяснить это ясно:

У меня есть проект установки Visual Studio (C ++), мои текущие сценарии сборки выполняют следующее:

  • обновляют номера версий
  • обновление PackageCode
  • обновление ProductCode

В прошлом это работало без проблем (примерно 20 выпусков).

Я только что сделалновый выпуск, где пользовательское действие было удалено (что было включено в большинство предыдущих выпусков).Мой процесс сборки был таким же, как описано выше.

Теперь при установке я получаю повторяющуюся запись в Windows Установка и удаление программ.

, то есть:

  • предыдущая версиябыл 1.0.6.2 и установлен на компьютере.
  • Затем я устанавливаю новую версию 1.0.7.0 (пользовательское действие удалено)

Добавление и удаление списков программ 1.0.6 и 1.0.7.

Есть идеи, что мне нужно сделать, чтобы это исправить?Я ожидаю, что происходит, что новая версия вызывает запуск деинсталлятора для 1.0.6.2, но не заставляет его удалять FeatureComponents, которые были удалены как часть 1.0.7.0.

Есть ли способфорсировать их удаление?

1 Ответ

0 голосов
/ 12 июля 2011

Убедитесь, что обе версии имеют одинаковый тип установки (для пользователя или для компьютера).Это контролируется через ALLUSERS свойство установщика или InstalAllUsers свойство проекта установки.

Кроме того, они должны использовать тот же код UpgradeCode.Вы можете проверить это в таблице свойств, открыв MSI-файлы с помощью Orca .

Если эти условия соблюдены и проблема не устранена, попробуйте создать подробный журнал и посмотреть, что произойдет, когда FindRelatedProducts и RemoveExistingProductsдействия выполнены.

...