「ソース」ファイルを wixlib に含めることは可能ですか?
私はいくつかの C++ ソリューションを持っており、それぞれに 1 つまたは複数のプロジェクトと、次のようなエントリを含むフラグメントを含む wixlib が含まれています。
<File Id="MY_ID" KeyPath="yes" Source="$(var.my_path)\foo.exe" />
「foo.exe」を収集して wixlib に含め、そのような複数の wixlib をリンクして MSI を生成する WiX プロジェクトを作成したいと考えています。
私が行った読書は、WiX3以降がこれをサポートしていることを示唆しているようであり、マージモジュールを使用するよりもこの手法が好まれています。
現在、バイナリ ファイルへのパスを記述する環境変数を使用しています。これは、リンク時にファイルを見つけるために light.exe によって使用されます。ただし、次の欠点があります。
- wixlibs のコンパイル時と、wixlibs を MSI にリンクする時との間に変更するファイルのバージョン、および
- wixlib のビルドに使用された環境に固有であること (例: wixlib のコンパイルとリンクが異なるマシンで行われた場合、必要なバイナリ ファイルを両方ともビルドする必要があります)