2017-01-31 10 views
0

Wixインストーラでは、ラジオグループの値に基づいて環境変数を設定しようとしています。私はそれを行う方法を見つける運がないよ。wix:UIラジオグループの値に基づいて環境変数を設定する方法は?

UIでの無線グループは、3つのオプションがあります。

  1. は設定しないでください環境変数
  2. ユーザー
  3. あたりの変数は、マシン

UIとのあたりの変数を設定して設定します3ボタンラジオグループは次のようになります。

<Control ...> 
    <RadioButtonGroup Property="VAR_SCOPE"> 
    <RadioButton Value="user" ... /> 
    <RadioButton Value="machine" ... /> 
    <RadioButton Value="none" ... /> 
    </RadioButtonGroup>    
</Control> 
環境変数を作成し

コンポーネントは、このようなものです:

ENV-VARは、「システム」属性の値に依存しているユーザーごとまたはマシンごとに設定されているかどうか
<Directory ...> 
    <Component ...> 
    <CreateFolder /> 
    <Environment Id='Evar' Action='set' System='yes' Name='FOO' Value='bar' /> 
    </Component> 
</Directory> 

:なし、マシンのイエスユーザー。

答えて

0

MSIがこれをサポートしているとは思いません。 https://msdn.microsoft.com/en-us/library/windows/desktop/aa368369(v=vs.85).aspxのコメントで、Windows 2000では*プレフィックスが範囲を制御していると言われていますが、これは決して使用しませんでした。私の知る限り、MSIは常にインストールのシステムコンテキストを尊重します。 (Per-User vs Per-Machine)レジストリテーブルが行うことができるのと比べると、短いことだと思います。環境変数は実質的にSendMessageを持つレジストリテーブルのエントリであるため、レジストリとminililistカスタムアクションを使用できます。

これを行うと、相互に排他的な2つのコンポーネントが必要になります。

+0

私はちょうど今Wixを学んでいるので、私は多くのことをする方法がわかりません。通常、インストーラにはPATH変数の変更を追加/省略するためのチェックボックスが1つあります。あなたはそのようなことをするコードを表示できますか? env変数を変更する条件付きの方法です。 – Dess

関連する問題