<Setting/>
要素は、このパッケージが移行する設定を記述します。
マッピング
すべての文字列が、ソースから移行先へマップされます。プログラムファイルのディレクトリがマシンによって変化する場合、エンジンが通知し、そこをポイントするパスを訂正します。同様に、ユーザーのドキュメントフォルダが移動した場合、適用する前にパスが更新されます。
レジストリーパスの別名
多くの設定はレジストリーに保存され、レジストリーパスによって参照されます。以下の別名がエンジンによって認識され、設定パッケージを読みやすくします。別名を使用するすべての例。
別名 |
参照先 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
設定内での設定
設定をグループ化する際に便利であり、設定パッケージが読みやすくなります:
<Setting Name="Security">
<Setting Name="EnablePGP">
<Location Type="registry" SubType="value">
HCKU\Software\Crunch\EnablePGP
</Location>
</Setting>
<Setting Name="RequirePassword">
<Location Type="registry" SubType="value">
HCKU\Software\Crunch\PasswordRequired
</Location>
</Setting>
</Setting>
これは設定パッケージ内での単なる論理的グループであることに注意してください。それらの設定がどのように保存されているかに対応する必要はありません。任意の数の設定を任意の深さでグループ化できます。
こうした設定の名前も、少し異なっています。ネストされている設定には、認証された名前があり、それはその親の認証された名前、順方向のスラッシュ、そしてそれ自体の名前で構成されます。したがって、これらの設定の修飾名はSecurity/EnablePGP
およびSecurity/RequirePassword
になります。
registry/subkey
の指定によるキーツリーの移行
たいていの場合は、レジストリーキーの全体、そのすべての値、そのすべてのサブキー、およびそのすべての値を移動したいと思うでしょう。これはType="registry" SubType="subkey"
を指定することで実現できます。
<Setting Name="CrunchSettings">
<Location Type="registry" SubType="subkey">
HKCU\Software\Crunch
</Location>
</Setting>
すべての文字列は自動的にマップされ、すべてのデータタイプは自動的に決定されます。一定の場合に、レジストリーに移行したいファイルへのパスが含まれていれば、そうしたパスはファイルパスを使用して個別に取り扱えるはずです。registry/subkey
を使用する方法をまず試してください。他のレジストリのSubType
は必要な場合にのみ使用してください。
registry/value
の指定によるレジストリ値の移行
レジストリーの値はそのパスを与えて移行できます:
<Setting Name="ReticulateSplines">
<Location Type="registry" SubType="value">
HKCU\Software\Crunch\ReticulateSplines
</Location>
</Setting>
registry/valueexistence
の指定による、レジストリ値の有無によらない移行
時にはアプリケーションにはレジストリーの値に関する情報が保存されていないことがあrますが、その存在をチェックします。これは以下のように移行できます:
<Setting Name="IsRegistered">
<Location Type="registry" SubType="valueexistence">
HKCU\Software\Crunch\Registered
</Location>
</Setting>
file
の指定によるファイルの移行
固定位置でのファイルの移行は簡単です:
<Setting Name="DataFile">
<Location Type="file" File="C:\Path\To\File.dat" />
</Setting>
可能な限り、変数を使用します:
<Setting Name="DataFile">
<Location Type="file" File="%ProgramFiles%\Crunch\File.dat" />
</Setting>
filepath
の指定によるレジストリ内にパスがあるファイルの移行
設定が実際にファイルへのパスである場合、しばしばパスだけなく、ファイルも同様に保存したい場合があります。この場合、Type="filepath"
属性を<Setting/>
に追加すると、エンジンがファイルを移動します。レジストリーの値がマップおよび移行され、ファイルが移行されて、適切にマップされた場所へ適用されます。
<Setting Name="DataFile" Type="filepath">
<Location Type="registry" SubType="value">
HKCU\Software\Crunch\DataFilePath
</Location>
</Setting>
属性 |
説明 |
可能な値 |
必須ですか? |
|
設定の名前です。ネストした設定の場合、認証された名前は、親の認証された名前、順方向のスラッシュ、そしてその属性の値になります。 |
a-z、A-Z、0-9、ドット、ダッシュ、および下線の文字だけで構成されるテキストです。スペース文字は使えません。 |
はい |
|
この設定は、単なる文字列とは取扱いが違うでしょうか?値に追加の意味がある場合、 |
|
いいえ |
|
指定したOSにこれを移行するだけです。複数OSの場合は、パイプ記号で区切ります。例: |
|
いいえ |
子供 |
最小 |
最大 |
0 |
任意 |
|
0 |
1 |
|
|
0 |
任意 |
0 |
任意 |