Bagikan melalui


AssemblyInstaller.Commit(IDictionary) Metode

Definisi

Menyelesaikan transaksi penginstalan.

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

Parameter

savedState
IDictionary

Yang IDictionary berisi status komputer setelah semua penginstal dalam koleksi alat penginstal telah berjalan.

Pengecualian

Parameternya savedState adalah null.

-atau-

Status tersimpan IDictionary mungkin telah rusak.

-atau-

File tidak dapat ditemukan.

Terjadi kesalahan dalam Committing penanganan aktivitas salah satu penginstal dalam koleksi.

-atau-

Terjadi kesalahan dalam Committed penanganan aktivitas salah satu penginstal dalam koleksi.

-atau-

Pengecualian terjadi selama Commit(IDictionary) fase penginstalan. Pengecualian diabaikan dan penginstalan berlanjut. Namun, aplikasi mungkin tidak berfungsi dengan benar setelah penginstalan selesai.

-atau-

Jenis alat penginstal tidak ditemukan di salah satu rakitan.

-atau-

Instans dari salah satu jenis alat penginstal tidak dapat dibuat.

Pengecualian terjadi selama Commit(IDictionary) fase penginstalan. Pengecualian diabaikan dan penginstalan berlanjut. Namun, aplikasi mungkin tidak berfungsi dengan benar setelah penginstalan selesai.

Contoh

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

Kelas AssemblyInstaller dibuat dengan memanggil AssemblyInstaller konstruktor. Properti objek ini diatur dan Install metode dan Commit dipanggil untuk menginstal assembly 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 dipanggil hanya jika Install metode semua alat penginstal dalam instans InstallerCollection ini berhasil. Metode ini kemudian memanggil metode dari setiap alat penginstal Commit dalam koleksi.

Simpan informasi apa pun yang mungkin Anda perlukan untuk melakukan operasi penghapusan instalasi yang benar dalam status IDictionarytersimpan , yang diteruskan ke Uninstall metode .

Berlaku untuk