File extensions

What a .msi file is, and how to install one

Windows Installer package · Installer

A .msi file is a database of everything an installer needs to do, which Windows itself reads and executes. Double-clicking one installs it. Unlike a setup .exe there is no installer program inside: Windows Installer is doing the work, which is why MSI packages uninstall, repair and deploy the same way across every program that uses one.

What a .msi file actually is

An MSI is not a program. It is a structured database of tables listing the files, registry keys, shortcuts and conditions that make up an installation, and msiexec.exe, a component of Windows, reads that database and carries it out.

That design is the reason MSI packages behave predictably. Because Windows performed the install rather than a bespoke setup program, it knows exactly what was put where, so it can uninstall cleanly, repair a broken install, or roll back a failed one.

Why it will not open

MSI files rarely refuse to open, they refuse to finish. The usual causes are a package built for a different architecture, an installation that needs administrator rights it was not given, an older version already present that must be removed first, or the Windows Installer service not running. All four report themselves as a numeric error rather than a plain sentence.

The silent install switch for every program we index

Step by step

Windows

  1. 01Double-click the file. Windows Installer takes over and the dialogs you see belong to the package.
  2. 02If it needs elevation, right-click and choose Install as administrator, or run it from an elevated prompt.
  3. 03To install without dialogs: msiexec /i "package.msi" /qn, which is the standard switch pair and works on every MSI because it is a Windows feature, not a per-program one.
  4. 04To keep a record of what happened, add /L*v "%TEMP%\install.log". For a failure this is the difference between a number on screen and knowing which action failed.
  5. 05To unpack an MSI without installing it: msiexec /a "package.msi" TARGETDIR="C:\somewhere" performs an administrative install, which extracts the files into a folder.

macOS

  1. 01MSI is Windows Installer, so a Mac has nothing to run it with. There is no equivalent application and no converter that produces a working macOS install from one.
  2. 02The realistic options are a Windows virtual machine, or finding the publisher’s own macOS build. Most cross-platform software ships a .dmg or .pkg alongside the MSI.

What usually goes wrong

MSI and setup.exe are not two names for the same thing

A setup .exe is a program that installs something, and what it does inside is entirely up to whoever wrote it. An MSI is data that Windows executes on the publisher’s behalf. Plenty of downloads are an .exe that wraps an MSI, which is why an installer can look like an .exe and still leave a proper Windows Installer entry behind.

You cannot convert an .exe to an .msi

The searches for this are real and the honest answer is that repackaging tools capture what an installer does to a clean machine and build a new MSI from the observed changes. That is not conversion, it is reconstruction, and it produces something the publisher never tested and does not support. In a managed environment it is sometimes the only option; on a personal machine it almost never is.

An MSI can carry custom actions, so "it is just data" has a limit

The format allows a package to run arbitrary code during install as a custom action, which is how installers do things the tables cannot express. So an MSI from an unknown source is not inherently safer than an .exe from one. What makes a download trustworthy is where it came from and whether it matches the hash the publisher declared, not the extension on the end.

Programs that open .msi

Our pick, in order. Every one links to the publisher's official download URL and the SHA-256 hash of the installer. Once you have downloaded it, you can check the file against our index before you run it.

If you end up downloading one of these from somewhere other than the publisher, what you can and cannot verify about that is worth two minutes.

Common questions

What is a .msi file?
A Windows Installer package: a database describing an installation, which Windows reads and carries out itself. It is not a program, which is precisely why software installed from an MSI can be uninstalled, repaired and deployed in a uniform way.
How do I install a .msi file?
Double-click it. If it needs administrator rights, right-click and choose Install as administrator. From a command line, msiexec /i "package.msi" installs it and adding /qn does it without any dialogs.
What is msiexec.exe?
It is the Windows Installer engine, a genuine part of Windows living in System32, and it is what actually performs an MSI installation. Seeing it running while software installs is normal. It is also the command you use to install, uninstall, repair or log a package from a script.
What is the difference between an MSI and an EXE installer?
An EXE installer is a program someone wrote to install their software, and its behaviour is whatever they chose. An MSI is data that Windows executes, so uninstall, repair and rollback work the same way for every package. Many downloads are an EXE that contains an MSI, taking the wrapper for its own reasons and handing the real work to Windows.
Can I open an MSI file to see what is inside?
Yes, without installing it. msiexec /a "package.msi" TARGETDIR="C:\somewhere" does an administrative install, which extracts the payload into a folder. Some archive tools will also list the contents. What you get is the files the package would have placed, not a running program.
Can an MSI file contain a virus?
It can, in the same way any installer can. The format permits custom actions that run code during installation, so the extension tells you nothing about safety on its own. What tells you something is whether the file came from the publisher and matches the SHA-256 they declared, which is the check this site exists to make possible.
How do I open an MSI file on a Mac?
You do not. MSI is a Windows Installer format and macOS has nothing that runs it, nor is there a converter that yields a working Mac installation. Use a Windows virtual machine, or look for the publisher’s macOS build, which for most cross-platform software exists as a .dmg or .pkg.

Related formats