What is a .NET merge module and when should I create one?
A merge module (.msm) is a single package that includes all files, resources, registry entries, and setup logic to install shared files. Merge modules allow you to install components that are shared by multiple applications, such as the COM projects. The merge modules are Setup and Deployment project options available in Visual Studio .NET that you can add to your solution. Anything that can only be used by a developer, such as .dll files, controls, resources, and components, should be packaged into a merge module. This module can later be included in a Windows Installer for distribution to the end user.