2 экземпляра программы после обновления с использованием WiX - PullRequest
3 голосов
/ 12 ноября 2009

Я создаю обновляемый установщик, использующий WiX, который должен полностью удалить существующую программу перед установкой новой версии. У меня есть файлы, которые обновляются и добавляются, что более новая версия должна быть, но у меня осталось 2 экземпляра Программы на экране «Установка и удаление программ». Ниже приведен пример того, как я пытаюсь удалить все.

<Product Id="064e9bca-dcf5-412d-9a8f-dafec3bd3406" Name="testInstall" Language="1033" Version="1.0.14" Manufacturer="testInstall" UpgradeCode="5dd5747f-c598-4133-8c7d-252ae3dee8a5">

<Package InstallerVersion="301" InstallPrivileges="elevated" InstallScope="perMachine" Compressed="yes" />

<Upgrade Id="5dd5747f-c598-4133-8c7d-252ae3dee8a5">
  <UpgradeVersion Minimum="1.0.0"
                  IncludeMinimum="yes"
                  Maximum="1.0.13"
                  OnlyDetect="no"
                  Property="OLDERVERSIONBEINGUPGRADED" />
</Upgrade>

<InstallExecuteSequence>
  <RemoveExistingProducts After="InstallInitialize"/>
</InstallExecuteSequence>

Буду признателен за любую помощь, которая может быть оказана.

1 Ответ

5 голосов
/ 12 ноября 2009

Каждый раз, когда вы хотите создать новый обновленный пакет, меняйте ProductVersion и ProductGUI:

<?define ProductVersion="1.0.76"?>
<?define ProductGUI="945C22A0-BB37-4F7D-9B28-2F02491A0698"?>

<Upgrade Id="b14563a6-db4f-451c-8b9d-03e480687290">
    <UpgradeVersion OnlyDetect='yes' Property='NEWERVERSIONDETECTED' Minimum='$(var.ProductVersion)' IncludeMinimum='no' />
    <UpgradeVersion Minimum="1.0.0" IncludeMinimum="yes" Maximum="$(var.ProductVersion)" Property="OLDERVERSIONBEINGUPGRADED" />
</Upgrade>

...

<InstallExecuteSequence>
   <RemoveExistingProducts After="InstallValidate" />
   ...
</InstallExecuteSequence>

ПРИМЕЧАНИЕ. Конечно, используйте свой собственный GUID для обновления / идентификатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...