TransactedInstaller Класс

Определение

Определяет установщик, который либо завершается успешно, либо, если происходит сбой, оставляет компьютер в исходном состоянии.

public class TransactedInstaller : System.Configuration.Install.Installer
Наследование

Примеры

В следующем примере показаны методы TransactedInstallerTransactedInstaller , Install и Uninstall класса .

В этом примере представлена реализация, аналогичная реализацииInstallutil.exe (установщик). Он устанавливает сборки с параметрами, предшествующими этой конкретной сборке. Если параметр не указан для сборки, параметры предыдущей сборки используются, если в списке есть предыдущая сборка. Если указан параметр "/u" или "/uninstall", сборки удаляются. Если указан параметр "/?" или "/help", сведения справки отображаются в консоли.

using System;
using System.ComponentModel;
using System.Collections;
using System.Configuration.Install;
using System.IO;

public class TransactedInstaller_Example
{
   public static void Main(String[] args)
   {
      ArrayList myOptions = new ArrayList();
      String myOption;
      bool toUnInstall = false;
      bool toPrintHelp = false;
      TransactedInstaller myTransactedInstaller = new TransactedInstaller();
      AssemblyInstaller myAssemblyInstaller;
      InstallContext myInstallContext;

      try
      {
         for(int i = 0; i < args.Length; i++)
         {
            // Process the arguments.
            if(args[i].StartsWith("/") || args[i].StartsWith("-"))
            {
               myOption = args[i].Substring(1);
               // Determine whether the option is to 'uninstall' an assembly.
               if(String.Compare(myOption, "u", true) == 0 ||
                  String.Compare(myOption, "uninstall", true) == 0)
               {
                  toUnInstall = true;
                  continue;
               }
               // Determine whether the option is for printing help information.
               if(String.Compare(myOption, "?", true) == 0 ||
                  String.Compare(myOption, "help", true) == 0)
               {
                  toPrintHelp = true;
                  continue;
               }
               // Add the option encountered to the list of all options
               // encountered for the current assembly.
               myOptions.Add(myOption);
            }
            else
            {
               // Determine whether the assembly file exists.
               if(!File.Exists(args[i]))
               {
                  // If assembly file doesn't exist then print error.
                  Console.WriteLine("\nError : {0} - Assembly file doesn't exist.",
                     args[i]);
                  return;
               }

               // Create a instance of 'AssemblyInstaller' that installs the given assembly.
               myAssemblyInstaller =
                  new AssemblyInstaller(args[i],
                  (string[]) myOptions.ToArray(typeof(string)));
               // Add the instance of 'AssemblyInstaller' to the 'TransactedInstaller'.
               myTransactedInstaller.Installers.Add(myAssemblyInstaller);
            }
         }
         // If user requested help or didn't provide any assemblies to install
         // then print help message.
         if(toPrintHelp || myTransactedInstaller.Installers.Count == 0)
         {
            PrintHelpMessage();
            return;
         }

         // Create a instance of 'InstallContext' with the options specified.
         myInstallContext =
            new InstallContext("Install.log",
            (string[]) myOptions.ToArray(typeof(string)));
         myTransactedInstaller.Context = myInstallContext;

         // Install or Uninstall an assembly depending on the option provided.
         if(!toUnInstall)
            myTransactedInstaller.Install(new Hashtable());
         else
            myTransactedInstaller.Uninstall(null);
      }
      catch(Exception e)
      {
         Console.WriteLine("\nException raised : {0}", e.Message);
      }
   }

   public static void PrintHelpMessage()
   {
      Console.WriteLine("Usage : TransactedInstaller [/u | /uninstall] [option [...]] assembly" +
         "[[option [...]] assembly] [...]]");
      Console.WriteLine("TransactedInstaller executes the installers in each of" +
         " the given assembly. If /u or /uninstall option" +
         " is given it uninstalls the assemblies.");
   }
}

Комментарии

Чтобы запустить установщики в транзакции, добавьте их в Installers свойство этого TransactedInstaller экземпляра.

Конструкторы

TransactedInstaller()

