Communication with WiX Burn bootstrapper using embedded pipe

别说谁变了你拦得住时间么 提交于 2020-01-03 03:56:09

问题


I'm working on a application, which works on top of WiX bundle, and communicates via embedded pipe (by utilizing ManagedBundleRunner) and receives progress and error updates.

Currently I use the standard WiX bootstrapper. However, I will be creating custom managed bootstrapper to implement custom behavior.

Part of this new behavior is a bidirectional communication of my application with the bootstrapper.

After exploring WiX source (especially Burn engine), I've come up with two approaches:

1) create pipe inside managed bootstrapper and communicate with the application using custom protocol

2) re-use existing communication channel provided by the Burn engine (m_pEngineState->embeddedConnection.hPipe)

However, both approaches have advantages and disadvantages. By reusing the existing channel used by Burn engine and ManagedBundleRunner, I would already have infrastructure for the communication. However that would require modifying the Burn engine.

Creating separate communication channel and protocol enables bootstrapper and my application to communicate without affecting the Burn engine. On the other hand, I would have to create all the infrastructure for receiving and sending messages.

What is recommended approach in this case?

来源:https://stackoverflow.com/questions/33119540/communication-with-wix-burn-bootstrapper-using-embedded-pipe

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!