2011-07-12 2 views
0

Надеюсь, я могу объяснить это ясно:Visual Studio не будет удалить старую версию полностью

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

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

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

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

Теперь, когда я устанавливаю, я получаю дубликат в Windows Add and Remove Programs.

т.е.

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

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

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

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

ответ

0

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

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

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

+0

UpgradeCode - то же самое, будет проходить через подробный журнал, чтобы увидеть, могу ли я что-нибудь увидеть. – gollumullog

Смежные вопросы