0

如果选择了某个功能,我想将寄存器值设置为特定字符串 (true),如果未选择,我想将其设置为默认值 (false)。我已经尝试了以下,但我似乎没有工作:-(

    <Component Id="ExampleFalseComponent">
        <Condition><![CDATA[Feature1 = "3" ]]></Condition>
        <RegistryValue Root="HKCU" Key="path" Name="examplevalue" Type="string" Value="false" KeyPath="yes"/>
    </Component>
    <Component Id="ExampleTrueComponent">
        <Condition><![CDATA[Feature1 < "3" ]]></Condition>
        <RegistryValue Root="HKCU" Key="path" Name="examplevalue" Type="string" Value="true" KeyPath="yes"/>
    </Component>
    <Feature Id="Feature1" Title="Some text string" Absent="allow" AllowAdvertise="no" InstallDefault="local" Display="collapse" Level="3">
        <ComponentRef Id="ExampleFalseComponent"/>
        <ComponentRef Id="ExampleTrueComponent"/>
    </Feature>
4

1 回答 1

2

当您的条件评估为真时,我将使用在成本最终确定后的执行序列中安排的 SetProperty 元素将 SomeProperty 设置为“真”。然后在 RegistryValue 中使用 [SomeProperty]。

另请注意,在第一次安装期间,该功能将安装但尚未安装,在修复期间您的功能将安装但未安装,因此请相应地写下您的条件。

于 2012-04-16T21:48:46.520 回答