将 属性 值设置为 ini 文件 WIX

Set the Property value to an ini file WIX

我正在使用编辑控件在对话框中设置一个 属性 值。但是当我使用相同的 属性 写入 ini 值时,它不会写入更新的值并且只写入旧值。下面给出我的WIX源码(因为wix代码太大,只写重要代码)

<Property Id="testNumber" Value="1122" />
<CustomAction Id="SettestNumber" Property="ModifiedtestNumber" Value="[testNumber]" />

<ComponentGroup Id="INIFileGroup">
  <Component Id="IniFile" Guid="{0ded271b-9268-49e7-8c13-60c7538acc25}" KeyPath="yes" Directory="DirCfg" >
    <IniFile Id="IniPath" Action="addLine" Directory="Dirtest" Key="testkey" Name="test.ini" Section="test" Value="[ModifiedtestNumber]" />
  </Component>
</ComponentGroup>

<InstallUISequence>
 <Custom Action="SettestNumber" Sequence="1299"/>
</InstallUISequence>

            <Dialog Id="testNumberUI" X="50" Y="50" Width="375" Height="270" Title="[ProductName]" CustomPalette="yes">
            <Control Type="Edit" Id="test_Number" Width="50" Height="15" X="258" Y="53" Property="testNumber" Text="{50}" TabSkip="yes"/>
        </Dialog>

我在控件编辑框中给出值 1212 并安装,但在 test.ini 文件中它没有得到更新,值是 1122。有人可以提供一种方法让我将 Modifedtestnumber 更新为ini文件

注意: 当我将自定义操作放入 时,ini 文件中的值为 null

您的 属性 需要 public(全部大写 TESTNUMBER)并标有安全属性,以便在 SecureCustomPublicProperties 属性 中列出。另请注意,属性不会持久化。您需要使用类似 WiX 的记忆 属性 模式,以便在后续事务(如维修和升级)期间从 INI 文件加载值。