Как заставить крупное обновление не переключаться в режим обслуживания с использованием старого установочного пакета? - PullRequest
0 голосов
/ 29 апреля 2010

У меня есть установщик, который я хотел бы использовать для серьезного обновления. Я сделал следующее:

  • Увеличен номер версии (с a.b.c до a.b.c + 1)
  • Изменен код продукта
  • Сохранял тот же код обновления
  • Сделал соответствующую запись в таблице обновлений
  • Изменен идентификатор компонента существующего компонента
  • Изменено имя установочного пакета
  • Изменен код пакета

По сути, я сделал все, что мог, чтобы заставить MSI рассматривать это как серьезное обновление.

Однако, когда я пытаюсь установить этот новый пакет, в журнале установщика появляется сообщение «Продукт зарегистрирован: вход в режим обслуживания» и продолжается попытка найти старый файл установщика (который завершается ошибкой, поскольку новый установщик находится в другой папке, чем был использован для первоначальной установки, и даже не то, что я хотел случиться).

Что мне не хватает? Почему установщик сразу переключается в режим обслуживания, а не выполняет серьезное обновление?

Спасибо!

РЕДАКТИРОВАТЬ: сделать это частью сообщества вики

1 Ответ

0 голосов
/ 06 мая 2010

Как оказалось, это произошло из-за ошибки в плагине Wise Installer для Visual Studio. Очевидно, что он запутывается и начинает давать один и тот же код пакета всем пакетам .msi, которые он генерирует как часть сборки (независимо от кода пакета в файле .wsi).

...