Wix: mostre o diálogo personalizado se a versão anterior for encontrada
Desejo personalizar meu instalador para mostrar o diálogo customizado quando a versão anterior já estiver instalada: após o diálogo Bem-vindo, o usuário deverá ver um diálogo customizadoOldVersionDlg
com informações de que a versão anterior foi encontrada e será desinstalada automaticamente.
Mas, por algum motivo, a propriedade definida porUpgradeVersion
elemento semprenull
quando eu verificar isso em condiçãoUI/Publish Dialog
.
Aqui estão os trechos de código essenciais.
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>
O botão Next não funciona. Eu verifiquei em logs quePREVIOUSVERSIONSINSTALLED
é definido depoisFindRelatedProducts
. Se eu usá-lo em condições emProduct.wxs então está tudo bem. Mas na configuração da interface do usuário é semprenull
.
Obrigado por qualquer ajuda.