Skip to main content

Content prep tool

To deploy apps to Intune, you have to create a .intunewin package containing the installer, installation script and additional files. To create such an app you previously needed the Win32 Content Prep Tool, which is a closed source tool, that only runs on Windows.

Open-source implemenation

In the journey to make WinTuner work platform independend there was a need to get around the closed source, Windows-only Content Prep Tool, so I started investigating the official tool. And eventually figured out how to create those .intunewin files with just C# code (platform independed).

The source of this tool is avaiable at GitHub.

Not supported

This is not a replacement for the Microsoft tool, it is a re-implementation of the tool based upon public available information. It is not feature complete and it might not work for your use case. This library is provided as-is, without any warranty or support. If you're having issues the Microsoft support probably won't help you, if you dind't use their official tool.

Content Prep PowerShell

Use this PowerShell module if you want to create .intunewin files from your own PowerShell scripts without downloading a separate executable.

PowerShell install SvRooij.ContentPrep.Cmdlet
Install-Module -Name SvRooij.ContentPrep.Cmdlet


Create an intunewin file from PowerShell, drop-in replacement for the content prep tool.

New-IntuneWinPackage [-SourcePath] <string> [-SetupFile] <string> [-DestinationPath] <string> [<CommonParameters>]


Decrypting intunewin

Microsoft advises to also keep the installers in your archive, because once packaged as .intunewin files, there is no official way to extract them. But you can with this bonus command.

Decrypt an pre-packaged intunewin file. There is some encryption going on when it creates these files. With this command you can extract all the encrypted content.

Unlock-IntuneWinPackage [-SourceFile] <string> [-DestinationPath] <string> [<CommonParameters>]

Content Prep C#

This previous PowerShell module is a so-called binary PowerShell module meaning it's written in C#. The code it uses to generate these files can also be used from any other c# application, just install Svrooij.ContentPrep and get going.