Skip to content
Intune Win32 Deployer
Home » The "Intune Win32 Deployer"

The "Intune Win32 Deployer"

The "Intune Win32 Deployer" allows you to transform Windows Package Manager (winget) and Chocolatey installations for Intune into a Win32 application (intunewin) and upload it straight away to your MEM environment. If you want to do without the automatic upload, you can also just generate the intunewin files.

Table of Contents

Overview and Features

With this tool you can easily and automatically deploy programs via Intune. You can do this from software packages from the Windows Package Manager such as Chocolatey choose.

The functions summarized are:

  • Build Intunewin for winget applications
  • Create Intunewin for Chocolatey applications
  • Deploy winget via Intune (as a system)
  • Deploy Chocolatey via Intune
  • Transform programs from the Windows Package Manager into an intunewin
  • Transform programs from Chocolatey into an intunewin
  • Create Win32 applications upload to Intune
  • Maintaining an inventory list within the application
  • Install winget (optional)
  • Install Chocolatey (optional)
  • Current Microsoft Win32 Content Prep Tool download

installation

To install, simply download the complete current GitHub repository and execute the file "INSTALL_Intune-Win32-Deployer.ps1" with PowerShell in the top level (right-click):

Download "The Win32 Deployer"
Intune Win32 Deployer, installation

This installs the tool under "C:\Users\%username%\AppData\Local\Intune-Win32-Deployer" and the two PowerShell modules "MSAL.PS" and "IntuneWin32App" in the user context. In addition, a shortcut to the tool is created in the start menu, with which you can then start it.
For the part up to here you do not need administrator rights.

Because the data information is retrieved from winget and chocolatey during creation, these two tools must also be installed. You need administrator rights for this. However, if you don't want to use either Chocolatey or the Windows Package Manager, you can skip these installation steps.

demo

In this demo I show the following processes:

  • First start of the "Intune Win32 Deployer"
  • Add and create a wings application including upload to Intune
  • Automatic creation of application "Windows Package Manager" as a dependency
  • Add and create a Chocolatey Application (without upload)

