How to upgrade Windows 10 edition using provisioning package?

Hi everyone! In this article, I would like to explain how to upgrade easily Windows 10 edition without reimaging the computer. To do this, we have to use the new Windows 10 feature: provisioning package (PPKG).

To get more information about provisioning package, I let you visit the TechNet page about it.

Just to explain what a provisioning package is, I would say that it is an “unattend.xml” but in much more powerful. You can apply predefined settings, install applications, upgrade edition etc by just applying a provisioning package!

Let go directly to our subject: we want to upgrade Windows 10 edition from Pro to Enterprise by using provisioning package.

Note that you can’t upgrade from Windows 10 Home to Enterprise.


  • You have installed Windows Imaging and Configuration Designer (WICD) from Windows 10 ADK (download it here) on a computer.
  • Have an Windows 10 Enterprise license key (like MSDN).
  • Have installed the Windows 10 Pro computer, which will be upgraded to Windows 10 Enterprise.

We are now ready to create the provisioning package which will upgrade our Win 10 Pro to Enterprise.

Create the provisioning package:

Open WICD on your computer and click on “New Provisioning Package”.

  1. Enter a project name and click “Next
  2. Select “Common to all Windows editions” and click “Next
  3. You don’t need to import a provisioning package so leave the field blank and click “Next
  4. Your new project opens and your ready to configure it.

From the left menu, navigate to [Runtime settings] –>[EditionUpgrade] –> [UpgradeEditionWithProductKey]


Enter the Windows 10 Enterprise license key in the right panel and we are ready to export our provisioning package.

Export provisioning package

In WICD, from the top menu, click on “Export” –> “Provisioning package


  1. On the first windows, you can change the Owner, per example to “IT Admin” and click “Next”.
  2. You can encrypt or sign the package to make it more secure. Click “Next”.
  3. Select the path to save the package and “Next
  4. Finally you just click on “Build” and the package will be created!

You can move the saved provisioning package which has a “.ppkg” extension on the target computer.

Apply the provisioning package

There’s many different way to apply a provisioning package but in this demo, we’re going to just double-click on the package to apply it. FYI, the other way to apply a provisioning package to a running desktop is to tap the windows button 5 times on the OOBE screen. Finally, to apply a PPKG to an offline image, you can use the DISM command (see my next article).

Here’s my computer before applying the provisioning package:


Let me know apply it by just double-clicking on it. You can see my provisioning package on the desktop.


Then I immediately get the following screen telling me that my computer is preparing for upgrade.


Long story short, the computer reboot and TADAM!


We can verify edition on the upgraded computer.


