私は何年もパラフィンを使用していません。最新バージョンはあなたが必要とすることをするかもしれません、しかし私はあなたがパラフィンの有無にかかわらず使うことができるかもしれないいくつかの追加の考えをあなたに与えさせてください。
パラフィン、熱、獣脂の欠点の1つは、バイナリを収集することです。バイナリは、適切なフォルダなどに存在する必要があります。別の方法は、.slnファイル自体とそれが参照する.projファイルから収集することです。解決策は次のとおりです。おそらく、製品|パッケージに含まれるバイナリと含まれないバイナリの最も信頼のおけるリストです。ソース管理でフラグメントを維持したり、実際にバイナリをビルドしたりすることなく、ビルド時に各バイナリのフラグメントを自動的に生成できる場合があります。
WiX 3.6以降でのMSBuild統合、特に収穫ターゲットを調べてください。それでもうまくいかない場合は、次のことを試してください。
最近のプロジェクトで採用したアプローチは、熱を完全にバイパスしました。.slnとその.proj参照をスキャンし、各バイナリのWiXフラグメントを直接生成するワークフローアクティビティを作成しました。これらはすべて単なるXMLドキュメントです。バージョン3のUUIDは、バイナリ名、ターゲットフォルダー、ビルドバージョン(このアイデアではDerek Ciceroneのクレジット)に基づいて生成されたため、 ComponentIDはビルド間で一貫性がありましたが、新しいバージョンに分岐すると自動的にロールされました。
ソリューション内の一部のバイナリ(テストジグなど)は、インストーラーパッケージに入れたくなかったため、新しいMSBuildプロパティを.projファイルに挿入して、「インストール可能」(またはインストール不可)のフラグを付けました。プロパティを挿入してターゲットディレクトリを指定できます。この場合、すべてのバイナリが同じフォルダに入るはずだったので、それは必要ありませんでした。ファンシーになりたい場合は、このためのカスタムVisualStudioプロジェクトプロパティページを作成することもできます。
これの利点の1つは、チームのアプリ開発者がソリューションに新しいバイナリを追加するか、既存のバイナリを削除するだけで、インストーラーパッケージが次のビルドで.msiパッケージに含まれていたものを自動的に同期することです。インストーラーの人(本当にあなたのもの)をたくさんの手間を省きました!
これらのアプローチを組み合わせることができます。構築するバイナリのソリューションをスキャンし、その情報を使用して、パラフィンをターゲットにするか、適切なフォルダー|ファイルで加熱して収穫します。