Skip to main content

How It Works

To go from zero to a working installer you need four things:

  1. Installed MPDEV
  2. Activated the license (only if you use MPDEV for commercial purposes)
  3. Written a JSON project file that describes what you are installing
  4. Built the project into MSI and/or MSIX

1. Install MPDEV

If you want to build and test packages locally, download the installer from masterpackager.com/download/master-packager-dev.


2. Activate your license

MPDEV is free for non-commercial and open-source use – you can use MPDEV without activation.

If you use it for commercial purposes, activate your license once per user (or per machine with --all-users):

mpdev activate "<your-license-key>" --all-users

3. Write a JSON project

Create a folder called MySimpleApp with this content:

MySimpleApp/
├── package.json ← your MPDEV JSON Project file
├── build/
│ └── MyApp.exe ← your application binary
└── Installer Files/
└── Icon.ico

Then write the smallest possible package.json that produces an MSI and/or an MSIX:

{
"$schema": "https://www.masterpackager.com/support-master-packager-dev/mpdev-schema.json",
"outputTypes": ["msi", "msix"],
"outputDirectory": "output",
"packageName": "MySimpleApp",
"publisher": "MyCompanyName",
"version": "1.0.0",
"platform": "x64",
"installDir": "%ProgramFiles%\\My Simple App",
"icon": "Installer Files\\Icon.ico",

"fileSystemEntries": [
{ "sourcePath": "build", "targetPath": "$.installDir" }
],

"shortcuts": [
{ "target": "$.installDir\\MyApp.exe" }
],

"msi": {
"upgradeCode": "{GUID-HERE}"
}
}

4. Build it

From the MySimpleApp folder run:

mpdev build package.json
Working directory matters

All relative sourcePath values in your JSON are resolved against the directory where you run mpdev (or the --working-dir argument) — not the directory where the JSON file lives.

Recommended layout: Place package.json at the root of your project folder, alongside your source files. Then run mpdev build package.json from that same folder. This ensures relative paths just work.

If your JSON is in a subfolder (e.g. installer/package.json), run mpdev from the parent folder:

mpdev build installer\package.json

Or use --working-dir to set the correct resolution base:

mpdev build installer\package.json --working-dir C:\MyProject

You will see output similar to:

mpdev: info: Validating package...
mpdev: info: Package validation succeeded.
mpdev: info: Building MSI...
mpdev: info: Building MSIX...
mpdev: info: Build completed successfully.

Your application installer packages will appear in the output folder.

output/
├── MySimpleApp 1.0.0.msi
└── MySimpleApp 1.0.0.msix

Double-click either one and install your app.