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.
As of version 0.8.4
WinTuner includes these commands, no need to install a separate module. More information can be found in the WinTuner documentation.
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 available at GitHub.
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.
Install-Module -Name SvRooij.ContentPrep.Cmdlet
New-IntuneWinPackage
Create an intunewin file from PowerShell, drop-in replacement for the content prep tool.
New-IntuneWinPackage [-SourcePath] <string> [-SetupFile] <string> [-DestinationPath] <string> [<CommonParameters>]
Unlock-IntuneWinPackage
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 dotnet
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.