Бөлісу құралы:


AssemblyInstaller.Install(IDictionary) Метод

Определение

Выполняет установку.

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)

Параметры

savedState
IDictionary

Используется IDictionary для сохранения сведений, необходимых для выполнения операции фиксации, отката или удаления.

Исключения

Параметр savedState имеет значение null.

–или–

Не удалось найти файл.

Исключение произошло в BeforeInstall обработчике событий одного из установщиков коллекции.

–или–

Исключение произошло в AfterInstall обработчике событий одного из установщиков коллекции.

–или–

Типы установщиков не найдены в одной из сборок.

–или–

Не удалось создать экземпляр одного из типов установщика.

Примеры

В следующем примере показано AssemblyInstaller конструктор и InstallCommit методы AssemblyInstaller класса.

Объект AssemblyInstaller класса создается путем вызова конструктора AssemblyInstaller . Свойства этого объекта задаются, а InstallCommit методы вызываются для установки сборкиMyAssembly_Install.exe.

#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

Комментарии

Этот метод вызывает Install метод каждого установщика, содержащегося в свойстве Installers этого экземпляра. Объект IDictionary , указанный savedState параметром, обновляется, чтобы отразить состояние установки после запуска содержащихся установщиков. Если все Install методы выполнены успешно, Commit вызывается метод. Rollback В противном случае вызывается метод.

Примечания для тех, кто вызывает этот метод

Указанный IDictionarysavedState параметром должен быть пустым при передаче в Install(IDictionary) метод.

Применяется к