Deploy In-Place Windows 10 via SCCM

Hello everyone,

I really hope you are good because this article goes to show you how to deploy Windows 10 “In-Place” Task Sequence via SCCM.

The in-place image allows you to upgrade Windows 7/8 to Windows 10 with keeping all personal information and programs, the second type is scratch which is most popular and allows you to format the computer and install the Windows 10 from scratch (BTW, I am working on this article as well.)

 

Several points before you starting with In-Place upgrade deployment in your organizations:

  • Export a list of any software, applications of your users, give up about Google Chrome, Adobe, and others which are pretty popular, you can make the report simply through SCCM, whether it will be software metering or simple query.
  • you can either take a glance at Microsoft website which knows provide you a useful information which drivers, is compatible with Windows 10 ‘Ready for Windows’:
    https://developer.microsoft.com/en-us/windows/ready-for-windows#/
  • I suggest running “Pre-flight” which means pre-check in 3-5 computer be you do it Intensively, take the most basics computer and run the following command when the ISO is inserted
    Setpup.exe /Auto Upgrade /Compact ScanOnly /Quiet.
    This command knows to provide you XML file that detailed you if the pre-check can pass or not, same like you run pre-check of Windows 10. (the XML will create on the same path you are located). Thereby I suggest run it only on a 3-4 computer to taste your computers and come ready to any obstacles.
  • Now, Drivers,  many people don’t know but, only because of old incompatible drivers in-place upgrade could fail, you have the ability to insert drivers into the task sequence, BTW it is a really different way we knew in the past. I suggest to download all CAB files and insert it into your Task Sequence. Follow the instructions below.
  • Anti-Virus, yeah guys, be a careful and don’t say “You didn’t mention”, Anti-Virus can block your computer from upgrading, especially when in the past you blocked the Windows 10 upgrade pop-up (Include this process) and you may forget that know you want to update it, so first remove you old rules/ blocks, second please make sure you disable the Antivirus before the Task Sequence initiates, BTW as you know, you can insert a small step which will disable it as the first step.
  • Printers, Scanner and so on, the most manufacturer already prepared to Windows 10, BUT, look the “Ready for Windows” website (above) and verify that everything is ok.
  • If you have Windows 32 bit, as far as I understood, there is no ability to update the machine to Windows 10 64, you have run scratch deployment.
  • UEFI-Legacy, guys if your ConfigMgr is 1610 you have the ability to change this setting during the Task Sequence, it amazing! don’t forget it super important, UEFI, Virtualization, Intel VT-d, Secure boot (Post-Deployment), and all these security features are super relevant in Windows 10, this is the main reason organization transmits to Windows 10, especially because of security features.
  • Disk space, I suggest to remain at least 20-16 (16 for 32, 20 for 64) free GB space on your OS partitions, you can either create a validation step for this step, you will see it lately.
  • Bit locker, if you have Microsoft BITLOCKER and whether MBAM exists or not, in-place upgrade accepts this configuration and don’t mess with it. So, don’t worry about it’ll pass.

