visual studio installer制作安装包——Installer 类

时间:2024-08-15 11:06:14

链接:https://msdn.microsoft.com/zh-cn/library/system.configuration.install.installer.aspx

Installer 类

提供自定义安装的基础。

命名空间:   System.Configuration.Install

程序集:  System.Configuration.Install(System.Configuration.Install.dll 中)

public class Installer : Component

  名称 说明
visual studio installer制作安装包——Installer 类 Installer()

初始化 Installer 类的新实例。

  名称 说明
visual studio installer制作安装包——Installer 类 CanRaiseEvents

获取一个指示组件是否可以引发事件的值。(从 Component 继承。)

visual studio installer制作安装包——Installer 类 Container

获取 IContainer,它包含 Component。(从 Component 继承。)

visual studio installer制作安装包——Installer 类 Context

获取或设置关于当前安装的信息。

visual studio installer制作安装包——Installer 类 DesignMode

获取一个值,用以指示 Component 当前是否处于设计模式。(从 Component 继承。)

visual studio installer制作安装包——Installer 类 Events

获取附加到此 Component 的事件处理程序的列表。(从 Component 继承。)

visual studio installer制作安装包——Installer 类 HelpText

获取安装程序集合中所有安装程序的帮助文字。

visual studio installer制作安装包——Installer 类 Installers

获取该安装程序包含的安装程序的集合。

visual studio installer制作安装包——Installer 类 Parent

获取或设置包含该安装程序所属的集合的安装程序。

visual studio installer制作安装包——Installer 类 Site

获取或设置 ComponentISite。(从 Component 继承。)

  名称 说明
visual studio installer制作安装包——Installer 类 Commit(IDictionary)

在派生类中重写时,完成安装事务。

visual studio installer制作安装包——Installer 类 CreateObjRef(Type)

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。(从
MarshalByRefObject 继承。)

visual studio installer制作安装包——Installer 类 Dispose()

释放由 Component 使用的所有资源。(从 Component 继承。)

visual studio installer制作安装包——Installer 类 Dispose(Boolean)

释放由 Component 占用的非托管资源,还可以另外再释放托管资源。(从 Component 继承。)

visual studio installer制作安装包——Installer 类 Equals(Object)

确定指定的对象是否等于当前对象。(从 Object 继承。)

visual studio installer制作安装包——Installer 类 Finalize()

在通过垃圾回收将 Component 回收之前,释放非托管资源并执行其他清理操作。(从 Component 继承。)

visual studio installer制作安装包——Installer 类 GetHashCode()

作为默认哈希函数。(从 Object 继承。)

visual studio installer制作安装包——Installer 类 GetLifetimeService()

检索控制此实例的生存期策略的当前生存期服务对象。(从 MarshalByRefObject 继承。)

visual studio installer制作安装包——Installer 类 GetService(Type)

返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。(从 Component 继承。)

visual studio installer制作安装包——Installer 类 GetType()

获取当前实例的 Type。(从 Object 继承。)

visual studio installer制作安装包——Installer 类 InitializeLifetimeService()

获取控制此实例的生存期策略的生存期服务对象。(从 MarshalByRefObject 继承。)

visual studio installer制作安装包——Installer 类 Install(IDictionary)

在派生类中被重写时,执行安装。

visual studio installer制作安装包——Installer 类 MemberwiseClone()

创建当前 Object 的浅表副本。(从 Object 继承。)

visual studio installer制作安装包——Installer 类 MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。(从 MarshalByRefObject 继承。)

visual studio installer制作安装包——Installer 类 OnAfterInstall(IDictionary)

引发 AfterInstall 事件。

visual studio installer制作安装包——Installer 类 OnAfterRollback(IDictionary)

引发 AfterRollback 事件。

visual studio installer制作安装包——Installer 类 OnAfterUninstall(IDictionary)

引发 AfterUninstall 事件。

visual studio installer制作安装包——Installer 类 OnBeforeInstall(IDictionary)

引发 BeforeInstall 事件。

visual studio installer制作安装包——Installer 类 OnBeforeRollback(IDictionary)

引发 BeforeRollback 事件。

visual studio installer制作安装包——Installer 类 OnBeforeUninstall(IDictionary)

引发 BeforeUninstall 事件。

visual studio installer制作安装包——Installer 类 OnCommitted(IDictionary)

引发 Committed 事件。

visual studio installer制作安装包——Installer 类 OnCommitting(IDictionary)

引发 Committing 事件。

visual studio installer制作安装包——Installer 类 Rollback(IDictionary)

在派生类中重写时,还原计算机的安装前状态。

visual studio installer制作安装包——Installer 类 ToString()

返回包含 Component 的名称的 String(如果有)。不应重写此方法。(从 Component 继承。)

visual studio installer制作安装包——Installer 类 Uninstall(IDictionary)

在派生类中重写时,移除安装。

  名称 说明
visual studio installer制作安装包——Installer 类 AfterInstall

