.Net Setup Project / Обновления и ведение отдельных версионных папок - PullRequest
3 голосов
/ 23 ноября 2011

Я видел несколько статей в Интернете, где люди показывают, как создавать проекты установки Windows, а затем впоследствии используют тот же проект установки для развертывания обновлений, как в: Обновления для проектов установки .Однако при выполнении такого рода установки предыдущая версия всегда удаляется перед установкой новой версии.Мне любопытно, нашел ли кто-нибудь способ создания версионных папок для поддержки предыдущих версий, которые уже установлены пользователем?

Пример:

  • При первом запуске установки.msi, он создает каталог по умолчанию: [ProgramFilesFolder] [Производитель] [ProductName] [ProductVersion] -> C: \ Program Files \ Manufacturer \ Product \ 1.0.0.
  • При каждом следующем обновлении он создает новыйкаталоги, как в: C: \ Program Files \ Manufacturer \ Product \ 1.0.2

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

1 Ответ

1 голос
/ 23 ноября 2011

Это называется параллельной установкой, и она не поддерживается проектом установки Visual Studio.По сути, вам нужно изменить правила обновления , чтобы разрешить установку двух разных версий на одном компьютере.

Однако каждая версия работает независимо от других версий.Поэтому версия 2.0 не должна использовать файлы из папки версии 1.0.

Если вы хотите сохранить существующие файлы во время обновления, вы можете попробовать этот подход: https://web.archive.org/web/20130513032659/http://setupanddeployment.com/installer-concepts/preserve-data-install/

...