【发布时间】:2012-07-31 06:45:29
【问题描述】:
我想自定义我的安装程序以在已安装旧版本时显示自定义对话框:欢迎对话框后用户应该看到自定义对话框OldVersionDlg,其中包含找到旧版本并将自动卸载的信息。
但由于某种原因,当我在UI/Publish Dialog 中检查它时,UpgradeVersion 元素设置的属性总是null。
这里是基本代码sn-ps。
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 的条件下使用它,那么一切正常。但在 UI 配置中,它始终是 null。
感谢您的帮助。
【问题讨论】: