Проект установки .NET MSI - перезапись предыдущей версии

У меня есть проект установщика MSI, который устанавливает службу Windows.

Мой метод нумерации версий лучше всего описан в этом сообщении: В чем разница между AssemblyVersion, AssemblyFileVersion и AssemblyInformationalVersion?

Я не меняю версию своего проекта установки, поскольку она не меняется, и я было слишком много проблем при этом.

Я уже установил свою службу со следующими версиями сборки

[assembly: AssemblyVersion("4.3")]
[assembly: AssemblyFileVersion("4.3.0.0")]

Я только что построил установщик MSI для этой версии:

[assembly: AssemblyVersion("4.3")]
[assembly: AssemblyFileVersion("4.3.1.0")]

Когда я запускаю MSI, он сообщает мне, что мне нужно удалить предыдущую версию.

Как мне это обойти? В конечном итоге я хотел бы сделать следующее:

  1. Установить MSI
  2. Установить (повторно: обновить до) другую версию, которая перезаписывает предыдущую версию (запрос или отсутствие запроса) a. Я не хочу удалять установку перед установкой обновления.

Мои свойства проекта установщика:

RemovePreviousVersions - True

InstallAllUsers - True

DetectNewerInstalledVersion - False

Версия - 4.3.0

Что я пробовал:

  • Обновить версию сборки проекта. Однако это создает несколько версий одних и тех же продуктов в «Установка и удаление программ». Не хочу Я хочу для служб Windows
  • Измените номер версии в проекте установщика. Но это создает множество ошибок при попытке установить любую версию MSI. Я даже получал предупреждения, что устанавливаю на сетевой диск! (Вот это да).

Любая помощь будет потрясающей!

Спасибо.

8
задан Community 23 May 2017 в 12:03
поделиться