There are several useful tools; I'm not exactly sure what is being sought, so I will provide a small listing of tools/approaches that I use.
ILMerge for merging multiple managed assemblies such as the project output and external assemblies/PIAs. Make sure the PIA/assembly being merged is allowed to be distributable as such or see #3.
Embedded resources for including "external data" including non-managed DLLs which might be external requirements for managed assemblies. These non-managed DLLs/COM libraries can be bound/loaded at runtime after extraction.
dotNetInstaller for making a unified launcher/installer (it is a bootstrap and can provide embedded resources). This can be used in conjunction with a normal MSI (VS Setup Project) installer to handle prerequisites such as installing official distributable packages or it could simply be used to launch the executable (no "installer" except those for prerequisites).