方法 : インストール コンポーネントの既定のメソッドをオーバーライドする
更新 : 2007 年 11 月
既定では、すべてのインストール コンポーネントに次のメソッドが含まれています。
Install — インストーラで実行する必要があるインストール機能は、すべてこのメソッド内で実行されます。Installer1 クラス (または RunInstallerAttribute 値が true に設定されている任意のクラス) は、その中に含まれている個々のインストール コンポーネントに対して Install を呼び出し、その後、Commit (インストールがすべて成功した場合) または Rollback (なんらかのエラーが発生した場合) を呼び出します。
Commit — Commit は、インストーラ クラスに含まれるすべてのインストール コンポーネントに対して Install メソッドが正常に実行された後に呼び出されます。この時点で、すべてのインストールが確定されます。通常は、例外の発生を避けるために、Commit メソッドでは何の処理も行いません。
Rollback — Rollback メソッドは、インストール プロセスの途中でエラーが発生した場合に、それまでのインストール作業をすべて元に戻すために使用します。インストーラ クラスに含まれるいずれかのインストール コンポーネントでエラーが発生した場合、それまでに実行されたすべてのインストールが元に戻されます。
Uninstall — Uninstall は、インストール コンポーネント リソースをシステムから削除するために使用します。インストールとは異なり、アンインストールはトランザクションではありません。1 つのアンインストール プロセスが失敗した場合でも、システムは他のすべてのリソースのアンインストールを試みます。
これらの各メソッドには、必要な操作を変更せずに実行する既定の処理が含まれています。ただし、必要に応じて、各手順の処理をオーバーライドして変更できます。たとえば、ServiceBase インストール コンポーネントに対して、Commit プロシージャで実行される既定の処理を変更して、サービスが正常にインストールされた後でインストール プロセスがサービスを開始するようにできます。また、Uninstall プロシージャを変更して、アンインストールの前に各サービスを停止するようにもできます。
インストール コンポーネントの既定のメソッドをオーバーライドするには
ソリューションにインストール コンポーネントを追加した後で、インストーラ クラスを開きます。
変更するインストール コンポーネントを探し、[コード エディタ] でアクセスします。
該当するメソッドをオーバーライドして、必要な機能を追加します。詳細については、「プロパティとメソッドのオーバーライド」を参照してください。
ヒント : Installer1 クラスのメソッドをオーバーライドするときには、リソースのインストール、コミット、ロールバック、およびアンインストールに必要な元の処理を必ず保持してください。一般に、既存の機能を削除するのではなく、既存の機能にコードを追加することをお勧めします。
参照
処理手順
方法 : プロジェクトにインストール コンポーネントを追加する
チュートリアル : イベント ログ コンポーネントのインストール