Я пытаюсь включить основные функции обновления в WiX.
Я хочу, чтобы каждая новая версия установщика была основным обновлением (полная деинсталляция, а затем новая установка), так как нам не нужны разные обновления и чистые версии для установки.
Я начал пытаться сделать это, используя материал тега, но я продолжал получать "Другая версия установлена". сообщение об ошибке при запуске установщика.
Итак, я внедрил новый тег, добавленный в V3.5, чтобы упростить обновление. Я все еще получал сообщение об ошибке.
Затем я где-то читал, что вам нужно изменить идентификатор идентификатора идентификатора для каждой новой версии. Поэтому я установил Id = "*", чтобы заставить WiX генерировать их.
Теперь, когда я устанавливаю более новую версию, она не удаляет старую версию, и вы получаете две установки в одну и ту же папку. Я работал над этим, потому что запуск MSI (новый или старый) приведет к экрану восстановления/удаления.
Также программа не была перезаписана новой версией.
Вот начало моего WiX script:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*"
Name="Foo"
Language="1033"
Codepage="1252"
Version="!(bind.FileVersion.Foo.exe)"
Manufacturer="Foo Bar Ltd."
UpgradeCode="dac2fab2-7d76-4e47-b25f-0748380dab81">
<Package
Description="Foo"
Comments="This installer database contains the logic and data required to install Foo."
InstallerVersion="300"
Languages="1033"
SummaryCodepage="1252"
Platform="x86"
Compressed="yes" />
<!-- Remove older versions -->
<!-- Important note: MSI ignores the last version digit 1.0.0.? when comparing versions, so always change at least the 3rd digit for new external releases-->
<MajorUpgrade DowngradeErrorMessage="The version currently installed is newer than the version you are attempting to install."/>