.NET, BrokeredComponent, UWP, XAML

Part 2: Brokered Component for UWP App Starter Kit

My previous blog about brokered components demonstrate a procedure on how to consume a brokered component in a windows store app (Universal windows). It described some details and a lot of steps to get started with brokered components. I’m assuming that you have already read the previous blog post about brokered component or you have enough knowledge about it. Now to make it easier, I created a brokered component starter kit inside the VSIX installer together with the previous brokered component project templates. You can download the templates in visual studio gallery. There will be a new project template called Brokered Component Solution. This will create a solution that has three projects, the client, the server and the proxy.

Here are the steps on how to use the brokered component starter kit:
1. Download the Brokered Component Templates from visual studio gallery or update the extension if you have already downloaded it.
2. Run Visual Studio 2015 as an Administrator and create a new project.
3. In the new project dialog, try to search for “Brokered Component Solution”

4. Type in the Solution name and click ok.
5. A Setup dialog box will appear. Type in the desired names for the client, proxy and the server project then click OK.

Setup Dialog
6. It will generate a new solution with the three projects in it.

7. Build the server project (right click on the project then build).
8. Right click on the proxy project and add existing item.
9. Add the files generated by the server (dlldata.c, server_i.c, server_p.c, server.h)


Add existing
10. Build the Proxy project.
11. Right click on the Client project then add a new reference.
12. Click browse and then locate the reference folder of the server, then select server.winmd (i.e. Server\Bin\Debug\Reference\Server.winmd).



13. Set the Client project as the Start up project.
14. Hit F5 to run the client project.


The new template takes care of a bunch of things such as the registration of proxy.dll, the setup of app manifest, the copying of dlls to the debug folder. If you want to know more details about the brokered component, you can check my previous post or read about the brokered component white paper.

One last tweak, this is optional by the way. We don’t want to build each project one by one everytime there’s a change in the server. To do that, we need to configure the project dependencies. In the solution explorer, right click on the solution then click Project Dependencies. We want to make sure that the Client is dependent on both Proxy and Server and the Proxy is dependent on the Server. This will give us a build order of Server->Proxy->Client.

You can download the sourcecode from GitHub