One of the main benefits of .NET is that you can place all your components (DLLs) near the exe to avoid the "DLL Hell" (version conflict) problem, and we recommend that you go this way. There is no need to save several megabytes of disk space when the sizes of the modern HDD's are measured in terabytes. If you want to make all used components shared though, look at GAC - Global Assembly Cache.
As for the merge modules you could use for that, we cannot help you with this task. Why? Because we, the developers of iGrid, abandoned that complicated and very complex MSI technology many years ago and even happy because of that. We are using the Inno Setup system now, and as you can see by the installation of the iGrid.NET demo, it does the work excellently!