我已在“修改”页面的自定义主题中添加了一个复选框,用于我正在使用的Wix Boostrapper。
<Checkbox Name="DoFullUninstall" X="-171" Y="-26" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.DoFullUninstall)</Checkbox>
仅在选中此复选框的情况下,我想使用设置中的值删除先决条件(特别是PostgresSQL)。对于我的ExePackage,我有
<ExePackage
SourceFile ="@Installer_SOURCE_DIR@/inst_binaries/postgresql-10.5-2-windows-x64.exe"
InstallCommand=' --unattendedmodeui minimal --mode unattended --servicename RM_Postgresql --servicepassword waterwater --superpassword waterwater --prefix "[ProgramFiles64Folder]\@MANUFACTURER@\postgres" --datadir "[ProgramFiles64Folder]\@MANUFACTURER@\data" --disable-components stackbuilder'
UninstallCommand=' --unattendedmodeui minimal --mode unattended'
DetectCondition="( POSTGRESINSTALLED_x64 >= postgres_version ) AND ( NOT REINSTALL )"
Compressed ="yes"
Vital ="yes"
PerMachine="yes"
Permanent ="NOT [DoFullUninstall]"
Description="Postgres installer"
/>
但是我得到一个错误,指出
警告“永久”属性无效-值“否” [DoFullUninstall]'根据其数据类型无效 'http://schemas.microsoft.com/wix/2006/wi:YesNoTypeUnion'-值 根据以下任何一项规定,“ NOT [DoFullUninstall]”无效 工会的memberType。
我认为这是因为“复选框”没有“是/否”值。
我将如何处理使其成为是/否值?还是我要以一种完全错误的方式来解决这个问题?