AssemblyInstaller.Commit(IDictionary) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.