VS Setup Project - RemovePreviousVersion с измененной установочной папкой

Я бы ожидал, что такая обстановка

RemovePreviousVersion = true

в проекте установки приведет к удалению предыдущей версии независимо от того, установлена ​​ли новая версия в другую целевую папку. Это предположение неверно само по себе? Я НЕ менял GUID UpgradeCode.

Однако папка старой версии, а также запись в «Программы и компоненты» остаются.

В моем сценарии текущая целевая установочная папка

"%ProgramFiles(x86)%\MySoftware v1"

Теперь у меня есть обновление основной версии до v2, и я хочу отразить это в папке установки, изменив ее на

"%ProgramFiles(x86)%\MySoftware v2".

Я бы предпочел, чтобы "MySoftware v1" был удален во время обновления.

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

Каковы именно критерии, которые должны совпадать между двумя проектами установки, чтобы определить необходимость удаления предыдущей версии? Насколько я понимаю, UpgradeCode используется для однозначной идентификации проекта, но, как я уже отмечал, я не менял его.


person Rev    schedule 25.09.2018    source источник


Ответы (1)


Следует полностью удалить старую версию. В этой статье много деталей:

https://www.red-gate.com/simple-talk/dotnet/visual-studio/updates-to-setup-projects/

но основными причинами невозможности удаления являются:

  1. UpgradeCode вашей новой настройки не такой, как у старой, но вы говорите, что они такие же, поэтому ...

  2. Первая установка была для всех (или только для меня), и обновление происходило в другом контексте.

person PhilDW    schedule 29.09.2018