我有以下特性:維克斯布爾屬性值不工作
<Property Id="UPDATEDB">1</Property>
綁定到該屬性的UI一個複選框:
<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>
如果我嘗試從UPDATEB的命令行傳遞值爲0:
msiexec /i "Setup.msi" /l* UPDATEDB=0
或
msiexec /i "Setup.msi" /l* UPDATEDB="0"
複選框的值無論如何檢查。也就是說,傳入的0似乎受到尊重,並且RunDbMigration操作未運行...
這是怎麼回事?爲什麼這種火箭科學?
賓果。謝謝。傳入UPDATEDB =「」的技巧。我明白了爲什麼我的自定義操作沒有運行,但不是爲什麼複選框仍然被檢查。現在我明白,任何不是「」意味着檢查。 – Jeff