There are two upgrade scenarios that a merge module can take part in. The first is when the installer is upgrading, and it upgrades a .msm
file. This happens in cases like the Visual Studio service pack where they provide updated merge modules for you to use. This can be problematic as .msm
files do not have a file version (even though they have a merge module version), so file versioning rules do not apply kindly. You're probably not asking about this case.
The other scenario is when the merge module has been merged into an installer that will upgrade. It is no longer a merge module, but instead its files and other records are part of the consuming installer. In this case, the .msi
into which it has been merged controls the upgrade steps. The two interact, informing your answers to your first three questions. If the merge module has changes that do not follow minor upgrade rules, then the consuming installer will be unable to use a minor upgrade, and must resort to major upgrades. Correspondingly if you want to use (or allow) minor upgrades in the consuming installer, you must be careful about your components. This can be harder than in an .msi
since you cannot add new features inside a merge module. File versioning rules will apply just like they do in all Windows Installer installations; thus the answer to your fourth question is determined on a file-by-file, component-by-component basis instead of a group answer for the entire contents of the module.