Using Wix for the first time in 10+ years, and first time with forms/dialog entry.
Have a property defined more or less like this:
<Property Id="THE_FLAG">
<RegistrySearch Id="SearchTheFlag" Root="HKLM" Key="SOFTWARE$(var.Manufacturer)$(var.SimpleProductName)" Name="the_flag" Win64="$(var.Win64)" Type="raw" />
</Property>
Have a control in a form to set it:
<Control Id="TheFlagCheckBox" Type="CheckBox" X="45" Y="80" Width="220" Height="17" Property="THE_FLAG" CheckBoxValue="1" Text="Flag for something" />
At the end I want to write it:
<RegistryKey Root='HKLM' Key='SOFTWARE$(var.Manufacturer)$(var.SimpleProductName)' ForceCreateOnInstall='yes' >
<RegistryValue Name='the_flag' Type ='integer' Value='[THE_FLAG]' />
</RegistryKey>
If I select the checkbox, it sets the registry value. However, if I don't check the checkbox, then I get a warning when running the installer about not being able to acces the registry value. I think it is because the "value" of "THE_FLAG" is null or the empty string. I want to avoid the nasty warning to the user. I took over some code, and the previous owner used all strings for obviously DWORD values...maybe to get around the warning.
Can I set some conditionals or set the value of THE_FLAG to "0" if it is "" or null?
question from:
https://stackoverflow.com/questions/65897025/wix-setting-a-registry-value-from-a-dialog-checkbox 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…