Windows has the ability to allow the MSI package (.msi file) contents to be extracted using the command line or via a script. I keep forgetting the correct msiexec syntax to use to extract files from an .msi file (MSI package), so here is a short post with the command.
To extract all files from a .msi file, use the following msiexec.exe
command:
& C:\Windows\System32\msiexec.exe /a C:\Users\user\path\to\file.msi /qb TARGETDIR=C:\Users\users\temp
A more PowerShell way is to:
Start-Process `
-NoNewWindow C:\Windows\System32\msiexec.exe `
-ArgumentList "/a C:\Users\user\path\to\file.msi /qb TARGETDIR=C:\Users\users\temp" `
-Wait
Make sure you type out full paths and the destination directory must exist. Here are the msiexec.exe
command arguments used to extract files:
/a
: Specifies administrative installation/qb
: Specifies there's a basic UI during the installation process.TARGETDIR=
: Represents the installation directory for an InstallScript installation, or for an administrative Windows Installer based installation (when the user runs Setup.exe or MsiExec.exe with the /a command-line switch).
7-Zip can also be used to extract .msi files (read in Dutch "7-Zip installeren")