53

VS 統合セットアップから WiX に切り替えることにしました。

ただし、現在行っているのは、プロジェクトの出力ファイルをセットアップ プロジェクトの入力として使用することです。これにより、アプリケーション ファイルを (画像、サンプル、その他のリソース用に) ディレクトリに簡単に追加できます。これらのファイルは、ビルド時に自動的にセットアップに追加されます。

WiX には同様の機能が見つかりませんでした。WiX では、ディレクトリとファイルごとに 1 つのディレクトリ エントリと 1 つのファイル エントリが必要なようです。これには、ファイルが追加されるたびに WiX ソースを変更する必要があり、非常に多くのファイルがあるため、私の目には法外なことです。

WiX でそれを行う統合された方法はありますか、または candle を呼び出す前に WiX ソースを作成する独自のタスクを作成する必要がありますか?

4

5 に答える 5

24

WiX 2.0の場合、獣脂は非常に制限されています。パラフィンとアオイ科の植物は追加機能を提供します。WiX 3.0の場合、熱は獣脂と同じ機能を提供しますが、少し優れています。

私の場合、パラフィンには3.5バージョンの.Netが必要なので、アオイ科の植物を使用し、少し変更して使用しました。

あなたはマローを使うことができます

またはWiXフラグメントを生成するためのパラフィンツール: はじめに、 WiXの苦痛、より 良い獣脂、パラフィンダウンロードWiX3.0用パラフィン

于 2009-01-05T23:18:55.437 に答える
19
于 2011-04-25T21:04:06.077 に答える
4

MapGuide Open Sourceプロジェクトは、他の人が指摘しているように、現在JohnRobbinsのParaffin3.0を使用しています。

基本的に、特定のリリースバージョンの最初の段階では、「生成」アクションを使用してインストーラースクリプトを実行します。このアクションは、ソースフォルダーの新しい.wxsファイルを、それぞれに特定のオプションを使用して作成します。

同じバージョンの後続のビルドでは、「regen」アクションが呼び出され、.wxsファイルが追加された新しいファイル/ディレクトリで更新されていることを確認します。

Brian Rogersが書いているように、Heat v3でも、これをたくさん(またはおそらくすべて?)実行できるようになったと思います。静的GUIDを維持することで、Paraffinがこれをより明示的に行う方法については、まだ快適ですが、現在のHeatは適切なオプションのように見えます。

于 2009-04-29T23:28:56.967 に答える
3

さらに調査した結果、まさにそれを行う tallow.exe というバイナリが含まれているようです。ファイルを再帰的に検索することにより、ディレクトリからフラグメントを作成します。

于 2009-01-05T22:31:42.257 に答える
0

私の WIX の使用では、一度にファイルのディレクトリ全体を追加できる機能に出くわしたことはありません。これは、特定のファイルを使用できる方法が多数あるためです (システムは、後でそのフォルダー内の特定のファイルを参照する必要があるかどうかなどを認識していません。システムはそれらを認識する必要があります)。インストール自体はかなり具体的である必要があるためです。

これは、ディレクトリ構造の内容を解析した後に WIX XML ファイル (またはその一部) を生成する WIX 用の独自のフロントエンドを作成することを妨げるものではありません。これは基本的に、私が仕事で使用しているシステムの 1 つが行っていることです。これは、コードやテキスト ファイル生成ユーティリティと同じ考え方です。ツリーをたどって、適切なテキストを生成するだけです。

EDIT:そのように、WIXをセットアップを定義するための「低レベル言語」と見なし、ユーティリティを「高レベル言語」と見なすことができます。作成にサポートが必要な場合は、お知らせください。

また、このユーティリティを VStudio のカスタム ビルド ステップに追加することで、ビルド プロセスの一部として WIX ファイルを生成することもできます。そうすれば、だれかがビルドする「保存された WIX ファイル」を実際に持つことはなく、システムは最後にそれをビルドし、ビルド後のステップで新しいファイルを自動的に考慮します。

于 2009-01-05T22:29:56.363 に答える