2017-06-19 16 views
0

編集コントロールを使用してダイアログ内にプロパティ値を設定していました。しかし、私がini値の中に同じプロパティを書き込んだとき、それは更新された値を書き込むのではなく、古い値だけを書き込むことではありません。 (私のWiXのコードが大きすぎるとしてだけ重要なコードを書く)私のWIXのソースコードは以下のプロパティ値をiniファイルに設定する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ファイル内にそうではないのです更新された値は、誰かが私はiniファイル

ノートにModifedtestnumberを更新するための方法を提供してもらえ1122で取得:私はiniファイル内<がInstallExecuteSequence />値内のカスタムアクションを入れ たヌル

答えて

3

あなたの財産は公開されている必要があります(すべて大文字TESTNUMBER)。 SecureCustomPublicPropertiesプロパティにリストされるようにSecure属性でマークされています。また、プロパティが保持されないことにも注意してください。修復やアップグレードなどの後続のトランザクションでINIファイルから値をロードするには、WiXのプロパティパターンのようなものを使用する必要があります。

+0

ここに、前述のremember meパターンへのリンクがあります。http://robmensching.com/blog/posts/2010/5/2/the-wix-toolsets-remember-property-pattern/ –

関連する問題