Bagikan melalui


AssemblyInstaller.Install(IDictionary) Metode

Definisi

Melakukan penginstalan.

public:
 override void Install(System::Collections::IDictionary ^ savedState);
public override void Install (System.Collections.IDictionary savedState);
override this.Install : System.Collections.IDictionary -> unit
Public Overrides Sub Install (savedState As IDictionary)

Parameter

savedState
IDictionary

Digunakan IDictionary untuk menyimpan informasi yang diperlukan untuk melakukan operasi penerapan, pembatalan, atau penghapusan instalasi.

Pengecualian

Parameternya savedState adalah null.

-atau-

File tidak dapat ditemukan.

Pengecualian terjadi dalam penanganan BeforeInstall aktivitas salah satu penginstal dalam koleksi.

-atau-

Pengecualian terjadi dalam penanganan AfterInstall aktivitas salah satu penginstal dalam koleksi.

-atau-

Jenis alat penginstal tidak ditemukan di salah satu rakitan.

-atau-

Instans dari salah satu jenis alat penginstal tidak dapat dibuat.

Contoh

Contoh berikut menunjukkan AssemblyInstaller konstruktor dan Install metode AssemblyInstaller dan Commit kelas .

Objek kelas AssemblyInstaller dibuat dengan memanggil AssemblyInstaller konstruktor. Properti objek ini diatur dan Install metode dan Commit dipanggil untuk menginstal rakitan 'MyAssembly_Install.exe'.

#using <System.dll>
#using <System.Configuration.Install.dll>

using namespace System;
using namespace System::Configuration::Install;
using namespace System::Collections;
using namespace System::Collections::Specialized;
void main()
{
   IDictionary^ mySavedState = gcnew Hashtable;
   Console::WriteLine( "" );
   try
   {
      // Set the commandline argument array for 'logfile'.
      array<String^>^myString = {"/logFile=example.log"};
      
      // Create an Object* of the 'AssemblyInstaller' class.
      AssemblyInstaller^ myAssemblyInstaller = gcnew AssemblyInstaller;

      // Set the properties to install the required assembly.
      myAssemblyInstaller->Path = "MyAssembly_Install.exe";
      myAssemblyInstaller->CommandLine = myString;
      myAssemblyInstaller->UseNewContext = true;
      
      // Clear the 'IDictionary' Object*.
      mySavedState->Clear();
      
      // Install the 'MyAssembly_Install' assembly.
      myAssemblyInstaller->Install( mySavedState );
      
      // Commit the 'MyAssembly_Install' assembly.
      myAssemblyInstaller->Commit( mySavedState );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( e );
   }
}
using System;
using System.Configuration.Install;
using System.Collections;
using System.Collections.Specialized;

class MyInstallClass
{
   static void Main()
   {
      IDictionary mySavedState = new Hashtable();

      Console.WriteLine( "" );

      try
      {
         // Set the commandline argument array for 'logfile'.
         string[] myString = new string[ 1 ];
         myString[ 0 ] = "/logFile=example.log";

         // Create an object of the 'AssemblyInstaller' class.
         AssemblyInstaller myAssemblyInstaller = new AssemblyInstaller();

         // Set the properties to install the required assembly.
         myAssemblyInstaller.Path = "MyAssembly_Install.exe";
         myAssemblyInstaller.CommandLine = myString;
         myAssemblyInstaller.UseNewContext = true;

         // Clear the 'IDictionary' object.
         mySavedState.Clear();

         // Install the 'MyAssembly_Install' assembly.
         myAssemblyInstaller.Install( mySavedState );

         // Commit the 'MyAssembly_Install' assembly.
         myAssemblyInstaller.Commit( mySavedState );
      }
      catch( Exception )
      {
      }
   }
}
Imports System.Configuration.Install
Imports System.Collections
Imports System.Collections.Specialized

Class MyInstallClass
   
   Shared Sub Main()
      Dim mySavedState = New Hashtable()
      
      Console.WriteLine("")
      

      Try
         ' Set the commandline argument array for 'logfile'.
         Dim myString(0) As String
         myString(0) = "/logFile=example.log"
         ' Create an object of the 'AssemblyInstaller' class.
         Dim myAssemblyInstaller As New AssemblyInstaller()
         ' Set the properties to install the required assembly.
         myAssemblyInstaller.Path = "MyAssembly_Install.exe"
         myAssemblyInstaller.CommandLine = myString
         myAssemblyInstaller.UseNewContext = True
         
         ' Clear the 'IDictionary' object.
         mySavedState.Clear()
         
         ' Install the 'MyAssembly_Install' assembly.
         myAssemblyInstaller.Install(mySavedState)
         
         ' Commit the 'MyAssembly_Install' assembly.
         myAssemblyInstaller.Commit(mySavedState)
      Catch
      End Try

   End Sub
End Class

Keterangan

Metode ini memanggil metode dari setiap alat penginstal Install yang terkandung dalam Installers properti instans ini. Objek IDictionary yang ditentukan oleh parameter diperbarui savedState untuk mencerminkan status penginstalan setelah penginstal yang terkandung telah berjalan. Jika semua Install metode berhasil, Commit metode dipanggil. Jika tidak, Rollback metode dipanggil.

Catatan Bagi Pemanggil

yang IDictionary ditentukan oleh savedState parameter harus kosong ketika diteruskan ke Install(IDictionary) metode .

Berlaku untuk