8

製品のいくつかのファイルについて、インストール時に 2 つの異なる場所にコピーする必要があります。例えば:

C:\Program Files (x86)\My Company\My App\foo\xyzzy.txt
C:\Program Files (x86)\My Company\My App\bar\xyzzy.txt

これら 2 つの xyzzy.txt のコピーは同一です。

キャビネット内にファイルの同一のコピーを保持することによるサイズヒットは避けたいと思います。makecab で遊んでみると、cab 内にファイルのコピーを複製すると、cab のサイズが効果的に 2 倍になるようです。比較すると、7zip はサイズのコストをほとんどかけずに 2 番目のコピーを含めることができます。

(組み込み) キャビネットに各ファイルの 1 つのコピーを保持し、それを 2 つの異なる場所にインストールすることは可能ですか? もしそうなら、WiX 3.5 でそれをどのように指定しますか?

同じ Id を持つ 2 つの File 要素を持つと、XML の規則や WiX コンポーネントの規則に違反することになると思います。一方、一意のファイル要素がある場合、ライトは単純に同じファイルの 2 つのコピーをキャビネットに配置しますか?

4

1 に答える 1

11

はい、WiX 3 はこれを自動的に行います。異なる File 要素で同じ Source 属性を使用するだけです。そして、はい、File 要素に異なる Id 属性を与える必要があります。

于 2013-06-20T01:49:39.553 に答える