Installers 属性中的所有安装程序的 Install 方法都运行后发生。

visual studio installer制作安装包——Installer 类 AfterRollback

在回滚 Installers 属性中所有安装程序的安装后发生。

visual studio installer制作安装包——Installer 类 AfterUninstall

Installers 属性中所有安装程序都执行它们的卸载操作后发生。

visual studio installer制作安装包——Installer 类 BeforeInstall

在安装程序集合中每个安装程序的 Install 方法运行前发生。

visual studio installer制作安装包——Installer 类 BeforeRollback

在回滚 Installers 属性中的安装程序前发生。

visual studio installer制作安装包——Installer 类 BeforeUninstall

Installers 属性中的安装程序执行它们的卸载操作前发生。

visual studio installer制作安装包——Installer 类 Committed

Installers 属性中的所有安装程序均提交它们的安装后发生。

visual studio installer制作安装包——Installer 类 Committing

Installers 属性中的安装程序提交它们的安装前发生。

visual studio installer制作安装包——Installer 类 Disposed

当通过调用 Dispose 方法释放组件时发生。(从 Component 继承。)

这是.NET Framework 中的所有自定义安装程序类的基类。安装程序帮助的计算机上安装应用程序的组件。

有几个步骤必须遵循使用 Installer:

  • 继承 Installer 类。

  • 重写 Install, ,Commit, ,Rollback,
    ,和 Uninstall 方法。

  • 添加 RunInstallerAttribute 到派生类,并将其设置为 true

  • 将您的派生的类放在具有您的应用程序若要安装的程序集。

  • 调用安装程序。例如,使用 InstallUtil.exe 来调用安装程序。

Installers 属性包含安装程序的集合。如果此实例的
Installer 是安装程序集合的一部分 Parent 属性设置为 Installer 包含列的集合的实例。为举例说明如何使用
Installers 集合,请参阅 AssemblyInstaller 类。

Install, ,Commit,
Rollback, ,和
Uninstall 方法 Installer 类经历的安装程序中存储集合 Installers 属性,并调用每个安装程序的相应方法。

Install, ,Commit,
Rollback, ,和
Uninstall 方法不会在同一个总是调用 Installer 实例。例如,一个
Installer 可能同时安装和提交应用程序中,使用实例,然后发布到该实例的引用。更高版本,卸载应用程序时将创建一个新的引用
Installer 实例,也就是说, Uninstall 方法由不同的实例调用 Installer。为此,在派生类中,不保存在一个安装程序中的计算机的状态。请改用
IDictionary ,它在调用之间保留并传递到您 Install, ,Commit, ,Rollback,
,和 Uninstall 方法。

两种情况下说明需要将信息保存在状态保护程序中 IDictionary。首先,假设您的安装程序设置一个注册表项。它应将保存的键中的原始值
IDictionary。如果安装被回滚,则可以还原原始值。其次,假定安装程序替换现有文件。将现有的文件保存在临时目录和文件中的新位置的位置中
IDictionary。如果安装被回滚,较新的文件被删除,并替换为从临时位置原始。

Installer.Context 属性包含有关安装的信息。例如,安装过程中,要保存所需的信息的文件的位置的日志文件的位置有关的信息
Uninstall 方法,并安装可执行文件运行时输入的命令行。

下面的示例演示如何使用 Installer 类。它将创建一个类,该类继承自
Installer。当
Commit 即将完成, Committing 事件发生并显示一条消息。若要使用
Installer 类中,您必须引用 System.Configuration.Install 您的项目中的程序集。

using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration.Install; // Set 'RunInstaller' attribute to true.
[RunInstaller(true)]
public class MyInstallerClass: Installer
{
public MyInstallerClass() :base()
{
// Attach the 'Committed' event.
this.Committed += new InstallEventHandler(MyInstaller_Committed);
// Attach the 'Committing' event.
this.Committing += new InstallEventHandler(MyInstaller_Committing); }
// Event handler for 'Committing' event.
private void MyInstaller_Committing(object sender, InstallEventArgs e)
{
Console.WriteLine("");
Console.WriteLine("Committing Event occured.");
Console.WriteLine("");
}
// Event handler for 'Committed' event.
private void MyInstaller_Committed(object sender, InstallEventArgs e)
{
Console.WriteLine("");
Console.WriteLine("Committed Event occured.");
Console.WriteLine("");
}
// Override the 'Install' method.
public override void Install(IDictionary savedState)
{
base.Install(savedState);
}
// Override the 'Commit' method.
public override void Commit(IDictionary savedState)
{
base.Commit(savedState);
}
// Override the 'Rollback' method.
public override void Rollback(IDictionary savedState)
{
base.Rollback(savedState);
}
public static void Main()
{
Console.WriteLine("Usage : installutil.exe Installer.exe ");
}
}

.NET Framework

1.1 后可用

此类型的任何公共静态(Visual Basic 中为 Shared)成员都是线程安全的。但不保证所有实例成员都是线程安全的。

返回页首