In the fourth post of this blog series about Windows 10 Deployment using SCCM, we will show you how to upgrade a Windows 7 to Windows computer 10 using SCCM task sequence upgrade.
The goal of an upgrade task sequence is to upgrade an existing operating system to Windows 10 without loosing any data and installed software. This post assumes that you are running SCCM 1511 or SCCM 1602 and that you completed the preparation of your environment for Windows 10.
If you are running SCCM 2012 R2 SP1, the product team has release important information about SCCM task sequence upgrade that you can find in this blog post.
In the past, an in-place upgrade scenario was not a reliable and popular option to deploy the latest version of Windows. With Windows 10, it’s now reliable and features an automatic rollback in case something goes wrong. This scenario can also be considered faster than the wipe and reload deployment scenarios, since applications and drivers don’t need to be reinstalled.
When to use Windows 7 In-Place Upgrade Scenario ?
Consider using SCCM upgrade task sequence if :
- You need to keep all existing applications and settings on a device
- You need to migrate Windows 10 to a later Windows 10 release (ex: 1511 to 1607)
- You don’t need to change the system architecture (32 bits to 64 bits)
- You don’t need to change the operating system base language
- You don’t need to downgrade a SKU (Enterprise to Pro). The only supported path is Pro to Enterprise or Enterprise to Enterprise)
- You don’t need to change the BIOS architecture from legacy to UEFI
- You don’t have multi-boot configuration
Windows 10 is now managed as a service, this upgrade process can also be used to migrate Windows 10 to a later Windows 10 release or you can use the new Windows 10 servicing feature in SCCM 1602 and later.
Possible Upgrade Path when using SCCM Windows 7 Task Sequence Upgrade
- Windows 7, Windows 8 and Windows 8.1 can use this method to upgrade to Windows 10
- You can’t upgrade a Windows XP or Windows Vista computer to Windows 10
- Windows 10 is the only final destination OS (You can’t upgrade a Windows 7 to Windows 8.1 using this method)
Requirements
- As stated in the start of this blog post, you need at least SCCM 2012 R2 SP1 (or SCCM 2012 SP2) to support the upgrade task sequence
- You cannot use a custom image for this scenario, you must start from the original WIM from the Windows 10 media
Three major vendors have supported workarounds documented on their support sites :
Understanding the In-Place Upgrade Process
If you want to understand all the phases in the upgrade process, we strongly recommend watching the Upgrading to Windows 10: In Depth video from the last Microsoft Ignite event.
Create SCCM Task Sequence Upgrade Windows 7 to Windows 10
Enough writing, let’s create a SCCM task sequence upgrade for a Windows 7 deployment.
- Open the SCCM Console
- Go to Software Library \ Operating Systems \ Task Sequences
- Right-click Task Sequences and select Upgrade an operating system from upgrade package

- In the Task Sequence Information tab, enter a Task Sequence Name and Description

- On the Upgrade the Windows Operating System tab, select your upgrade package by using the Browse button. If you don’t have imported an upgrade package yet, use the step provided in our preparation blog post

- On the Include Updates tab, select the desired Software Update task
- All Software Updates will install the updates regardless of whether there is a deadline set on the deployment (on your OSD collection)
- Mandatory Software Updates will only install updates from deployments that have a scheduled deadline (on your OSD collection)
- Do not install any software updates will not install any software update during the Task Sequence

- On the Install Applications tab, select any application you want to add to your upgrade process

- On the Summary tab, review your choices and click Next

- On the Competition tab, click Close

Edit the SCCM Task Sequence Upgrade
Now that we have created the task sequence, let’s see what it looks like under the hood:
- Open the SCCM Console
- Go to Software Library \ Operating Systems \ Task Sequences
- Right-click your upgrade task sequences and select Edit
As you can see, it’s fairly simple. SCCM will take care of everything in a couple of steps :

- The Upgrade Operating System step contains the important step of applying Windows 10

Deploy the SCCM Windows 7 Upgrade Task Sequence
We are now ready to deploy our task sequence to the computer we want to upgrade. In our case, we are targeting a Windows 7 computer.
- Go to Software Library \ Operating Systems \ Task Sequences
- Right-click Task Sequences and select Deploy

- On the General pane, select your collection. This is the collection that will receive the Windows 10 upgrade. For testing purposes, we recommend putting only 1 computer to start

