A PowerShell-based graphical user interface for Microsoft's IntuneWinAppUtil.exe.
This tool simplifies the packaging of Win32 apps for Microsoft Intune by providing a modern and easy-to-use WPF interface, including automation, validation, and configuration persistence.
- Built with WPF (XAML) and PowerShell — no external dependencies.
- Automatically stores tool path and reuses it on next launch (saved in a JSON file, check "Configuration file").
- Graphical interface for all required options (
-c,-s,-o). - Auto-download of the latest version of
IntuneWinAppUtil.exefrom GitHub (optional). - It detects the use of PSAppDeployToolkit and automatically proposes the setup file and final IntuneWin package name, including MSI-backed packages.
- Uses Windows-version-safe UI labels instead of emoji glyphs in the WPF interface.
- Sanitizes invalid characters from the output filename.
- Live path length indicator for Source/Output folders, with a final max-path check at Run time.
- Optional update check on startup with a non-blocking UI banner.
- Windows 10 or later (Windows 11 is recommended).
- PowerShell 5.1 or higher (PowerShell 7 is recommended).
- .NET Framework 4.7.2 or higher (usually already installed on supported systems).
Once published, you'll be able to install via:
Install-Module IntuneWinAppUtilGUI -Scope CurrentUser
Show-IntuneWinAppUtilGUI-
Clone this repository or download as ZIP and extract (e.g.,
C:\IntuneWinAppUtilGUI).. -
In PowerShell, import the module from the extracted folder:
Import-Module "C:\IntuneWinAppUtilGUI\IntuneWinAppUtilGUI.psm1"
-
Then launch the tool with:
Show-IntuneWinAppUtilGUI
💡 Tip: you can add the module path to your
$env:PSModulePathif you want to make it persist and available system-wide.
| Field | Required | Description |
|---|---|---|
| Source Folder (-c) | ✅ Yes | The root folder containing your setup file. |
| Setup File (-s) | ✅ Yes | The installer (EXE or MSI). If in same folder, only the filename is shown. |
| Output Folder (-o) | ✅ Yes | Where the .intunewin package will be created. |
| IntuneWinAppUtil | ✅ Yes* | You can specify the path manually or let the GUI download the latest version automatically. |
| Final Filename | Optional | Renames the generated .intunewin file. Invalid characters are removed automatically. |
* The field is optional only if the tool is not yet downloaded — the GUI will handle this.
-
A configuration file
config.jsonis created in:%APPDATA%\IntuneWinAppUtilGUI\ -
It stores only the
ToolPathso it can be reused at next launch. -
This file is updated when the GUI closes.
-
Optional:
UpdateCheckEnabled(boolean) to enable/disable the update check banner.
If the path to IntuneWinAppUtil.exe is not provided:
- The GUI will automatically download and extract the latest tool from: https://github.com/microsoft/Microsoft-Win32-Content-Prep-Tool
- The tool will be stored locally under the
%APPDATA%\IntuneWinAppUtilGUI\binfolder. - You can always choose to download the latest available version by simply clicking the "Force download" button.
- Use the Help button in the main window to review command-line switches and keyboard shortcuts.
- Press ESC to close the window after confirmation.
- Press ENTER to run the packaging when you are ready.
- A small tooltip message at the bottom of the GUI provides quick usage hints.
- Clear and Exit buttons are provided to reset inputs or close the app manually.
Show-IntuneWinAppUtilGUI -ShowVersion
Show-IntuneWinAppUtilGUI -ForceUpdateBanner
Show-IntuneWinAppUtilGUI -Diag-ShowVersiondisplays installed/latest module versions in the header banner.-ForceUpdateBannersimulates an update banner for testing.-Diagwrites startup/shutdown diagnostics such as handles, GDI handles and memory usage.- Standard PowerShell
-Verboseand-Debugswitches are preserved when the GUI relaunches itself in STA mode.
Pull requests and issues are welcome. If you have an improvement idea, feel free to open a discussion or PR!
Licensed under the MIT License.
