WiX Toolset Версия: 3.11.2.4516
Чтобы переключиться с установки на отдельную машину для установки на пользователя, я изменил свою конфигурацию WiX со следующей:
<Product Id="*" Name="$(var.ProductName)" Language="1033" Version="1.0.0.1"
Manufacturer="$(var.CompanyName)" UpgradeCode="eec853e6-9345-4be0-908f-958f212c6f30">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" InstallPrivileges="elevated" />
<MajorUpgrade Schedule="afterInstallInitialize"
DowngradeErrorMessage="A newer version of $(var.ProductName) is already installed" />
На эту (удалить Package/@InstallScope
и Package/@InstallPrivileges
):
<Product Id="*" Name="$(var.ProductName)" Language="1033" Version="2.0.0.0"
Manufacturer="$(var.CompanyName)" UpgradeCode="eec853e6-9345-4be0-908f-958f212c6f30">
<Package InstallerVersion="200" Compressed="yes" />
<MajorUpgrade Schedule="afterInstallInitialize"
DowngradeErrorMessage="A newer version of $(var.ProductName) is already installed" />
Теперь продукт устанавливается для пользователя, а не для компьютера. Но <MajorUpgrade>
больше не работает. Я также попытался изменить Product/@UpgradeCode
на новый GUID и добавить следующее в мою конфигурацию WiX (ниже элемента <MajorUpgrade>
):
<Upgrade Id="eec853e6-9345-4be0-908f-958f212c6f30">
<UpgradeVersion OnlyDetect="no" Property="OLD_SERVICE_INSTALLER_FOUND" Minimum="0.0.0.0" />
</Upgrade>
Но это тоже не работает.
Как я могу удалить старую версию своего программного обеспечения, если я переключился с установки на машину на пользователя?