- On the Deployment Settings tab, select the Purpose of the deployment
- Available will prompt the user to install at the desired time
- Required will force the deployment at the deadline (see Scheduling)
- You cannot change the Make available to the following drop-down since upgrade packages are available to client only

- On the Scheduling tab, enter the desired available date and time. On the screenshot, we can’t create an Assignment schedule because we select Available in the previous screen

- In the User Experience pane, select the desired options

- In the Alerts tab, check Create a deployment alert when the threshold is higher than the following check-box if you want to create an alert on the failures

- On the Distribution Point pane, select the desired Deployment options. We will leave the default options

- Review the selected options and complete the wizard

Launch the Upgrade Process
Now that our upgrade task sequence is deployed to our clients, we will log on our Windows 7 computer and launch a Machine Policy Retrieval & Evaluation Cycle from Control Panel / Configration Manager Icon

- Open the new Software Center from the Windows 7 Start Menu
- You’ll see the SCCM upgrade task sequence as available. We could have selected the Required option in our deployment schedule, to launch automatically without user interaction at a specific time

- When ready, click on Install

- The following warning appears

- Click on Install Operating System
- The update is starting, the task sequence Installation Progress screen shows the different steps



- The WIM is downloading on the computer and saved in C:\_SMSTaskSequence


- You can follow task sequence progress in C:\Windows\CCM\Logs\SMSTSLog\SMSTS.log

- After downloading, the system will reboot

- The computer restart and is loading the files in preparation of the Windows 10 upgrade

- WinPE is loading

- The upgrade process starts. This step should take about 15 to 30 minutes depending of the device hardware




- Windows 10 is getting ready, 2-3 more minutes and the upgrade will be completed

- Once completed the SetupComplete.cmd script runs. This step is important to set the task sequence service to the correct state

- Windows is now ready, all software and settings are preserved

