ServiceInstaller.Install(IDictionary) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
通过向注册表写入服务应用程序信息来安装服务。 该方法旨在由自动处理适当方法的安装工具使用。
public:
override void Install(System::Collections::IDictionary ^ stateSaver);
public override void Install (System.Collections.IDictionary stateSaver);
override this.Install : System.Collections.IDictionary -> unit
Public Overrides Sub Install (stateSaver As IDictionary)
参数
- stateSaver
- IDictionary
IDictionary,包含与安装关联的上下文信息。
例外
安装不包含可执行文件的 ServiceProcessInstaller。
或 - 程序集的文件名为
null
或空字符串。或 - 服务名无效。
或 - 未能打开服务控制管理器。
服务的显示名称的长度超过 255 个字符。
注解
通常,不会在代码中调用 上的方法; ServiceInstaller 它们通常仅由安装实用工具调用。 安装实用工具在安装过程中 Install 自动调用 方法。 如有必要,它通过调用生成异常的对象 Rollback 来备份故障。
应用程序的安装例程使用项目安装程序的 自动维护有关已安装组件的信息 Installer.Context 。 作为 参数传入的此状态信息会作为 实例持续更新,并且每个实例 Install stateSaver
ServiceProcessInstaller ServiceInstaller 都由 实用工具安装。 代码通常不需要显式修改此状态信息。
ServiceProcessInstaller与项目安装类关联的 将安装项目中所有 ServiceInstaller 实例通用的信息。 如果此服务具有与安装项目中的其他服务分离的信息,则此方法将安装该服务特定的信息。
若要安装服务,请创建继承自 类的项目安装程序类,并设置 类 Installer 上的 RunInstallerAttribute 属性 true
。 在项目中,为每个 ServiceProcessInstaller 服务应用程序创建一个实例,为应用程序中的每个 ServiceInstaller 服务创建一个实例。 在项目安装程序类构造函数中,使用和实例设置服务的安装 ServiceProcessInstaller 属性 ServiceInstaller ,并将实例添加到集合中 Installers 。
备注
建议使用构造函数来添加安装程序实例;但是,如果需要 Installers 在方法中将添加到集合中 Install ,请确保在方法中对集合执行相同的添加 Uninstall 。
对于从类派生的所有类 Installer ,集合的状态 Installers 在和方法中必须相同 Install Uninstall 。 但是, Install Uninstall 如果将安装程序实例添加到 Installers 自定义安装程序类构造函数中的集合,则可以避免在和方法中维护集合。