1

C# カスタム アクションをトリガーして、MSI のインストール ステージとコミット ステージをオーバーライドすることができました。ただし、ASP.NET アプリを展開するときは、インストールが始まる前にチェックを実行できるようにしたいと考えています。

起動条件があることは知っていますが、ここに独自のコードをプラグインして、起動時のチェックを自分で処理できるようにしたいと思います。起動条件は、IIS などの正しいバージョンを確認するためだけのものなのでしょうか?

ここで誰かが私を正しい方向に向けることができますか、または起動条件でC#を起動する方法がある場合でも?

4

2 に答える 2

1

カスタム アクションを使用してプロパティ値を設定し、起動条件を実行してプロパティ値を確認するのも 1 つの方法だと思います。ただし、カスタム アクションは起動条件の後まで実行されないため、これは VS インストール プロジェクトには適用されないようです。WiXはより優れた制御を可能にし、カスタム アクションをより早く実行できるようにする必要があります。

これを行う大雑把な方法は、カスタム アクションで例外をスローさせ、インストールをロールバックさせることですが、それは見苦しいハックです。

インストール時に特定のサービスが実行されているかどうかを確認する方法について議論しているフォーラム スレッドを見つけました。これにより、おそらく正しい方向に進むことができます。

于 2009-02-26T22:45:40.613 に答える
1

LaunchConditionsの直後にカスタム アクションをスケジュールするだけです。結果は、すべての意図と目的で同じです。

InstallShield では、ドロップダウン メニューからいつ実行するかを選択するだけです。または WiX を使用すると、次のようになります。

  <Custom Action="BlahBlahBlah" After="LaunchConditions">1</Custom>

いつものように、MSI を使い始める人には、The Definitive Guide to Windows Installer を読むことをお勧めします。MSI ファイルのビルドに WiX、InstallShield、またはその他のツールを使用しているかどうかに関係なく、貴重な低レベルの知識 (Visual Studio セットアップ プロジェクトと Orca を使用) を提供します。

于 2009-02-27T04:33:13.167 に答える