Вопрос

Я хотел бы заранее извиниться, если я оставив какие-либо важные детали.

Я пытаюсь выполнить обновление, где предыдущая версия программного обеспечения (и все компоненты) должна быть удалена перед установкой нового.

Я постараюсь избежать скучного вами с деталями и сказать, если вы делаете «типичную» установку, все идет как запланировано. Если вы решите выполнить продвинутую установку (укажите установку для всех пользователей, установите местоположение и т. Д.), То, кажется, в целом пропускает шаг «Удалить предыдущую версию.

До сих пор я сделал следующее:

- Распределение моих тегов обновления, чтобы соответствовать советам другого вопроса для стопки в штате

- Ошифицировали свойство «OLLVERSSIONSIGNIGNAPGRADED» правильно устанавливается

- Переместите, что коды / идентификаторы обновления являются одинаковыми, номера версий являются последовательными (модернизация от 1,0,8 до 1,0.10) - в конце концов, «типичная» установка работает правильно!

- Отложите совет, приведенный здесь: wix-s-ververy-version - перезаписать предыдущую версию И последовал за этим: http://wix.sourceforge.net/manual-wix3/ major_uppgrade.htm

- реализовать взлом, вручную вызов Msiexec, чтобы удалить предыдущую версию по ID продукции (это не удалось, потому что мы уже устанавливаем что-то - есть ли лучший способ запланировать это?)

Мой секция товара / обновления выглядит так:

<Product Id="GUID1" UpgradeCode="GUID2" Version="1.0.10.0">
    <Package Compressed="yes" InstallerVersion="200"/>
    <MajorUpgrade Schedule="afterInstallInitialize" 
      DowngradeErrorMessage="Another version of [ProductName] is already installed."/>
    <Upgrade Id="GUID2">
        <UpgradeVersion Minimum="1.0.10" OnlyDetect="yes"
             Property="NEWERVERSIONDETECTED" />
        <UpgradeVersion Maximum="1.0.10" IncludeMaximum="no" 
             Property="PREVIOUSVERSIONINSTALLED" />
    </Upgrade>
.

Я Wix Newbie, поэтому я мог пропустить важные детали, описывая мою проблему. Если я пренебрег, чтобы включить что-то важное, пожалуйста, дайте мне знать.

Спасибо заранее для любого ввода, который вы можете предоставить.

Это было полезно?

Решение

Это звучит так, как будто вы работаете в одном и том же ограничениях, как я, см. Этот вопрос .Вы не можете изменить область установки («на пользователя» или «на машину») в модернизации.

Нет простого способа вокруг внутри Windows Installer.Вы можете сделать только отдельный загрузчик EXE, который удаляет предыдущую версию, а затем запускает установку новой версии.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top