AssemblyInstaller.Commit(IDictionary) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Kończy transakcję instalacji.
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)
Parametry
- savedState
- IDictionary
Element IDictionary zawierający stan komputera po uruchomieniu wszystkich instalatorów w kolekcji instalatora.
Wyjątki
Parametr savedState
ma wartość null
.
-lub-
Zapisany stan IDictionary mógł zostać uszkodzony.
-lub-
Nie można odnaleźć pliku.
Wystąpił błąd w procedurze Committing obsługi zdarzeń jednego z instalatorów w kolekcji.
-lub-
Wystąpił błąd w procedurze Committed obsługi zdarzeń jednego z instalatorów w kolekcji.
-lub-
Wystąpił wyjątek w Commit(IDictionary) fazie instalacji. Wyjątek jest ignorowany, a instalacja będzie kontynuowana. Jednak aplikacja może nie działać poprawnie po zakończeniu instalacji.
-lub-
Nie można odnaleźć typów instalatora w jednym z zestawów.
-lub-
Nie można utworzyć wystąpienia jednego z typów instalatora.
Wystąpił wyjątek w Commit(IDictionary) fazie instalacji. Wyjątek jest ignorowany, a instalacja będzie kontynuowana. Jednak aplikacja może nie działać poprawnie po zakończeniu instalacji.
Przykłady
W poniższym przykładzie pokazano AssemblyInstaller konstruktor i Install metody AssemblyInstaller i Commit klasy .
Klasa AssemblyInstaller jest tworzona przez wywołanie konstruktora AssemblyInstaller . Właściwości tego obiektu są ustawiane, a Install metody i Commit są wywoływane w celu zainstalowania MyAssembly_Install.exe
zestawu.
#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
Uwagi
Ta metoda jest wywoływana tylko wtedy, gdy Install metody wszystkich instalatorów w tym wystąpieniu kończą się InstallerCollection powodzeniem. Następnie ta metoda wywołuje metodę Commit każdego instalatora w kolekcji.
Zapisz wszelkie informacje, które mogą być konieczne, aby wykonać prawidłową operację odinstalowania w zapisanym stanie IDictionary, który jest przekazywany do Uninstall metody .