2012-04-19 3 views
0

私はまだWixを初めて使っていますので、私はそれがどのように動作するかを頭に入れようとしています。それにはたくさんあり、それを理解するのは少し難しいです。私のWix MSIにパッチファイルがたくさん含まれている場合。一時的な場所にファイルを抽出してカスタムアクションを使用し、パッチを実行し、パッチを適用したファイルバージョンでバージョンを更新してから、他のMSIアクションを実行できますか?Wixのカスタムインストーラ

XMLでこれをどうやって行うのか分かりません。私はいくつかの実行シーケンスがあると仮定します

また、これが可能ならば、ビルド中にMSIにパッチファイルを動的に追加する方法が必要です。これを出力フォルダに置くことはできますか?

答えて

-1

WiXはinstallshieldなどと比べてはるかに優れていますが、既存の.wixprojを見ることなく、これは直接答えにくいです。カスタムアクションを使って必要なものすべてを行うことができますが、ロールバックやアンインストールのために簡単に取り消すことはできないので、まさに "WiXの方法"ではありません。ビルド中に動的にファイルを追加することは絶対に可能です。ラミレスのWiX:WindowsインストーラXMLの開発者ガイドにあなたを絶対に導かねばなりません。私はこのような複雑なインストーラを構築して立ち往生し、この本は非常に貴重でした。

簡単に言うことができることは、パッチ適用部分では、実行タスクを実行してパッチプログラムを実行し、実行するパッチファイルを渡すことができるということです。これらをすべて一時ディレクトリにダンプして実行できます。

+0

私のwixプロジェクトは空のシェルです。私は、あなたが私のパチャを実行できるはずのカスタムアクションを作成できることがわかります。私はPatcherにRollbackでビルドしようとしていました。カスタムロールバックアクションを呼び出すことはできますか? –

+0

実際、それは「InstallShield」の方法でもないことを意味する「Windows Installer」の方法ではありません。 WiXはInstallShieldより魔法的に優れているわけではありません。これは、Windowsインストーラを作成する方法とはちょうど異なる方法であり、どちらも長所と短所があります。私は16年間のInstallShield、10年間のWindowsインストーラ、6年間のWiX経験から話をします。 –

+0

私はあなたとクリストファーと議論するつもりはない。あなたの記事はインストーラをビルドした最後の時間に私の助けになりました!私の最大の懸念は、外部のパッチャプログラムが失敗するならば、簡単に元に戻すことができないということでした。誰かがWiXのすべての仕組みを学びたいと思っているなら、私は私が個人的に非常に貴重なと思った本を勧めました。私は作者とは関係がありません.WiXの複雑さを学ぶ必要があったときに、同僚と同じ本を与えました。 –

関連する問題