WiXのXML要素について
今回出てきたXML要素の簡単な説明です。実用上必須となる部分以外は省略していますので、詳しくはWiXのマニュアルまたは「wix.chm」を参照してください。
なお、オンラインマニュアルの内容は、バイナリの展開先の「doc」フォルダにある「wix.chm」の部分的な抜粋となっています。随時充実させていくと書かれていますので、将来的にはオンラインマニュアルが最新のものになるとは思いますが、執筆時点ではページが用意されていない部分もありました。
なお、前回出てきた要素については省略していますのでご了承ください。
標準UIへの参照や分割コンパイル時の参照など、UI要素への参照を行う場合に利用します。
UIRef要素の属性
属性名 | 説明 |
Id (必須) | 参照先のId 名を指定します。 |
実行時のさまざまな条件を指定します。指定場所により属性に必要なものが異なります。
Condition要素の属性
属性名 | 説明 |
Action (未解説) | コントロールの状態を表現します。 |
Level (未解説) | Feature のインストール条件を指定します(必須)。条件を満たした場合にFeatureのLevel 属性の値を指定された値に変更します。 |
Message | インストール条件が成立しなかった場合のメッセージを記載します(複数行にわたる場合は、\r\nで改行できます)。 |
(InnerText )(必須) | インストール条件を記載します。 |
プログラムメニューなどにショートカットファイル(.lnkファイル)を作成します。指定場所により作成されるショートカットの構成が変わります。
Shortcut要素の属性
属性名 | 説明 |
Id (必須) | ショートカットの内部識別子です。 |
Directory (必須) | ショートカットを作成するDirectoryの識別子を指定します。 |
Target | ショートカットファイルの指すターゲットを指定します。親要素がファイルの場合のみ省略することができ、その場合はファイルを対象とします。それ以外の場合に省略するとショートカットがフォルダを参照してしまいます。通常は、所属コンポーネントのプライマリFeature名を指定します。 |
Name (必須) | ショートカットの表示名を指定します。ショートネームで収まらない場合は、この値がショートネーム名となります。 |
LongName | ショートカットの長い表示名です。ショートネームで収まらない場合に指定します。Package 要素のShortNames がyesの場合利用されません。 |
Description | ショートカットの説明を記載します。 |
Icon | ショートカットのアイコンを指定します。アイコンは別途Icon 要素で指定します。Target にファイルパスを指定している場合省略できます。 |
IconIndex | 参照するアイコンのインデックスを指定します。Icon 属性を省略できる場合に省略できます。 |
Show | 起動時のウィンドウサイズを指定します。 |
Icon要素の属性
属性名 | 説明 |
Id (必須) | アイコンの内部識別子です。 |
SourceFile | アイコンファイルのソースパスを指定します。旧バージョンとの互換のため、srcでまかなうこともできますがどちらかは必ず指定しなければなりません。 |
ProgId要素の属性
属性名 | 説明 |
Id (必須) | ProgId名を指定します。 |
Advertise | 通常yesを指定します。 |
Description | 関連付けした場合の表示名となります。 |
Icon | 関連付けした場合の表示アイコンとなります。アイコンは別途Icon 要素で指定します。 |
IconIndex | Icon のインデックスです。 |
Extension要素の属性
属性名 | 説明 |
Id (必須) | 拡張子(.を含まない名称)を指定します。 |
Advertise | 通常yesを指定します。 |
Merge要素の属性
属性名 | 説明 |
Id (必須) | マージモジュールの内部識別子を指定します。 |
DiskId (必須) | Media のディスク番号です。 |
Language (必須) | 利用するマージモジュールのLCIDを指定します。 |
SourceFile | マージモジュールのソースファイルパスを指定します。 |
Property要素の属性
属性名 | 説明 |
Id (必須) | プロパティ名となる識別子を指定します。 |
Value | プロパティの値を指定します。属性ではなくInner Textで指定することもできます。 |
終わりに
今回は、あらゆる製品のインストーラのプロトタイプとなりえる、小さなUIつきインストーラを作成しました。また、簡単ではありますがVisual Studioからビルドできるバッチファイルも用意しました(同じバッチファイルを私も実開発環境で利用しています)。次回は、より複雑な構成となる残り2つのUIの紹介を行いたいと思います。