MSI起動条件カスタムアクション
-
09-09-2019 - |
質問
私はMSIのインストールとcommittステージを書き換えてするC#のカスタムアクションをトリガーすることができました。 ASP.NETアプリケーションを展開するときしかし、私はインストールさえ始まる前にチェックを実行できるようにしたい。
私は打ち上げの条件があることを知っている、しかし、私は単にIISなどの正しいバージョンをチェックするために、私は起動条件が表示されるものととして自分自身を起動時にチェックを処理するために、ここに私自身のコードをプラグインできるようにしたいと思います?
誰もがここで正しい方向に私を指すか、いくつかのC#を発射する起動条件を取得する方法が存在する場合であってももらえますか?
解決
私は、カスタムアクションを使用すると、プロパティの値を設定すると、プロパティの値をチェックする起動条件を実行しても一つの方法だろうと思います。カスタムアクションは、起動条件後まで実行されませんので、しかし、これは、VSのインストールプロジェクトに適用されていないようです。 WiXののより詳細に制御できるようになりますし、カスタムアクションが先に実行できるようにする必要があります。
カスタムアクションが例外をスローし、インストールがロールバックされたが、それは醜いハックだろう持っているだろう、それを行うための、粗道ます。
私がいるかどうかを確認する方法を議論する フォーラムのスレッドを発見しました特定のサービスは、おそらく正しい方向にあなたを導くことができ、インストールで実行されています。
他のヒント
ちょうどあなたのカスタムアクションをスケジュールの直後にのLaunchConditions後。その結果、すべての意図や目的のために同じである。
のInstallShieldでは、それはドロップダウンメニューを経由して実行時に選択の問題だという。
:またはWiXのを使用して、それは次のようなものになるだろう <Custom Action="BlahBlahBlah" After="LaunchConditions">1</Custom>
は常に、誰のためとして、私は、Windowsに Definitive Guideのを読むことをお勧めしますMSIの始め方インストーラに。それはあなたがWiXの、のInstallShieldまたはMSIファイルを構築するための他のツールを使用している場合に関係なく適用されます(Visual Studioのセットアッププロジェクトやオルカを使用して)非常に貴重な低レベルの知識を提供しています。