Инициализирует новый экземпляр класса TransactedInstaller.

Свойства

CanRaiseEvents

Возвращает значение, показывающее, может ли компонент вызывать событие.

(Унаследовано от Component)
Container

Возвращает объект IContainer, который содержит коллекцию Component.

(Унаследовано от Component)
Context

Получает или задает сведения о текущей установке.

(Унаследовано от Installer)
DesignMode

Возвращает значение, указывающее, находится ли данный компонент Component в режиме конструктора в настоящее время.

(Унаследовано от Component)
Events

Возвращает список обработчиков событий, которые прикреплены к этому объекту Component.

(Унаследовано от Component)
HelpText

Получает текст справки для всех установщиков из коллекции установщиков.

(Унаследовано от Installer)
Installers

Получает коллекцию установщиков, содержащуюся в данном установщике.

(Унаследовано от Installer)
Parent

Получает или задает установщик, содержащий коллекцию, к которой принадлежит данный установщик.

(Унаследовано от Installer)
Site

Получает или задает ISite объекта Component.

(Унаследовано от Component)

Методы

Commit(IDictionary)

Завершает транзакцию установки, если переопределен в наследующем классе.

(Унаследовано от Installer)
CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

(Унаследовано от MarshalByRefObject)
Dispose()

Освобождает все ресурсы, занятые модулем Component.

(Унаследовано от Component)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом Component, а при необходимости освобождает также управляемые ресурсы.

(Унаследовано от Component)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.

(Унаследовано от MarshalByRefObject)
GetService(Type)

Возвращает объект, представляющий службу, предоставляемую классом Component или классом Container.

(Унаследовано от Component)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
Install(IDictionary)

Производит установку.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.

(Унаследовано от MarshalByRefObject)
OnAfterInstall(IDictionary)

Вызывает событие AfterInstall.

(Унаследовано от Installer)
OnAfterRollback(IDictionary)

Вызывает событие AfterRollback.

(Унаследовано от Installer)
OnAfterUninstall(IDictionary)

Вызывает событие AfterUninstall.

(Унаследовано от Installer)
OnBeforeInstall(IDictionary)

Вызывает событие BeforeInstall.

(Унаследовано от Installer)
OnBeforeRollback(IDictionary)

Вызывает событие BeforeRollback.

(Унаследовано от Installer)
OnBeforeUninstall(IDictionary)

Вызывает событие BeforeUninstall.

(Унаследовано от Installer)
OnCommitted(IDictionary)

Вызывает событие Committed.

(Унаследовано от Installer)
OnCommitting(IDictionary)

Вызывает событие Committing.

(Унаследовано от Installer)
Rollback(IDictionary)

Восстанавливает состояние компьютера до установки, если переопределен в наследующем классе.

(Унаследовано от Installer)
ToString()

Возвращает объект String, содержащий имя Component, если оно есть. Этот метод не следует переопределять.

(Унаследовано от Component)
Uninstall(IDictionary)

Удаляет компоненты установки.

События

AfterInstall

Происходит после выполнения методов Install(IDictionary) всех установщиков из свойства Installers.

(Унаследовано от Installer)
AfterRollback

Происходит после отката установок всех установщиков из свойства Installers.

(Унаследовано от Installer)
AfterUninstall

Происходит после выполнения операций удаления всеми установщиками из свойства Installers.

(Унаследовано от Installer)
BeforeInstall

Происходит до того, как был запущен метод Install(IDictionary) каждого установщика из коллекции установщиков.

(Унаследовано от Installer)
BeforeRollback

Происходит до отката установщиков из свойства Installers.

(Унаследовано от Installer)
BeforeUninstall

Происходит до выполнения операций удаления установщиками из свойства Installers.

(Унаследовано от Installer)
Committed

Происходит после фиксации установки всеми установщиками из свойства Installers.

(Унаследовано от Installer)
Committing

Происходит до фиксации установок установщиками из свойства Installers.

(Унаследовано от Installer)
Disposed

Возникает при удалении компонента путем вызова метода Dispose().

(Унаследовано от Component)

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

Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1