Comments (22)
  1. Windows 10 is best…!!

    1. Archeval says:

      not really, it’s got some large problems. like licensing being tied to hardware through a hardware ID so if you have to get major parts changed out it will change your hardware ID and invalidate your license

  2. Juerg Koller says:

    Hi, great Blog Post, thanks.

    But I have a question regarding your statement: "FYI, you can also apply provisioning packages by scripting."

    I searched quiet a lot through the Web and the different Tools but I so far I didn't found a way to apply a .ppgk File to an online System using command line oder a Script. Can you please give me a little hint, where I have to seach (or even better a Blog Post about it.. 🙂

    Thanks a lot

    Kind regards, Jürg

  3. Hi Juerg, thanks for your comment! I was talking about DISM command to inject a PPKG in an offline image. But it's true that it's not really clear in my article so I will remove that part 🙂

    As you mentioned, you can't script the installation of a PPKG on a running image.

  4. Diagg says:

    Hi Samir,

    appart from DISM, is there a way to launch provisioning packages without beeing prompted ?

  5. Hi Diagg, unfortunately, there's no other way to apply PPKG 🙁

    From a running desktop, there's no way to silently install a PPKG.

  6. Kanik Garg says:

    All the metadata (added features from home to enterprise edition) will be downloaded from Internet or can we specify a network share ?

  7. Hi Kanik, you can't upgrade from home to enterprise edition.

    The supported upgrade path are as follow:

    – Windows 10 Pro to Windows 10 Enterprise

    – Windows 10 Pro to Windows 10 Education

    – Windows 10 Home to Windows 10 Education…/dn904983(v=vs.85).aspx

    Just for testing, I upgraded a Win10 Pro to Enterprise without network access and everything worked smoothly. All the needed features are already on the device while upgrading.

  8. Frank says:

    Thank you Hammoudi, great article but I have one question. I was told if you sign the ppkg it will run silently, is this true?

  9. You can't run silently a ppkg for now.


  10. Frank says:

    Couldn't get it to work, just wanted to confirm. Thanks for the info.

  11. Dave says:

    Without a way to silently run this in an automated way, this is worthless. Sorry. Microsoft needs to fix this.

  12. David Okeyode says:

    Thanks very much again. Excellent article. If i want to add a language pack, will internet access be needed or do they exist on the image already?

  13. Chad Schmidt says:

    We use a KMS server for our Keys. Here is my scenario.. I am trying to create a provisioning package to put a computer on our domain and to change the edition from 10 pro to 10 enterprise. In this case what key do i use? I tried the generic public key that we use with KMs but that does not work. I double click the package it asks if I am sure I want to run it and then nothing.. 2 questions, 1. What key do I use when I have KMS. 2. Does the computer need to be on the domain to be able to change the edition?  We are trying to use this for Microsoft Surface Pro 4's.

  14. Bill Dunn says:

    Check that the version of ADK and Windows 10 match.  I have found that if you use a Provisioning package created in the newer ADK (586…matching with the November 1511 OS release) will not working a .240 1508 July release of the OS.  One created in the July ADK seems to work OK on the 1511 release of the OS.  

    1. Junz Tan says:

      Hi Bill, I am having same problem. I used ADK 1607 to built provisioning package and try to run on Windows 10 Pro or Windows 10 LTSB. It did prompt UAC but after click ‘YES’ nothing happen at all.

  15. Alan Dooley says:

    I followed this to the letter, double and triple checked it but when I run it I get the trust message, click Yes to add it and then it disappears and nothing happens, what could be wrong? The client is a non-domain joined surface pro with W10 Pro and I am using the W10 Ent KMS key (will join it to the domain later).

  16. Dean Colpitts says:

    Hey Samir – I’ve run into what we shall say is an interesting issue with this… New HP Elite X2 1012 tablet, with W10Pro OEM right out of the box. I followed the steps above and upgraded the unit without issue. We don’t have enough machines to activate with KMS, so after the I finally got everything setup on the machine as I want (yesterday), I activate with a MAK key (it has was probably been a month or two since I did the upgrade – I was running in notification for a while because getting this machine done wasn’t a priority, and the machine has only been powered on off and on for a few minutes randomly during that period).

    This morning I noticed on the desktop that the machine was showing it wasn’t activated. Weird… I’m sure I activated (I know for 100% I did because I was on the phone with one of my team mates and we were talking about it when I activated it yesterday). So I opened a command prompt, went ahead and added the MAK product key again, and activated it again (and verified that yes, it was activated). I rebooted this afternoon and to my amazement, Windows was complaining it wasn’t activated. When I checked, I found a KMS key had been installed. Investigating the Application Log, immediately after the last reboot I see:

    Security-SPP, Event ID 1016
    Proof of Purchase installed successfully

    This is followed by another Security-SPP event for auto-activation, which obviously doesn’t work because I don’t have KMS configured in my lab. This happens on every single reboot (PoP installed, auto-activation fails). I also seen an event for ChangePK.exe. So I start searching out the product key n my registry and I track it down to HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsAnytimeUpgrade. I delete the entire key (WindowsAnytimeUpgrade) and reboot. Same events in the App Log, and the key and all WindowsAnytimeUpgrade contents get recreated on reboot.

    Next I get crafty, and take ownership of HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsAnytimeUpgrade. I delete the contents out of it, and deny all users including SYSTEM and TrustedInstaller both full control and read access. I reboot Windows and my Application Log entries are gone now (well the ones relating to PoP being installed). I reactivated with MAK, and the machine is staying activated with MAK now across reboots.

    So – the question is – what gives, and how do we fix this properly? Something it obviously causing the WindowsAnytimeUpgrade key to repopulate, and to reinstall the KMS key.


    1. Arojit Ghosh says:

      Can we use Provisioning Package to Downgrade from Windows 10 Ent to Pro?

  17. Unfortunately, you cannot. Only upgrade is supported.

  18. Witchdoc59 says:

    Ok I tried this procedure and it sorta didn’t work. Here is what I did.

    First I built a Windows 10 Pro machine. I did not activate it.
    Then I created my .ppkg file with our Windows 10 Enterprise 2015 LTSB product key in it.
    I copied the .ppkg to a flash drive then ran the .ppkg on the computer with Windows 10 Pro on it.
    I got the first dialog box that asks if this is trusted source.
    I clicked on the Add it button.
    Then nothing happened.

    After some time I thought there was a problem with the .ppkg so I rebuilt the .ppkg and tried again.
    This time I didn’t even get the first dialog.
    After some time I went to System properties and noticed that it now said I had the Enterprise version installed.
    However I was still not activated and I could not activate it so I rebooted the machine.
    The machine went through some updates and rebooted a few times.
    I was then able to log in and I had Windows 10 Enterprise 2015 LTSB.
    However, it still would not activate. The error said it was looking for a KMS which we don’t use.
    I had to enter the Enterprise Product key on the machine and then it activated.

    Thanks for this tutorial. Could you do some follow up tutorials. Perhaps you could expand this provisioning package to install Office.

  19. Witchdoc59 says:

    I just tried this on a brand new Surface 4 pro and it immediately tells me that the product key is not valid. The Surface 4 Pro has Windows 10 Pro on it so it should be able to be reprovisioned using this procedure.

    Thanks for a great tutorial.

Comments are closed.

Skip to main content