34 Comments on “Windows 10 Deployment | SCCM Task Sequence Upgrade Windows 7 to Windows 10”
Remarkable! Its truly awesome paragraph, I have got much clear idea about
from this post.
What logs can we refer to after a failed deployment to try and discern the error.
Hello.
By this technique migrated to the updated computer in sccm was not tied to the old account and old groups. How to avoid it?
Hi everyone,
I’m trying to upgrade my DELL Windows 7 Enterprise devices to Windows 10 and the upgrade fails because of video drivers. Obviously the Windows 7 drivers aren’t compatible and the upgrade process has a hard failure. If I set the Windows 7 to use VGA drivers, the upgrade process works flawlessly.
My question. How do you guys handle video drivers issues in a task sequence when upgrading from Windows 7 to Windows 10?
Thanks!
I made copies of the “Upgrade Operating System” task, and renamed each one that requires a different driver set.
Example: Upgrade Operating System – Dell OptiPlex 7050
Example: Upgrade Operating System – VMWare Guest
Then under the Driver Package, select the Windows 10 driver package that includes the Dell OptiPlex 7050 (for example).
Then under options for this example task, add “If Any…”, then add a WMI Query for:
SELECT * FROM Win32_ComputerSystem WHERE Model = “OptiPlex 7050”
This allows you to add multiple models to the same task sequence for specific driver sets.
I am no longer positive the place you’re getting your information, but good topic.
I needs to spend a while learning more or figuring out more.
Thank you for fantastic information I was searching for this info for my
mission.
Hello,
I have the task sequence and it completes and upgrades the PC to Windows 10. However SCCM is still reporting the OS as Windows 7. I have waited for a day, reinstalled the client, ran inventory scans, and WMI repair. The only thing that seems to work is doing the Windows 10 servicing to a different version from 1709 (The task for in-place upgrade for 1809 fails). Would you be able to provide any assistance. Thank you.
Can we do a bios conversion from legacy to uefi?
Hi, Which task sequence i need to choose before upgrading a OS from win 7 to win10 i need to take back up the user data.
Pingback: Learn More
Keep up with your good work!
Your site seems to be having some problems.
Error executing Task Sequence Manager service. Code 0x80004005 no matter what! Now what to do?
Hi,
I have tried this many times but with the same error 0x8004005, please assist.
Dear gentlemen.
could you please your support.
i tried to deploy Windows 10 enterprise using SCCM 2012 (1702) , during running the task sequence i got the error code 8004005 from most of computers,i tried in one of them many time, finally it success the task sequence. here i need support to find the common problem for all these computers. be noted , i tried many times with others computer but my tried was field. is any root analysis for this case ?
Try running the setup.exe to do the upgrade manually on that machine with this error (you don’t have to actually run the full upgrade) and see if it reports any incompatible software (often times anti-virus will prevent the upgrade if it isn’t in the compatibility database). This is the most common cause of this error in a Windows 7 to Windows 10 upgrade task sequence.
Otherwise, the error is pretty generic and you’ll need to check the log to see exactly what error output is being produced. Make sure all of your content is distributed, and also, make sure that the cache size on the client allows for your upgrade package size if you have the deployment set to download content locally. I’d recommend choosing the “copy package to share” option on your upgrade package and changing the task sequence deployment to “Access all content directly”
can i use pxe boot to start in place upgrade to windows 10 from windows 7 ?
No – It must be started from within the running operating system.
Why would you need to PXE boot to perform an upgrade? PXE booting is for running operations to a system while it’s OS is OFFline, such as formatting the disk and installing a new OS from scratch.
Performing an upgrade needs to run from within the OS that is to be upgraded, thus it has to be advertised to Configuration Manager.
You mention “You cannot use a custom image for this scenario, you must start from the original WIM from the Windows 10 media”
The Symantec article instructs you to create a custom wim file for deployment. Does this mean you cannot use SCCM to do an in-place upgrade with Symantec full disk encryption in place?
Is there any official Microsoft documentation that states a custom wim cannot be used?
Thanks!
Anyone still seeing “When you install a new operating system, all the existing data on your computer will be removed” warning on ConfigMgr 1610? New Software Center displays that warming while the old Software Center displays correct warning. All clients fully updated to 5.00.8458.1007.
Great article! The upgrade process (Windows 10 version 1511 to 1607) leaves a rather large Windows.old folder at the root of the C: drive. It there a recommended method for removing it if the upgrade is successful? I currently have a script that takes ownership, changes the permissions and the removes the folder but I thought there might be a better way.
Does this migrate User Data or do you need to add this step. I had planned on adding Driver Package for Win10 for specific models to try and avoid install issues.
Hello,
Do you have instructions to run SCCM MDT Windows 10 Replace scenario using State Migration Point.
Thanks
I believe this is a typo, “You need to migrate Windows 10 to a later Windows 10 release (ex: 1511 to 1602)” and you meant “1511 to 1607” for Windows 10.
Hi Mark,
You are totally right. With all the SCCM and Windows 10 version, it gets confusing :p.
It’s fixed in the article.
Thanks !
Is there a way to cache the content before the user executes the task sequence? I am looking to improve the experience for the users on slow connections.
Change the task sequence deployment to “Download all content locally before running task sequence”
You will need to change all of your client settings to increase their cache size though, because the default won’t be big enough to hold it all. 10 GB should be adequate.
Hi Gents,
Having issues with the Featured Apps(Candy Crush Soda, Minecraft, Twitter, Picsart and Cortana), can’t get rid of them.
I am facing the same issue, even after trying the Registry modification as shown above.
Is there any other way to remove/block these apps to show up, this is holding up a huge deployment 🙁
Any suggestions, will be much appreciated.
Thanks,
Ambar
Is it possible to create a package with drivers and deploy along with the upgrade to 10 ?
Can you confirm when the warning message
“When you install a new operating system, all the existing data on your computer will be removed”
will be fixed? I have updated to SCCM 1602 and I saw this message come up on the first client I tested it with:
“This in-place upgrade installs the new operating system and automatically migrate your apps, data, and settings.”
The issue is that for some reason that message won’t show up on any other machine even though the client version matches exactly. Any thoughts?
I confirm that I have the message too (in 1602)
@Jerky – that’s why we have “TEST” state before roll out jerk. LOL
If it fails, the operating system is rolled back to it’s previous state.
If you’re lucky…
This is why I built a PowerShell module for “live cloning” a computer.
It uses Volume Shadow Copy to create a WIM file of an entire OS drive for a machine while the user still works on it.
The WIM file can then be used like any other WIM to deploy that cloned machine anywhere else you need it, plugged into a task sequence where you can install drivers, etc…
The only caveat is that it no part of a task sequence can run after the image is applied inside the OS because the live-cloned image can’t be sysprepped “offline”.
But I’m setup now to just type “clone PC_NAME_HERE” and immediately a WIM file begins building of that machine on a network share that can be used just like a Ghost image after, a Ghost image for the future, agnostic of file system format or partition details.
What if it fails?