OLE Compound Storage MIME Type
application/x-ole-storage identifies, why it can describe several Microsoft binary formats, and how Poly handles MSI packages. MIME type details for application/x-ole-storage
In active use| MIME type | application/x-ole-storage |
|---|---|
| Extensions | .msi |
| Magic number | D0 CF 11 E0 A1 B1 1A E1 |
| First standardized | 1993 |
| Created by | Microsoft |
| Browser support | |
| Example applications | Windows Installer, Orca |
| Poly support | Yes. Poly recognizes .msi filenames as application/x-ole-storage and stores them as archive-type files. |
| Indexed by Poly | Partial. MSI packages are searchable by filename, but Poly does not index their database tables or embedded payloads. |
| Preview in Poly | No. Poly does not extract or render an MSI package; download it to inspect or install it. |
| Poly agent | No. The Poly agent cannot read the installation database or embedded streams. |
What does application/x-ole-storage identify?
application/x-ole-storage identifies an OLE2 Compound File Binary (CFB) container. Microsoft describes CFB as a general-purpose format that puts a file-system-like hierarchy of storage objects and data streams inside one file.1 The same container underlies several otherwise unrelated formats, including older Word, Excel, and PowerPoint documents, Outlook messages, and Windows Installer packages.2
The type is best understood as a low-level identification result, not a promise about the payload. The freedesktop.org Shared MIME-info specification uses it as the magic-byte parent of more specific formats. Its example explains that a .doc filename and an OLE signature can combine to identify a Microsoft Word document.3
application/x-ole-storage is not in the IANA media type registry.4 The x- name is an implementation convention used by desktop MIME databases and software such as Poly. A format-specific registered type, when one exists, communicates more than this generic container label.How can you identify an OLE compound file?
Every CFB file starts with these eight bytes:
D0 CF 11 E0 A1 B1 1A E1
The Microsoft specification requires that signature at offset zero.5 It confirms the container, but not the application that created it. You must also inspect the filename and internal directory or streams to distinguish an MSI package from a legacy Office document or another CFB-based format.
This distinction matters for .msi. Microsoft defines .msi as a Windows Installer database extension.6 An installation package contains a database, a summary-information stream, and other streams, and it may also carry transforms, source files, or embedded Cabinet archives.7 Poly deliberately maps .msi to application/x-ole-storage; the media type itself has no universal extension because the container's extension depends on its subtype.
Why is the date listed as 1993?
Microsoft introduced OLE compound storage into shipping document formats in the early 1990s. Word 6.0 documents from 1993 already used the generic OLE2 Compound Document Format.8 The current CFB specification documents two active container versions: version 3 uses 512-byte sectors, while version 4 uses 4,096-byte sectors.2
CFB solved a practical problem for compound documents. Applications could update one stream or embedded object without rewriting every logical component as a separate operating-system file. The result still appeared to users as one document.
How to open or inspect an .msi file
On Windows, Windows Installer opens .msi packages for installation. For inspection, Microsoft's Orca database editor exposes the Windows Installer tables and is supplied with the Windows SDK.9
No mainstream browser renders application/x-ole-storage as a document. A browser generally downloads the bytes and lets the operating system choose an application. Renaming the file does not change the container or reveal which kind of CFB payload it contains.
Support in Poly
Poly's MIME table maps .msi to application/x-ole-storage and categorizes it as an archive. That gives the package a known type and lets you store, sync, share, version, and find it by name.
Poly does not parse the Windows Installer database, extract embedded Cabinet streams, generate a package preview, or index the files and actions inside it. The agent therefore cannot answer questions about an MSI's components, properties, or custom actions from the stored package contents.
This is narrower than Poly's document support. A legacy .doc, .xls, or .ppt may use the same CFB signature, but Poly recognizes those extensions as their specific document types and sends them through the document conversion and indexing pipeline.
Is application/x-ole-storage the same as an MSI type?
Not exactly. The relationship is container versus payload:
| Identifier | What it tells you | Extension relationship |
|---|---|---|
application/x-ole-storage | The file uses an OLE/CFB container | No universal extension |
.msi | The file is intended as a Windows Installer database | Poly maps it to application/x-ole-storage |
application/msword | A specific Microsoft Word document media type | Commonly .doc |
An MSI and a .doc can share the same first eight bytes while having entirely different internal streams and behavior. Treating all CFB files as installers, or all of them as Word documents, is unsafe and technically incorrect.
Can an OLE storage file be converted?
There is no useful generic conversion for CFB because the container does not define what its streams mean. First identify the subtype, then use a tool that understands it:
- Inspect or extract an
.msiwith Windows Installer tooling when you need its database or packaged files. - Open a legacy Office document in a compatible office application, then save it as an appropriate modern document or PDF.
- Preserve the original when its internal metadata, macros, installation logic, or embedded objects matter.
Extracting files from an MSI is not equivalent to installing it. The installation database also describes components, features, conditions, registry changes, and actions that a simple extraction does not reproduce.
Security considerations
An MSI is an executable installation plan, not a passive archive. Windows Installer custom actions may run with elevated privileges in managed or policy-controlled installations.10 Only install packages from sources you trust, check the publisher's signature where available, and prefer inspection over execution when provenance is uncertain. Microsoft documents digital signatures as a way for Windows Installer to detect altered resources and support publisher-based installation policy.11
The generic CFB signature offers no assurance about safety. It is easy to recognize and shared by many payload types, so validate the specific internal format before choosing a parser or launching an application.
Footnotes
- Microsoft. Compound File Binary File Format. The specification defines CFB as a general-purpose, file-system-like container for application streams. ↩
- Library of Congress. Microsoft Compound File Binary File Format, Version 3. The format description documents container versions, sector sizes, and common CFB-based subtypes. ↩ ↩2
- freedesktop.org. Shared MIME-info Database Specification. The type-resolution example treats
application/x-ole-storageas the magic-byte parent of a Microsoft Word type. ↩ - Internet Assigned Numbers Authority. Media Types Registry. The application registry does not include
x-ole-storage. ↩ - Microsoft. Compound File Header. Section 2.2 specifies the eight-byte header signature. ↩
- Microsoft Learn. Windows Installer File Name Extensions. ↩
- Microsoft Learn. Installation Package. ↩
- Library of Congress. Microsoft Office Word 97-2003 Binary File Format. The history notes that Word 6.0 used an OLE compound file in 1993. ↩
- Microsoft Learn. Other Sources of Windows Installer Information. ↩
- Microsoft Learn. Custom Action Security. ↩
- Microsoft Learn. Digital Signatures and Windows Installer. ↩