Freigeben über


AssemblyInstaller.Install(IDictionary) Methode

Definition

Führt die Installation durch.

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

Parameter

savedState
IDictionary

Ein IDictionary-Objekt, in dem die zum Ausführen eines Commit-, Rollback- oder Deinstallationsvorgangs erforderlichen Daten gespeichert werden.

Ausnahmen

Der savedState-Parameter ist null.

- oder -

Eine Datei konnte nicht gefunden werden.

Im BeforeInstall-Ereignishandler eines der Installationsprogramme in der Auflistung ist eine Ausnahme aufgetreten.

- oder -

Im AfterInstall-Ereignishandler eines der Installationsprogramme in der Auflistung ist eine Ausnahme aufgetreten.

- oder -

In einer der Assemblys wurden keine Installationsprogrammtypen gefunden.

- oder -

Für einen der Installationsprogrammtypen konnte keine Instanz erstellt werden.

Beispiele

Im folgenden Beispiel werden der AssemblyInstaller Konstruktor und die Install Methoden und Commit der AssemblyInstaller -Klasse veranschaulicht.

Ein Objekt der AssemblyInstaller -Klasse wird durch Aufrufen des AssemblyInstaller Konstruktors erstellt. Die Eigenschaften dieses Objekts werden festgelegt, und die Install Methoden und Commit werden aufgerufen, um die Assembly "MyAssembly_Install.exe" zu installieren.

#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

Hinweise

Diese Methode ruft die Install -Methode jedes Installationsprogramms auf, das in der Installers -Eigenschaft dieses instance enthalten ist. Das IDictionary durch den savedState Parameter angegebene Objekt wird aktualisiert, um die status der Installation widerzuspiegeln, nachdem die enthaltenen Installationsprogramme ausgeführt wurden. Wenn alle Install Methoden erfolgreich sind, wird die Commit -Methode aufgerufen. Andernfalls wird die Rollback -Methode aufgerufen.

Hinweise für Aufrufer

Die IDictionary vom savedState -Parameter angegebene sollte leer sein, wenn sie an die Install(IDictionary) -Methode übergeben wird.

Gilt für: