Apply a provisioning package from a SCCM Task Sequence

Hi Windows 10 lovers!

Today I’m going to explain you how to apply a provisioning package (PPKG) from within a SCCM task sequence (TS).

As a reminder, Configuration Manager 2012 R2 SP1 is a requirement for supported Windows 10 deployment. On the other side, we only support SCCM 2007 for Windows 10 management and not deployment.

I wrote in a previous articles how to

  • create a PPKG (link)
  • apply a PPKG to an offline image using DISM command (link)

And today, I want to show you how easy it is to apply a PPKG from a task sequence. Here is my scenario:

  1. Create a PPKG containing a language pack (Japanese in my case)
  2. Create a package in ConfigMgr containing the PPKG.
  3. Create a TS to deploy Windows 10 Enterprise x64 English and apply the previously created PPKG.

I won’t cover the first point so please refer to my previous article covering the creation of a PPKG.

Creation of a SCCM package containing the PPKG

Copy the PPKG to a shared folder.


From ConfigMgr console, [Software Library] –> [Overview] –> [Application Management] –> [Packages] click on [Create Package] to create a package containing the PPKG. Specify the UNC path where the PPKG has been copied.


Once the package has been created, distribute the content to a distribution point.

Apply PPKG from a Windows 10 deployment Task Sequence

Create a task sequence to deploy Windows 10. Once created, add the “Run Command Line” action at the end of “Install Operating System” group.


In the “Run Command Line” action:

  • Copy the following DISM command line: DISM /Image=C:\ /Add-ProvisioningPackage /PackagePath:JPLanguagePack.ppkg
  • Select the package we created previously.


Test the TS deployment

Now you are ready to deploy that TS containing the PPKG!

While deploying you should see the step where PPKG is applying.


After some time, you should see the language selection screen which proves that the language pack has been successfully added!


If you have any issue during the deployment, think about checking the deployment log (smsts.log).

If successful, you would find a message like this (for a successful language pack addition):


Comments (13)
  1. Frank Trout says:

    Awesome. Thanks for sharing!

  2. Jasper says:

    Hi Hammoudi,

    How do you choose the language unattended, after installing the ppkg in the task sequence?

    ie. force it to use the japanese, or english.

    1. Sebastian says:

      Did you ever got an answer for this?

      1. Haven’t tested that but I guess you will have to use an answer file (unattend.xml)

  3. David Okeyode says:

    Thanks 🙂

  4. Alan Dooley says:

    What is the syntax using provtool.exe to deploy a ppkg to an online system using CM?

    1. You don’t have currently a way to automate deployment of PPKG on an online system. They only way to deploy a PPKG automatically is offline from WinPE using DISM command.

      1. Alan Dooley says:

        Shame, I am using a ppkg to convert our W10 Pro surface tablets to W10 ent but it would be better if we could run it silently via sccm

  5. Rob says:

    I’m currently trying to use this method to enable Shared PC Mode during OSD. I have one TS for deploying Windows 10 1607 to new PCs, and a separate TS to upgrade systems from 1511 to 1607. Although the step to apply the provisioning package reports as completely successful, there is no indication in the Settings app that the package is applied, and the desired behaviour is not observed. Has anyone else managed to get Shared PC Mode working, without having to manually apply the provisioning package?

    1. Jamie Rhine says:

      Rob – I’m seeing the same behavior when trying to add a provisioning package that enables Shared PC mode. Have you found a working solution?

    2. Arild Nedreberg says:

      I am applying a PPKG for Shared PC Mode during OSD.
      Works for me.
      Doing just as described in this article.

  6. Rodrigo Fronza says:

    Hello, Great article.
    I have a question regarding the .ppkg package, I’m trying to remove some applications. More specific are some apps. I created the package (UniversalAppUninstall -> Unistall) and would like to run it as a SCCM sequencing task. Any tips on how to run the package?

    Thank you in advance for your attention.

Comments are closed.

Skip to main content