Table of contents
🚀 Deploying to Intune
Each .intunewin is uploaded once per driver series and then reused for
every printer of that series by creating one Win32 app per printer with
different command-line arguments — see
Architecture § Deploy-time parameterization and detection model
for why the packages are built this way.
-
Build the package (see Building) and upload the resulting
.intunewinin Intune admin center → Apps → Windows → Add → Windows app (Win32). -
Set the install and uninstall commands, e.g. for HP UPD PCL6:
- Install:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File Install.ps1 -PrinterName "Floor3-Copier" -IPAddress "10.10.20.15" -Model "HP LaserJet M611" - Uninstall:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File Uninstall.ps1 -PrinterName "Floor3-Copier"
-Modelis optional metadata for HP's universal driver; it matches the device over the network port at print time, not by model string.For UTAX/Kyocera KX,
-Modelinstead selects a specific driver when given (see Supported Printers for the exact strings) and falls back to its own universal driver when omitted:powershell.exe -NoProfile -ExecutionPolicy Bypass -File Install.ps1 -PrinterName "Floor2-MFP" -IPAddress "10.10.20.20" -Model "CD 1030 / DC 2130 KX"OKI has no universal driver at all, so
-Modelis required:powershell.exe -NoProfile -ExecutionPolicy Bypass -File Install.ps1 -PrinterName "Floor1-MFP" -IPAddress "10.10.20.30" -Model "OKI MC873(PCL6)" - Install:
-
Install behavior: System. Requirements: 64-bit, an appropriate minimum OS.
-
Detection rule: Registry, no script.
- Key path:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\<PrinterName> - Rule: key exists (Windows creates this key as a side effect of
Add-Printer, so no separate detection logic is needed).
- Key path:
-
Assign the app to the device(s)/group(s) for that one printer.
-
Repeat steps 2-5 (same uploaded package, new app entry) for every additional printer of the same driver series.
Before rolling out broadly
tools/mkintunewin.py's package format is confirmed against a real Intune
tenant (hp-upd-pcl6, 2026-08-11: upload, SYSTEM-context install, and
printer creation all succeeded). That's the packaging layer, not any
individual vendor's driver/script combination — do a single test printer
end-to-end (steps above, then confirm install + detection on a test
device) for every new vendor package before assigning to a wider group.
See
Architecture § Format validation and fallback
if a failure looks like it points at the package format itself rather
than the driver/script logic.