Wix: показывать пользовательский диалог, если предыдущая версия найдена
Я хочу настроить свой установщик так, чтобы он отображал настраиваемое диалоговое окно, когда предыдущая версия уже установлена: после приветствия пользователь должен увидеть настраиваемое диалоговое окно.OldVersionDlg
с информацией о том, что предыдущая версия была найдена и будет удалена автоматически.
Но по какой-то причине свойство установленоUpgradeVersion
элемент всегдаnull
когда я проверяю это в состоянии вUI/Publish Dialog
.
Вот основные фрагменты кода.
Product.wxs:
<Product Id="*" Version="$(var.Version)" UpgradeCode="$(var.ProductId)"
Language="1033" Name="$(var.ProductFullName)" Manufacturer="$(var.Manufacturer)">
<Package Description="$(var.ProductDescription)" InstallerVersion="200" Compressed="yes"
Manufacturer="$(var.Manufacturer)" />
<Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" />
<Upgrade Id="$(var.ProductId)">
<UpgradeVersion Minimum="1.0.0.0" Maximum="$(var.Version)"
Property="PREVIOUSVERSIONSINSTALLED"
IncludeMinimum="yes" IncludeMaximum="no" />
</Upgrade>
<InstallExecuteSequence>
<RemoveExistingProducts Before="InstallInitialize" />
</InstallExecuteSequence>
</Product>
WixUI_Wizard.wxs:
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="OldVersionDlg">PREVIOUSVERSIONSINSTALLED</Publish>
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="SetupTypeDlg">NOT Installed</Publish>
Кнопка Далее не работает.
Я проверил в журналах, чтоPREVIOUSVERSIONSINSTALLED
устанавливается послеFindRelatedProducts
, Если я использую это в условияхProduct.wxs тогда все ок. Но в конфигурации пользовательского интерфейса это всегдаnull
.
Спасибо за любую помощь.