Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

IntuneWinAppUtil

Introduction

IntuneWinAppUtil is a command-line utility designed to prepare Win32 applications for deployment through Microsoft Intune. It converts application source files into a compressed .intunewin package format, which can then be uploaded and distributed via Intune as part of modern endpoint management workflows. This tool is particularly relevant in enterprise environments where centralized application deployment, version control, and compliance are required.

The utility works by taking a source folder containing installation files, a setup executable or script, and optionally additional metadata. It then packages these components into a single output file that includes encrypted content and detection metadata. This ensures that the application is securely delivered and correctly installed on managed devices.

A typical use case involves packaging legacy installers such as .exe, .msi, or scripted deployments (e.g., PowerShell) that are not natively supported as simple uploads in Intune. By using IntuneWinAppUtil, administrators can standardize deployment workflows and apply consistent installation and detection rules across devices.

The tool is lightweight and does not require installation. It is executed from the command line, making it suitable for automation within build pipelines or deployment scripts. Its simplicity allows IT professionals to integrate it into existing software packaging processes without significant overhead, while still maintaining control over how applications are delivered and managed in a cloud-based environment.

Packaging Workflow and Parameters

The core function of IntuneWinAppUtil revolves around transforming a set of installation files into a deployable .intunewin package. The process begins with organizing the source files into a dedicated directory. This directory should include the installer (for example, setup.exe or install.ps1) and all required dependencies. It is important to isolate only necessary files to reduce package size and avoid unintended content inclusion.

The utility is executed with specific parameters. The most common syntax is:

IntuneWinAppUtil.exe -c <source_folder> -s <setup_file> -o <output_folder>
  • -c defines the source directory
  • -s specifies the installer file within that directory
  • -o sets the destination for the generated package

For example:

IntuneWinAppUtil.exe -c C:\Apps\MyApp -s install.ps1 -o C:\Output

This command creates a .intunewin file in the output directory. During execution, the tool scans all files in the source folder, compresses them, and generates metadata required for deployment.

In practice, administrators often integrate this step into automation workflows. For example, during CI/CD pipelines, a new application version can be packaged automatically after a successful build. Proper naming conventions for output files (e.g., including version numbers) help maintain clarity when uploading multiple versions to Intune.

Deployment Considerations and Best Practices

After creating the .intunewin package, the next critical step is configuring deployment settings in Intune. The packaging tool itself does not define installation behavior; instead, it provides the container that Intune uses. Administrators must define install and uninstall commands, detection rules, and return codes within the Intune interface.

A key consideration is the install command. For example, when packaging an MSI installer, a silent installation command such as:

msiexec /i app.msi /qn

should be used to ensure non-interactive deployment. For executable installers, vendor-specific silent switches must be identified and tested beforehand.

Detection rules are equally important. These rules determine whether an application is already installed on a device. Common methods include checking for file existence, registry keys, or MSI product codes. For instance, verifying the presence of a specific registry key ensures accurate reporting and prevents unnecessary reinstalls.

Another best practice is testing packages in a controlled environment before broad deployment. This includes validating installation, uninstallation, and detection logic on test devices. Logging should also be enabled in installation scripts to simplify troubleshooting.

Finally, version management is essential. Each application update should be packaged as a new .intunewin file, with clear version identifiers. This approach allows controlled rollouts, rollback capability, and better tracking of application lifecycle within managed environments.

About

Download Windows Tool

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors