gpt4 book ai didi

Wix bool 属性值不起作用

转载 作者:行者123 更新时间:2023-12-04 14:04:53 27 4
gpt4 key购买 nike

我有以下属性(property):

<Property Id="UPDATEDB">1</Property>

UI 中绑定(bind)到该属性的复选框:
<Control Id="updateDatabase" Type="CheckBox" CheckBoxValue="1" Height="15" Width="95" X="20" Y="74" Text="Update Database" Property="UPDATEDB" />

以及一个基于此属性的值执行某些操作的自定义操作
<CustomAction Id="RunDbMigration" Directory="INSTALLDIR" Return="check"
ExeCommand='[DBMIGRATIONDIR]\DbMigration.exe' />

<InstallExecuteSequence>
<Custom Action="RunDbMigration" After="InstallFinalize">UPDATEDB=1 AND NOT Installed</Custom>
</InstallExecuteSequence>

如果我尝试从命令行为 UPDATEDB 传递 0 值:
msiexec /i "Setup.msi" /l* UPDATEDB=0

或者
msiexec /i "Setup.msi" /l* UPDATEDB="0"

无论如何检查复选框的值。也就是说,传入的 0 似乎受到尊重,并且 RunDbMigration 操作未运行......

这里发生了什么?为什么这是火箭科学?

最佳答案

正如其他人所提到的,复选框不是 1/0 意义上的 bool 值,它们是 null/not-null 意义上的 bool 值。

要从命令行取消设置 - 你会想要使用类似的东西

msiexec /i "Setup.msi" /l* UPDATEDB=""

有可能您的条件在执行您的自定义操作之前专门寻找 1 的值,这就是您的 CA 未运行的原因。

关于Wix bool 属性值不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7624428/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com