Невозможно установить MSI-файл с той же версией - PullRequest
0 голосов
/ 16 марта 2012

У меня есть одна версия MSI 1.0.2

Теперь я изменил некоторые файлы и создал MSI с той же версией 1.0.2

Я попытался установить обновленную версию.Выдает ошибку типа «Невозможно установить, поскольку более новая версия этого продукта уже установлена».

Я должен выпустить только с последней версией 1.0.2.

Пожалуйста, дайте мне знать, как решить эту проблему.

Я уже использовал следующие советы:

1.) Set DetectNewerInstalledVersion = true.

2.) Set RemovePreviousVersions = true.

3.) Измените код продукта.

Но результат не найден.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 17 марта 2012

Автоматические обновления выполняются только при увеличении версии. Если вы измените пакет и сохраните ту же версию, старые пакеты с той же версией не могут быть удалены автоматически. Это ограничение установщика Windows.

Вместо этого вы можете вручную удалить старый пакет перед установкой модифицированного.

Другим решением может быть создание собственного загрузчика EXE, который определяет, установлена ​​ли текущая версия, и удаляет его перед запуском нового пакета.

1 голос
/ 16 марта 2012

Когда вы работаете с приложением Windows и время от времени развертываете свое решение, вам следует помнить, что не следует удалять все файлы при переустановке, например, файл базы данных и некоторые файлы, созданные пользователем.

Нопри изменении номера версии проекта установки приложения вы заметите, что файл EXE не будет обновляться в большинстве случаев, чтобы гарантировать, что файл EXE будет переустановлен, вам нужно будет добавить в файл MSI свойство REINSTALLMODE и указать егозначение «amus», я знаю, что пока это не имеет смысла для вас, поэтому я объясню немного больше об этой проблеме.

Свойство REINSTALLMODE - это свойство, добавляемое в файл MSI путем редактирования с помощьюпрограммное обеспечение, называемое orca (просто Google it «загрузить orca for MSI»), это свойство имеет много значений и множество опций, которые могут быть ему предоставлены.

Единственное значение, которое здесь важно, это amus, так чтотакое amus и как добавить все свойство REINSTALLMODE:

Послеустановив orca, откройте его и перетащите файл msi после построения решения с курса.

Вы увидите набор записей, добавленных слева под заголовком Таблицы, прокрутите записи вниз, пока не найдете запись под названием «Свойство »нажмите на него, затем откроются его свойства на правой панели, щелкните правой кнопкой мыши, затем нажмите кнопку Добавить строку:, в поле Свойство введите REINSTALLMODE, в поле значения добавьте amus, затем нажмите OK и сохраните файл MSI.

При этом ваш EXE-файл и все файлы, установленные из программы установки и не использующие пользовательскую установку, будут удалены.

Небольшое примечание amus означает:

  • a - Принудительно всефайлы, подлежащие переустановке, независимо от версии.
  • m - переписать все ключи реестра, которые идут к HKEY_LOCAL_MACHINE или HKEY_CLASSES_ROOT.
  • u - переписать все ключи реестра, которые идут к HKEY_CURRENT_USER или HKEY_USERS.
  • s - переустановить ярлыки и значки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...