Guides

What’s Inside an MSI File?

An MSI file is not a plain archive like a ZIP — it’s a Windows Installer database. Under the hood it’s a Compound File Binary (the same container format as an old .msg), and inside it holds a set of relational tables describing what to install, plus the actual program files packed into embedded CAB (cabinet) streams. That’s why you can’t just unzip an MSI, and why inspecting one tells you exactly what it would do to your system. Here’s what’s inside.

This guide breaks down the structure of an MSI and shows how to extract its contents with the MSI extractor — without running the installer.

An MSI is a database, not an archive

A ZIP is a bag of files. An MSI is closer to a small spreadsheet-plus-files: the Windows Installer service reads its tables to decide what to create, copy, register and configure, then unpacks the files those tables reference. The whole thing is stored in a Compound File Binary container — a mini filesystem inside one file, with each part held as a named stream.

The tables inside

The installer’s instructions live in relational tables. The important ones include:

  • File — every file the package installs, with its name and target.
  • Component and Feature — how files are grouped and which optional features they belong to.
  • Directory — the folder layout the installer will build.
  • Registry — registry keys and values the package writes.
  • Property — settings like the product name, version and manufacturer.
  • CustomAction — extra actions (scripts, executables) the installer runs, which is also where unwanted behaviour can hide.

Reading these tables tells you what an installer intends to do before you let it run — useful for both troubleshooting and safety.

Where the actual files are

The program files themselves are compressed into one or more CAB (cabinet) archives, either embedded as streams inside the MSI or shipped alongside it. The File table maps each logical file to its place in a cabinet. To get the real files out, a tool has to read the tables to learn the names, then unpack the CAB streams — which is exactly what “extracting” an MSI means.

How to look inside without installing

You don’t have to run an MSI to see what it contains. Open it in the MSI extractor: it reads the installer database and lets you browse and pull out the packaged files, in your browser, with the file never uploaded and nothing installed on your machine. This is the safe way to grab a single file out of an installer, or to check what a package would place on your system before trusting it. For other Windows executables, the EXE extractor and icon extractor cover the rest.

Frequently asked questions

What is inside an MSI file?
A Windows Installer database of relational tables (File, Component, Directory, Registry and more) plus the program files packed into embedded CAB archives — all in a Compound File Binary container.

Is an MSI just a ZIP file?
No. It’s an installer database, not a plain archive, so you can’t simply unzip it. Extracting it means reading its tables and unpacking the embedded cabinets.

Can I extract files from an MSI without installing it?
Yes. An MSI extractor reads the package and lets you pull out its files without running the installer or changing your system.

Where are the program files stored in an MSI?
In one or more CAB (cabinet) archives, embedded in the MSI or shipped beside it; the File table maps each file to its place inside.

Why would I want to look inside an MSI?
To grab a single file without a full install, to troubleshoot what a package installs, or to check what it would do to your system before trusting it.

Last updated: 16 August 2026.

About Abrar

Abrar builds EasyExtract's free, browser-based extraction tools and writes these guides on getting data out of files — PDFs, spreadsheets, images, archives and Office documents. Every tool runs entirely in your browser, so nothing you open is ever uploaded.

Keep reading