Creating MSI Packager

Creating a Single MSI Package

Prerequisites

  • WiX Toolset installed
  • OpenSSL installed
  • Microsoft Windows SDK (for signtool.exe) – Download here
  • Administrator privilege required

Part 1: Build the MSI

Step 1 – Download the base package

From the deployment packager console, download either minimal.zip or other installers from the deployment section.

Step 2 – Set up the project directory

Extract the downloaded zip to C:WixProject. This will create:

C:WixProject
    Files
    Product.wxs
  

Step 3 – Add your application files

Extract your application zip into the Files folder:

C:WixProjectFilesminimal.exe
C:WixProjectFilesclagnt.dat
  

Step 4 – Edit the WiX configuration

Open C:WixProjectProduct.wxs and update filenames on lines 30 and 31 to match your files. Save the file.

Step 5 – Architecture support

Follow prerequisites, replace minimal.exe and clagnt.dat, then run the provided script to create a single MSI installer for both 32-bit and 64-bit machines.

Step 6 – Compile and link the MSI

Run these commands in C:WixProject:

candle.exe Product.wxs
light.exe Product.wixobj -o minimalInstaller.msi
  

minimalInstaller.msi will be generated. Double-click to launch the application.

Part 2: Create a Self-Signed Certificate (Optional)

Run the following OpenSSL commands:

openssl genrsa -out codesign.key 4096
openssl req -new -x509 -key codesign.key -out codesign.crt -days 1095 -subj "/CN=QH"
openssl pkcs12 -export -out codesign.pfx -inkey codesign.key -in codesign.crt
  

Note: Remember the password you set — it will be needed during signing.

Part 3: Sign the MSI (Optional)

Step 1 – Install the signing tool

Install the Microsoft Windows SDK. signtool.exe will be available at:

C:Program Files (x86)Windows Kits10bin10.0.26100.0x64
  

Step 2 – Sign the MSI

Run the following command (replace the password with your certificate password):

signtool.exe sign /f codesign.pfx /p < password > /fd SHA256 minimalInstaller.msi
  

Expected output:

Done Adding Additional Store
Successfully signed: minimalInstaller.msi
  

✅ MSI is now built and signed.

Was this page helpful?