2016-09-09 20 views
0

私がしたいことは、単一のプロパティの値をコピーして、別のプロパティの値として配置することです。これはWixでも可能ですか?Wixインストーラ - 属性値を別の属性にコピーする

<Property Id="PROP1" Value="default" Secure="yes"/> 

PROP2には、UIシーケンスのどこで同じ値を指定しますか?

答えて

1

カスタムアクションを使用してこれを実行できます。次に、あなたは、それが設定

<Custom Action="SetMyProperty" After="FileCost"></Custom>

+0

お返事ありがとうございました。これは、UIシーケンスの代わりにボタンクリックでも可能ですか? – user5521

+0

それは 'イベントを公開してそれを追加し、ボタンのクリックでこれを行うことが容易である<ダイアログを公開=「DialogName」コントロール=「ButtonName」プロパティ=「PROP2」値=「[PROP1]」> ' – Mischo5500

+0

グレートこれは私が必要としていたものです。 – user5521

2

@ Mischo5500答えが正しいですがのようなものを必要なとき<InstallUISequence><InstallExecuteSequence>でそれを呼び出す

<CustomAction Id="SetMyProperty" Execute="immediate" Property="PROP2" Value="[PROP1]" />

としてアクションを定義し、より洗練された方法にはあり同じ達成する。特殊な要素<SetProperty>を使用することができます。これはその目的のために設計されています。

それを使用する利点は次のとおりです。

  • それは要素の名前がより自然と自己で両配列
  • にデフォルトで適切に予定されているWiXのコード
  • は1行だけです

説明は、したがって、上記の例は、以下のように変形することができる。

<SetProperty Id="PROP2" Value="[PROP1]" After="FileCost" /> 
+0

ありがとうございますが、これはMischo5500の回答のようにボタンのクリックに使用できますか? – user5521

+0

いいえ、それはまったく別の話です。 @ Mischo5500のコメントに概説されている方法を使用してください。 –