AssemblyInstaller.Commit(IDictionary) Método

Definición

Completa la transacción de instalación.

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)

Parámetros

savedState
IDictionary

IDictionary que contiene el estado del equipo tras ejecutarse todos los instaladores de la colección de instaladores.

Excepciones

El parámetro savedState es null.

o bien

Puede estar dañada la interfaz IDictionary de estado guardado.

o bien

No se encontró un archivo.

Se ha producido un error en el controlador de eventos Committing de uno de los instaladores de la colección.

o bien

Se ha producido un error en el controlador de eventos Committed de uno de los instaladores de la colección.

o bien

Se ha producido una excepción durante la fase Commit(IDictionary) de la instalación. Se omite la excepción y continúa la instalación. Sin embargo, puede que la aplicación no funcione correctamente una vez finalizada la instalación.

o bien

No se encontraron los tipos de instalador en uno de los ensamblados.

o bien

No se pudo crear una instancia de uno de los tipos de instalador.

Se ha producido una excepción durante la fase Commit(IDictionary) de la instalación. Se omite la excepción y continúa la instalación. Sin embargo, puede que la aplicación no funcione correctamente una vez finalizada la instalación.

Ejemplos

En el ejemplo siguiente se muestra el AssemblyInstaller constructor y los Install métodos y Commit de la AssemblyInstaller clase .

Se crea una AssemblyInstaller clase invocando el AssemblyInstaller constructor . Las propiedades de este objeto se establecen y se llama a los Install métodos y Commit para instalar el MyAssembly_Install.exe ensamblado.

#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

Comentarios

Solo se llama a este método si los Install métodos de todos los instaladores de InstallerCollection esta instancia se realizan correctamente. A continuación, este método llama al Commit método de cada instalador de la colección.

Almacene cualquier información que necesite para realizar una operación de desinstalación correcta en el estado IDictionaryguardado , que se pasa al Uninstall método .

Se aplica a