2012-04-23 15 views
0

タイトルによれば、1つのプロジェクトから2つの.msiファイルを出力したいとします(1つはユーザー単位で、もう1つはマシン単位です)。私はthisスレッドでそれはいくつかの従来の方法で行うことはできませんが、おそらくポストビルドの何らかの種類のハックとして行う方法があります。1つのWiX Votiveプロジェクトの2つの.msiファイル

わずかに変更されたコマンドラインで元のビルドの後でコンパイルとリンクを再実行する必要があります(実際は別のProduct.wxsファイルが必要です)。しかし、私のライトとキャンドルのコマンドラインは巨大なので、ハードコーディングするとプロジェクトを維持することが難しくなります。

結論として、ビルドコマンドラインを作成するときにVotiveと同じように動作するコマンドラインを記述する方法があるかどうかを知る必要があります(プロジェクト内のすべてのファイルを取得し、それらをリンクし、プロジェクトを渡します依存関係...)、ポストビルドでのみ。

PS:私も...誰かがそれを行う方法についての提案を持っているので、もし、奉納から全体コマンドラインを取得し、唯一のも役立つ製品のファイルを、変更の考えを持っていた

答えて

0

作成ソリューション/プロジェクトの複数の構成を設定し、プリプロセッサ変数を設定のいずれかの値に設定します。あなたのソースには、プリプロセッサ変数に基づいて必要なものがあれば、条件付きでインクルードしてください。

+0

確かにそれを行う方法ですが、別のプロジェクトを作成しないようにしたいと考えました。 しかし、私が今やったことは、 'Product.wixobj'を変更して、リンク部分だけを再実行することでした。これは編集するのが少し面倒でした。 今、私は2つの.msiファイルを生成することができるプロジェクトをハッキングしました。 何かを変えてこのように物事を保つ方が良いかどうかを決定することがどれほど難しいかがわかります。 –

関連する問題