使用嵌入式管道与WiX Burn引导程序通信

使用嵌入式管道与WiX Burn引导程序通信,wix,pipe,bootstrapper,burn,Wix,Pipe,Bootstrapper,Burn,我正在开发一个应用程序,它在WiX捆绑包之上工作,通过嵌入式管道(利用ManagedBundlerRunner)进行通信,并接收进度和错误更新 目前我使用标准的WiX引导程序。但是,我将创建自定义托管引导程序来实现自定义行为 这个新行为的一部分是我的应用程序与引导程序的双向通信 在探索WiX源代码(特别是Burn engine)之后,我提出了两种方法: 1) 在托管引导程序内创建管道,并使用自定义协议与应用程序通信 2) 重新使用Burn engine提供的现有通信通道(m_pEngineSta

我正在开发一个应用程序,它在WiX捆绑包之上工作,通过嵌入式管道(利用ManagedBundlerRunner)进行通信,并接收进度和错误更新

目前我使用标准的WiX引导程序。但是,我将创建自定义托管引导程序来实现自定义行为

这个新行为的一部分是我的应用程序与引导程序的双向通信

在探索WiX源代码(特别是Burn engine)之后,我提出了两种方法:

1) 在托管引导程序内创建管道,并使用自定义协议与应用程序通信

2) 重新使用Burn engine提供的现有通信通道(
m_pEngineState->embeddedConnection.hPipe

然而,这两种方法都有优点和缺点。通过重用Burn engine和ManagedBundlerRunner使用的现有通道,我已经拥有了通信的基础设施。然而,这需要修改燃烧发动机

创建单独的通信通道和协议使引导程序和我的应用程序能够在不影响Burn引擎的情况下进行通信。另一方面,我必须创建用于接收和发送消息的所有基础设施

在这种情况下,推荐的方法是什么