Visual Studio 2008 および WiX(v3) で heat.exe を使用して .csproj を収集する
質問
Wix v3 はツール (heat.exe) を使用して情報を WiX フラグメントに「収集」していることがわかりました。私が間違った場所を探しているか、これは文書化されていないかのどちらかです。
メディア ファイルを含む複雑なフォルダー構造に対して WiX フラグメントを自動生成する最善の方法 (heat.exe を使用する可能性が高い) は次のとおりです。
- さまざまなタイプ (ico/png/xaml/etc)
- 定期的に変更される可能性があります (名前/場所/追加/削除)
- 「コンテンツ」として分類され、.csproj に含まれるもの
WiX 経由でインストーラーに組み込むことができ、礼儀正しくアップグレードやパッチに耐えられるようなものでしょうか?
背景情報
- WiX フラグメントの自動生成要件を解決していると思われる heat.exe を見つけました。
- 「dir」ハーベスタを動作させる際に、「project」ハーベスタに気づきました(コマンドラインヘルプ)
- メディアはすでに C# プロジェクト ファイル内にあるため、「-pog:Content」が非常にうまく機能する可能性があることに注意してください。
- カーソル検索により、「プロジェクト」ハーベスタについて言及していない古いドキュメントが見つかりました
- プロジェクト全体のインストーラーはおそらく「プロジェクト」ハーベスターで実行できることに気づきましたが、これがどの程度サポートされているか、また落とし穴は何なのかは不明でした。
- 「PUT-GUID-HERE」の生成を見て、GUID の自動生成がアップグレード/パッチに影響を与える可能性があることに気付きました。
- 同じような目的でこれらのツールを使用している人がいるはずで、おそらく私を正しい方向に導いてくれるかもしれないことに気づきました。
v3 はまだ「完成」していない (したがって、ドキュメントやチュートリアルが不足している) ことが (かなり) 指摘されました。私が今感じているのは、ビルド スクリプトでこれを自動化するのは簡単ではなく、これを容易にするツールが現在成長しているということです。
解決
私の経験ジョン・ロビンズで<のhref = "http://www.wintellect.com/CS/blogs/jrobbins/archive/2007/10/21/wix-a-better-tallow-paraffin.aspx" rel = "nofollowをnoreferrer"> tallow.exeの問題の多くを解決するパラフィン(v3ではheat.exe)。パラフィンは、V3とうまく果たしているかどうかはわからないんだけど、それはチェックアウトする価値があるかもしれません。
ちなみに、私はビルドプロセスにパラフィンを使用してきましたし、それは私がPowerShellスクリプトを関与前の2-3のステップクリーンアッププロセスを削除することができます。
他のヒント
自動生成されたセットアップのアップグレードへの影響については、 これを読む. 。持ち帰りのメッセージ:
Windows インストーラーでは、 マイナーアップグレードでのコンポーネントの削除
セットアップを自動的に生成した場合、コンポーネントが引き続き存在することを保証するのは困難です。したがって、コンポーネントを自動生成するか、マイナー アップグレードを実行する機能のどちらかを選択する必要があります。
自動生成されたコンポーネントがある場合は、メジャー アップグレードに固執してください。使用できます このサンプルはロブによるものです 例として。
おかげで、バックグラウンドのために、私は、彼らはウィックスの新しいバージョンに取り組んでいたことに気づいていませんでした。プロジェクトのページによると、それはまだRTMではないので、それはあなたが抱えている問題を説明することがあります。私は回答の一つでWIX開発者から話を聞くことを願っています。
私はあなたがアンダー開発heat.exe機能を使用するのに役立つことはできません。しかし、私はあなたの状況にあったと私の解決策は、入力として、ディレクトリやファイルの情報を取り、出力として有効なWiXのプロジェクトファイルを生成したツールを作成することでした。 .vsprojファイルには、ちょうどXMLファイルです、あなたは仕事をするためにXSL、C#のLINQ、PowerShellの、または他のツールの数を使用することができます。私は個人的に、この目的のためにVSのプロジェクトファイルを解析する(事前LINQ)のC#/ XMLDOMを使用しています。
グッドラック、
デーブ
ドキュメントについては、WiXのと一緒にインストールされるヘルプファイルをチェックアウトする - の WiX.chm のは、(コマンドライン-help
オプションと一緒に)、最新の情報を提供します。