MessageQueueInstaller.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,用于保存执行提交、回滚或卸载操作所需的信息。
注解
方法Install将消息队列信息写入注册表,并将 实例与位于 属性指定Path路径的队列相关联MessageQueue。 如果队列尚不存在, Install 将创建事务性队列。 Install 将新的或现有的队列属性设置为在 中指定的 MessageQueueInstaller那些。 如果队列已存在,则其属性将重置为 的 MessageQueueInstaller那些属性。 如果现有队列不是事务性队列,则会将其删除,然后将其重新创建为事务性队列。
注意
如果需要重新创建队列,队列中的消息将丢失。
通常,你不会从代码中调用 的方法 MessageQueueInstaller ;它们通常仅由 installutil.exe 安装实用工具调用。 实用工具在安装过程中自动调用 Install 方法,以写入与正在安装的消息队列关联的注册表信息。 安装是事务性的,因此,如果在安装过程中任何安装项目组件发生故障,所有以前安装的组件都会回滚到其预安装状态。 这是通过调用每个组件的 方法实现的 Rollback 。
成功安装与安装项目关联的所有组件后,安装实用工具将提交安装。 Commit 通过将队列设置为适当的初始状态来完成 的安装 MessageQueue 。 如果 属性指定的 Path 队列已存在并且包含消息, Commit 则清除消息。 Commit清除消息的操作无法回滚,而不是 Install清除消息。
应用程序的安装例程使用项目安装程序的 Installer.Context 自动维护有关已安装的组件的信息。 此状态信息作为 stateSaver
参数传递给 Install ,在实用工具安装每个MessageQueueInstaller实例时会不断更新。 通常,代码不需要显式修改此状态信息。