Hope most of you already hear about Upgrade Analytics tool that Microsoft made for us, this tools knows to provide information about your organization such as (Hardware type, installed software, drivers compatibility, and more, the risk that nobody has announced yet is that all this sensitive data goes directly to Microsoft cloud, so this is your decision, just to share with you, I didn’t apply it, for further information:

  • Relevant logs file:

SMSTS, the major log you have to look on, trace TS steps in this log.

Setupact, and setuperr, in the case of Windows 10 failed with an unclear error, please make sure that you don’t hide any files/folders under C:\, the default location of those files is C:\%Windows.~BT\Sources\Panther\.
The Windows Setup Scenario is:

Those are the main logs I looked, but sure you can deep dive more with this article:
https://technet.microsoft.com/en-us/library/ee851579(v=ws.10).aspx

The main errors are:

0xC1900101 – 0x3000D

Check your drivers (peripheral devices that are connected), uninstall drivers or update display driver.
0xC1900101 – 0x20017

Perhaps, some drivers are not updated. Take a look into Setuperr.log and Setupact.log files.
0xC1900101 – 0x20004
Uninstall any antivirus applications, update BIOS, removed unused SATA and any unused devices.

800704B8 – 0x3001A

Uninstall Non-Microsoft applications and consider clean-boot:
https://support.microsoft.com/en-us/kb/929135

applause to “Greg Lindsay” which made amazing troubleshooting and share with us this information, For more errors code, open this link:

https://technet.microsoft.com/en-us/itpro/windows/deploy/resolve-windows-10-upgrade-errors

Let’s start because we have too much work here:

Right click and “operating system upgrade packages” add OS Upgrade Package:

Add the Windows 10 Source Folder by adding  UNC path:

Right click on the package and “distribute” it to your DP’s:

As soon as it is finished, go to Task sequence categories and “Create a new task sequence”.

Choose the OS and continue with next:

Not selecting any updates:

right now I do not select add any application:

Next > Next Finish:

Deploy the TS to the collection you want:

Please edit your task sequence by right click on the new Task Sequence and “Edit

Let’s start with the serious feature

How to add drivers to in-place upgrade Task Sequence?

The first think you have to do is to query your computer version by WMI query, so in for instance you have Lenovo M92P open CMD on that computer and run:

“wmic csproduct get version

  • Hopefully, you already created packages and downloaded CAB files for Windows 10 and added them to SCCM, if not please do it firstly!

Add “Download Packages Content” under Upgrade the Operation System Group:

Add your Driver Package and add the custom path to “C:\Drivers” and on “save path as a variable” type “Drivers

  •  Make sure you have “Drivers” folder under C:\ if not, you can either select the “Configuration Manager Client Cache”.  < — {By the way that’s I have selected in my org…}

On the same page click on “Option” and add “WMI Query” and putting the following query:

select * from win32_computersystemproduct where version like “%M92P%”

Guys, of course, like any normal organization you may have several computer’s models, therefore I suggest adding several “Download Packages Content” with different WMI queries.

Once you finish with Download Packages Content stage go to Upgrade Operation System Step and add “%Drivers01%” value to “Staged Content” exactly like this:

Validation:

I strongly recommended to enable those validations to step before deployment is starting:

  • Ensure minimum 16GB free disk space
  • Ensure minimum 1024 (MHz) Speed of Processor.
  • How to set default programs post-Windows 10 deployment? I strongly suggest to add this step to your TS, you can either set one configuration for all users by GPO or set it once by SCCM, post deployment and then the user could set itself the personal customization.
    • Go to a computer and export the relevant configuration you would like to be on all images, set default browser, default Outlook programs, music and so on, as soon as you have 1 Standard configuration you can export it by the following steps:
    • Open CMD as Administrator and run:
      dism.exe /online /Export-DefaultAppAssociations:C:\Windows\Temp\DefaultApps.xml
    • Open C:\Windows\Temp and copy the XML file.
      A Create a new folder call it XXX (As you want) and put the XML there.
    • Open a new notepad file in XXX folder and put the following script there:
      dism.exe /online /Import-DefaultAppAssociations:%~dp0Defaultapps.xml
    • Save the Notepad as “DefaultApps.cmd” in the same folder XXX.

    So far, this folder supposed contains two files, 1 XML 2, BAT file:

  • Create a new package on SCCM:
    New package > Insert name, add source folder to the folder you have created, next and then select “Do not Create a program
  • Distribute the Package to your DP’S, (Right click “Distribute Content”)

Return to task and add this step:

Add a new step under post-processing of “Run Command Line” and choose the package you have to create and then in “Command Line’ add “defaultapps.cmd” (As stated on the folder)

Press ok.

Deploy the Task Sequence to your collection:

Righ click on your Task Sequence and then “Deploy

STOP!!!! – Make sure you are not selecting “Required” you’ll deploy it to all collection without user approval:, therefore make sure it is Available

Go to your Windows 7 machine and initiate the TS
get ready? > Install

As you can see, Windows 7 upgraded to Windows 10 successfully.

For any question please leave a comment, I will try to help as much as I can, take under consideration that as long as you have many computers type your troubleshooting will be more complicated.

In my organization, we already encountered that there were several machines that weren’t updated to Windows 10 because of Drivers, updates, Bios drivers, AntiVirus old version, traffic that blocked, and 1000 other reasons.