This proved to be pretty simple to accomplish. The concept is simple:
- A build hook to embed external resources into the executable
- A modified startup point to load embeded resources before calling App.Main()
The details can be found in this blog post: Combining multiple assemblies into a single EXE for a WPF application.