Я использую WiX toolset v3.11 для сборки установщика. До сегодняшнего дня я заставлял пользователей удалять предыдущую версию перед установкой. Теперь я удаляю все предыдущие версии как часть установки. Проблема в том, что пользователь запускает один и тот же установщик дважды.
Все в порядке, пока не отобразится VerifyReadyDlg. Он пуст, за исключением кнопок возврата и отмены. Мне бы хотелось, чтобы он сказал «Ничего не установить» или что-то такое, что не оставляет пользователя без понятия о том, что произошло. Вот соответствующая часть моего кода.
<?define ProductVersion = "!(bind.fileVersion.MyExecutable.exe)" ?>
<?define UpgradeCode = "C6449DB7-D1BD-49B9-84D2-057D8EAEF8D5" ?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="$(var.Name)" Language="1033" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MediaTemplate EmbedCab="yes" />
<Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" />
<Upgrade Id="$(var.UpgradeCode)">
<UpgradeVersion
Minimum="1.0.0.0" Maximum="99.0.0.0"
Property="PREVIOUSVERSIONSINSTALLED"
IncludeMinimum="yes" IncludeMaximum="no" />
</Upgrade>
<InstallExecuteSequence>
<RemoveExistingProducts Before="InstallInitialize" />
</InstallExecuteSequence>
Кстати, я использую: <UIRef Id="WixUI_Common" />