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:\WixProject\Files\minimal.exe
C:\WixProject\Files\clagnt.dat
  

Step 4 – Edit the WiX configuration

Open C:\WixProject\Product.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 Kits\10\bin\10.0.26100.0\x64\
  

Step 2 – Sign the MSI

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

signtool.exe sign /f codesign.pfx /p Admin@123 /fd SHA256 minimalInstaller.msi
  

Expected output:

Done Adding Additional Store
Successfully signed: minimalInstaller.msi
  

✅ MSI is now built and signed.

Was this page helpful?