AssemblyInstaller.Commit(IDictionary) Metod

Definition

Slutför installationstransaktionen.

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)

Parametrar

savedState
IDictionary

En IDictionary som innehåller datorns tillstånd när alla installationsprogram i installationssamlingen har körts.

Undantag

Parametern savedState är null.

-eller-

Det sparade tillståndet IDictionary kan ha skadats.

-eller-

Det gick inte att hitta en fil.

Ett fel uppstod i Committing händelsehanteraren för en av installationsprogrammet i samlingen.

-eller-

Ett fel uppstod i Committed händelsehanteraren för en av installationsprogrammet i samlingen.

-eller-

Ett undantag inträffade under Commit(IDictionary) installationens fas. Undantaget ignoreras och installationen fortsätter. Programmet kanske dock inte fungerar korrekt när installationen har slutförts.

-eller-

Installationstyper hittades inte i någon av sammansättningarna.

-eller-

Det gick inte att skapa en instans av någon av installationstyperna.

Ett undantag inträffade under Commit(IDictionary) installationens fas. Undantaget ignoreras och installationen fortsätter. Programmet kanske dock inte fungerar korrekt när installationen har slutförts.

Exempel

I följande exempel visas AssemblyInstaller konstruktorn och Install metoderna och Commit för AssemblyInstaller klassen.

En AssemblyInstaller klass skapas genom att AssemblyInstaller anropa konstruktorn. Egenskaperna för det här objektet anges och Install metoderna och Commit anropas för att installera MyAssembly_Install.exe sammansättningen.

#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

Kommentarer

Den här metoden anropas endast om Install metoderna för alla installationsprogram i den här instansen lyckas InstallerCollection . Den här metoden anropar sedan metoden för Commit varje installationsprogram i samlingen.

Lagra all information som du kan behöva för att utföra en korrekt avinstallationsåtgärd i det sparade tillståndet IDictionary, som skickas till Uninstall metoden.

Gäller för