37 thoughts on “The "Intune Win32 Deployer"”

  1. What the impact of the error below during installation
    Get-Content : Cannot find path 'C:\Users\shisanfa\Documents\WindowsPowerShell\Modules\IntuneWin32App\1.3.3\Public\New-I
    ntuneWin32AppDetectionRuleScript.ps1' because it does not exist.
    At C:\Users\shisanfa\Downloads\Intune-Win32-Deployer-main\INSTALL_Intune-Win32-Deployer.ps1:65 char:6
    + (Get-Content $File).Replace($oldLine,$newLine) | Set-Content $Fil ...
    + ~~~~~~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (C:\Users\shisan...nRuleScript.ps1:String) [Get-Content], ItemNotFoundEx
    ception
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand

    Unable to implement fix for detectionrule.

    1. Hello, this can happen if the module "IntuneWin32App" is already present in the system context.
      I have now added a warning about this in the installer. Please try to run the current installer again.
      If the warning should come, you must start this as Admin.

  2. Hi there. Great application! I've just encountered the following error when adding a Chocolatey App:

    Uploading: Google Chrome
    Upload completed: Google Chrome
    Processing dependency Chocolatey to Google Chrome
    Error adding dependency for Google Chrome

    The output screen is then frozen, presumably waiting for some input or response. Any advice?

    1. Hi Kym, thanks for bringing that up.
      It was a missing line in the published version. I've fixed it. Cloud you try to download and install the latest version from GitHub?

  3. Pingback: Docs | Intune Win32 Deployer | scloud

  4. Hi Florian,
    great Application. I have the following error when adding a Winget App:

    Uploading: NanaZip
    Upload completed: NanaZip
    Processing dependency Windows Package Manager to NanaZip
    WARNUNG: Request to
    https://graph.microsoft.com/Beta/deviceAppManagement/mobileApps/b181a633-d2c5-4fb3-a29b-b39cee6ccdde/updateRelationship
    s failed with HTTP Status BadRequest and description: Bad Request
    Added dependency Windows Package Manager to NanaZip

    The output screen is frozen

      1. Hi Florian,
        I tried an other tenant. Now the Winget Package works fine, no errors anymore.
        If I try an Chocolate Package, the following error is shown:
        Uploading: Adobe AIR Runtime
        Upload completed: Adobe AIR Runtime
        Processing dependency Chocolatey to Adobe AIR Runtime
        Error adding dependency for Adobe AIR Runtime

  5. Pingback: FAQ | Intune Win32 Deployer | scloud

  6. Hi,
    now it works.
    the log first show:
    Processing Chocolatey as prerequirement Creat win32 package for Chocolatey (custom, no Package Manager)
    then: upload chocolatey Package
    then: Uploading: Adobe AIR Runtime
    Upload completed: Adobe AIR Runtime
    Processing dependency Chocolatey to Adobe AIR Runtime
    Added dependency Chocolatey to Adobe AIR Runtime
    the terminal windows not close, waiting....
    is this ok?

  7. When I try to add a Winget package, I get next error message

    Exception setting "dependency": "The property 'dependency' cannot be found on this object. Verify that the property exists and can be set."
    At C:\Users\jgonzale\AppData\Local\Intune-Win32-Deployer\Intune-Win32-Deployer.ps1:178 char:26
    + if(!$Prg.dependency){$Prg.dependency = "Windows Package Manager"}
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], SetValueInvocationException
    + FullyQualifiedErrorId : ExceptionWhenSetting

      1. Yes I select that option and is when get this message

        Creat win32 package for Microsoft.VisualStudioCode (Microsoft Package Manager)

        Exception setting "dependency": "The property 'dependency' cannot be found on this object. Verify that the property
        exists and can be set."
        At C:\Users\jgonzale\AppData\Local\Intune-Win32-Deployer\Intune-Win32-Deployer.ps1:178 char:26
        + if(!$Prg.dependency){$Prg.dependency = "Windows Package Manager"}
        + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo : NotSpecified: (:) [], SetValueInvocationException
        + FullyQualifiedErrorId : ExceptionWhenSetting

        1. Can you try to delete the file "C:\Users\%username%\AppData\Local\Intune-Win32-Deployer\Applications.csv" and rerun the latest "INSTALL_Intune-Win32-Deployer.ps1"?

          1. Hi Florian! sorry for the delay in my reply, I was busy. I just test it and now work it fine! Thank you so much for your help! And for this amazing app!

  8. Hey,
    after i clicking "Yes" on "Winget App >App< added. Do you want to create the intunewin?" i get an error in the powershell window:

    WARNING: An error occurred while attempting to retrieve or refresh access token. Error message: The property
    'Authority' cannot be found on this object. Verify that the property exists.
    WARNING: Authentication token was not found, use Connect-MSIntuneGraph before using this function

    And an Microsoft .NET Framework window opens with "Unhandeled exception has occurred in your Application..."

    "See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.Management.Automation.BreakException: System error......"

    Any idea?
    MfG Kai

      1. Hey, its still not working.

        Module "IntuneWin32App" installed version: 1.3.3
        Module "MSAL.PS" installed version: 4.37.0.0

        The path of the modules is under "Users\documents\WindowsPowershell\Modules" and the modules are not shown with "get-modules". May this be the mistake?
        Regards Kai

  9. Pingback: win32 App Deployment automated | scloud

  10. I think this is one of the greatest tools to man since sliced bread lol.... all works as described until the install. Then nothing happens …. which is a problem . I have all three environments (user based, device based, mix of both) and I am seeing the same issue on al three. APPS are loaded per your design....but never gets installed. Says its "installed" in the Company portal , but never makes it to the machine....multiple apps tested. All manually packaged files work fine. Look at the logs now (local machine) ….but I wanted to know if anyone else had reported this?

    1. Thanks for bringing that up.
      The problem seems to be with the Module "IntuneWin32App".
      If you ever had installed the module before my fix in the installer was not working.

      Today I updated the installer and now it should work also on your side.
      Just download the latest version and run the installer again.

      For the existing (not working) packages you can simply replace the current validation script (manual upload).

      I hope this helps and let me know if it works.

      1. So so far no go , same issue. Going to try to delete al and instal again fresh. Once again, apps package and make it to MEM...but... they never install on the machines. Agent log is showing issues with powershell script...but so far can tell which one.

  11. Thanks for publishing the insane tool!!!

    I have the same problem like Traei Walker.
    Can I change my default installation-path, so that it will always execute the installation localy?

    1. You could try to manually change line 49 under:
      "C:\Program Files\WindowsPowerShell\Modules\IntuneWin32App\1.3.3\Public\New-IntuneWin32AppDetectionRuleScript.ps1"
      or
      "....Document\WindowsPowerShell\Modules\IntuneWin32App\1.3.3\Public\New-IntuneWin32AppDetectionRuleScript.ps1"

      OLD Line: $ScriptContent = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes([System.IO.File]::ReadAllBytes("$($ScriptFile)") -join [Environment]::NewLine))
      NEW Line: $ScriptContent = [System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes("$($ScriptFile)"))

  12. So first off, thanks for your reply. I looked at the ps1 script and found that I do have the updated lines of new code in the latest release, but I found no created folder under "C:\Program Files\WindowsPowerShell\Modules" at all other than the normal MS folders( ie no "\IntuneWin32App\1.3.3\Public\New-IntuneWin32AppDetectionRuleScript.ps1)"".

  13. This is such a time saver and makes it so easy! But I am getting an error -

    .\winget.exe : The term '.\winget.exe' is not recognized as the name of a cmdlet, function, script file or operable program.

    Tried reinstall, making sure to be running as admin and multiple apps. Ideas?

  14. Hi Florian,

    Thanks for sharing your tool, very impressive!

    I do seem to have some issues though - I initially had an issue with install but that seemed to fix itself, my issue now is that applications are installing but then not being detected so Intune and Company Portal think the install has failed.

    Any ideas on where to start troubleshooting this?

    Thanks, Nate

  15. Pingback: How to: winget & Intune | scloud

  16. Pingback: wings Updates | Proactive Remediations | scloud

  17. Hi Florian,

    Thanks for sharing your tool, it saves a lot of time

    from what i can see in your demo, det app installer, and the selected app will be deployed.

    that don't seems to work from my end, i get the connection to my tenant and my MFA but after that "only" the winget, and script files are present.
    the AAD groups are not created or the app is deployed in the endpoint manager portal

    got your latest version uploaded a 3 days ago: version 1.2.1

    am i missing something?

    1. Hi Tinus, thanks for letting me know. Indeed, there was an issue where the "intunewinOnly" mode was active if never used before.
      Just uploaded a fix for that to the repo, just install the newest version and the upload should be triggered again.

Leave a Reply

Your email address will not be published.