What is the MSM file format?
A .msm file is a Windows Installer Merge Module - a reusable packaging unit that delivers shared components (DLLs, fonts, registry entries, COM registrations) to multiple MSI installer packages without duplicating logic. Merge modules cannot be installed on their own; they must be merged into a parent .msi database at build time using Mergemod.dll from the Windows Installer SDK, or authoring tools such as WiX Toolset, InstallShield, or Advanced Installer.
Internally, .msm files use the same OLE2 Compound File Binary (CFB) container as .msi packages - the file-level magic bytes (D0 CF 11 E0 A1 B1 1A E1) are identical. The container holds a subset of Windows Installer relational database tables (File, Component, Registry, and others) plus MSM-specific tables such as ModuleComponents, ModuleDependency, and ModuleSignature. Payload files are stored in an embedded MergeModule.CABinet stream, compressed with LZX or MSZIP.
Every component GUID within a merge module is unique, preventing table-name conflicts when the module is absorbed into a parent installer. The format was introduced in 1999 with Windows Installer 1.0 on Windows 2000; its last specification update came with Windows Installer 5.0 (Windows 7 / Server 2008 R2).
Modern packaging increasingly favors MSIX for Windows 10 and later, which does not support merge modules. WiX v4/v5 still accommodates them via the <MergeRef> element for legacy compatibility. .msm files can be inspected with Orca (Windows Installer SDK) or opened by 7-Zip as OLE2 compound documents.
Security & safety
RISK: MEDIUMMSM files are installer components that, when merged into an MSI and executed, install files, registry keys, and COM objects on a Windows system. Do not merge untrusted .msm files into production installers. Inspect with Orca or 7-Zip before use. Files can be Authenticode-signed; verify signature if provided.
Format details
in a nutshell- MediaMonkey skin module - MediaMonkey audio player uses .msm for skin/module files - unrelated to Windows Installer.
Programs that open MSM files
Technical details
deep spec| Container format | OLE2 Compound File Binary (CFB / Structured Storage) - same container as .msi and legacy .doc/.xls files |
| Magic bytes | D0 CF 11 E0 A1 B1 1A E1 at offset 0 (OLE2 CFB signature, shared with .msi) |
| Byte order | Little-endian |
| Embedded cabinet | MergeModule.CABinet stream inside the OLE2 container; payload files compressed with LZX or MSZIP |
| Database type | Windows Installer relational database - subset of MSI tables plus MSM-specific tables |
| MSM-specific tables | ModuleComponents, ModuleDependency, ModuleExclusion, ModuleSignature, ModuleSubstitution |
| Standalone install | Not possible - must be merged into a parent .msi database at build time via Mergemod.dll |
| Component GUID policy | Every component GUID is unique per module to prevent table-name conflicts during merge |
| Typical file size | 50 KB - 50 MB depending on packaged payload |
| Code signing | Optional Authenticode signature; not applied by default |
| Associated OS | Windows (Windows 2000 and later) |
| Merge tool API | Mergemod.dll (Windows Installer SDK); also WiX Toolset, InstallShield, Advanced Installer |
| WiX compatibility | WiX v4/v5 supports merge modules via the <MergeRef> element |
| Modern replacement | MSIX/APPX packaging (Windows 10+) does not support merge modules; WiX fragment/library model preferred for new development |
| Released | 1999 (Windows Installer 1.0, Windows 2000) |
| Latest version | Windows Installer 5.0 (Windows 7/Server 2008 R2) |
| Specification | learn.microsoft.com |
MSM conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about MSM files.