次の方法で共有


方法 : インストール コンポーネントを設定する

更新 : 2007 年 11 月

プロジェクト内のコンポーネントに対してインストール コンポーネントを作成すると、Visual Studio は、選択されたリソースを再作成するためにインストーラで必要とされるプロパティ値をコピーします。たとえば、EventLog インストーラの場合、システムは Log プロパティと Source プロパティの値をコピーし、インストール時にそれらの値を使用してログを正しい場所に作成します。

プロパティ値は、コンポーネントからコピーされるか、または、コンポーネントがテスト サーバー上でやり取りするリソースからコピーされます。たとえば、MessageQueue コンポーネントのインスタンスが、server1 というサーバー上で OrdersReceived という名前のテスト キューとやり取りするとします。このコンポーネントのインストーラを作成すると、インストーラはコンポーネントから Path プロパティの値をコピーし、この値を使用してテスト コンピュータのリソースを見つけます。テスト コンピュータ上のそのリソースに設定されているすべてのプロパティも、インストール コードにコピーされます。物理的なテスト リソースがない場合、システムはコンポーネントからすべての値をコピーします。必要なプロパティが不足している場合は、Installer1 クラスに手動で設定します。

Installer1 クラスに含まれる、この MessageQueue インストーラの既定のプロパティの例を次のコードに示します。

Private WithEvents MessageQueueInstaller1 As System.Messaging.MessageQueueInstaller
Private Sub InitializeComponent()
    Me.MessageQueueInstaller1 = New System.Messaging.MessageQueueInstaller
    MessageQueueInstaller1.MaximumJournalSize = 4294967295&
    MessageQueueInstaller1.BasePriority = 0%
    MessageQueueInstaller1.Path = "server1\OrdersReceived"
    Me.Installers.Add(MessageQueueInstaller1)
End Sub
 System.Messaging.MessageQueueInstaller MessageQueueInstaller1;
    private void InitializeComponent() {
        this.MessageQueueInstaller1 = new System.Messaging.MessageQueueInstaller();
        MessageQueueInstaller1.MaximumJournalSize = 4294967295;
        MessageQueueInstaller1.BasePriority = 0;
        MessageQueueInstaller1.Path = "server1\\OrdersReceived";
        this.Installers.Add(MessageQueueInstaller1);
    }

配置先のコンピュータで異なる値を設定するプロパティがある場合は、プロパティ値を手動で編集できます。既定のプロパティ値を変更するほかに、インストール中に行う処理を変更する必要がある場合は、インストール コンポーネントの既定のメソッドもオーバーライドできます。詳細については、「方法 : インストール コンポーネントの既定のメソッドをオーバーライドする」を参照してください。

インストール コンポーネントの既定値を変更するには

  1. ソリューションにインストール コンポーネントを追加した後で、Installer1 クラスを開きます。

  2. 変更するインストール コンポーネントを探し、[コード エディタ] でアクセスします。

  3. InitializeComponent プロシージャを探します。コンポーネントの既定のプロパティ値は、このプロシージャ内に格納されています。

  4. コンポーネントの作成に使用するプロパティ値に対して、必要な変更を加えます。

参照

処理手順

方法 : プロジェクトにインストール コンポーネントを追加する

方法 : インストール コンポーネントの既定のメソッドをオーバーライドする