WiX @ wiki

空ディレクトリ作成

最終更新:

wixwiki

- view
管理者のみ編集可
パスの指定」を既に読んでいるとすれば、インストール先やパッケージに固めるファイルをどのように指定するか既にわかっているはずだ。

しかしながら意外に盲点なのが、空のディレクトリを作る方法だ。私は仕事で空ディレクトリを作れずにハマった記憶があるが、これはそもそもComponentとDirectoryの関係が理解できていなかったという理由もあるのだが・・・。

さて、試しに実在する空のディレクトリをインストーラにパッケージングし、インストールできるように、今までと同様に記述してみよう。

<Directory Id="TARGETDIR" Name="SOURCE">
    <Directory Id="DIR1" Name="DIR1" />
</Directory>

カレントディレクトリ下に、.\SOURCE\DIR1 というディレクトリを作っておき、コンパイル・リンクをし、インストーラを起動してみよう。この記述であれば C:\DIR1 というディレクトリができると予想されるが、実際には何も起きない。

実はこれは仕方のない結果だ。Directoryタグは、インストール先やソースファイルの位置を表しているのであって、ディレクトリを作ることを示しているわけではない。
あくまでも、「SimpleInstaller」にあるようにFileタグによってファイルを配置する過程で、上位にあるディレクトリが作られているに過ぎない。

では、空のディレクトリはどのように作るのか?「Componentの概念」に書いてあるようにマニュアルでComponentタグの子要素を眺めた人なら既に気づいているかもしれない。「CreateFolder」というタグをつかうことで実現できる。

書き方としては次のような2通りの方法がある

<Directory Id="TARGETDIR" Name="SOURCE">
    <Directory Id="DIR1" Name="TESTDIR" />
    <Component Id="COMPONENT1" Guid= ...省略... >
        <CreateFolder Directory="DIR1" />
    </Component>
</Directory>

<Directory Id="TARGETDIR" Name="SOURCE">
    <Directory Id="DIR1" Name="TESTDIR">
        <Component Id="COMPONENT1" Guid= ...省略... >
            <CreateFolder />
        </Component>
    </Directory>
</Directory>


visitor: - (today: - )  Author : nagatyo

コメント (注:コメントは管理人が適宜消去する場合があります)
名前
コメント

すべてのコメントを見る

記事メニュー
ウィキ募集バナー