【问题标题】:Set the Property value to an ini file WIX将属性值设置为 ini 文件 WIX
【发布时间】:2017-06-19 23:14:21
【问题描述】:

我正在使用编辑控件在对话框中设置属性值。但是,当我使用相同的属性写入 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

【问题讨论】:

    标签: wix windows-installer wix3.5


    【解决方案1】:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    相关资源
    最近更新 更多