Jump to content
Robert McClure

Upgrading from Windows 7 to Windows 10

Recommended Posts

We are working with our clients on moving everyone to Windows 10 when. In order to do this we are trying to determine the best method for handling this remotely. The hope is that we could do this through Automate, though I am not sure that is possible. I'd like to know/hear how others are working with their clients to upgrade endpoints from Windows 7 to Windows 10. Are you going onsite or doing it remote? What tools are being used? What issues or stumbling blocks have you run into?

 

Any input would be great! 

Share this post


Link to post
Share on other sites

We saw this new company at the IT Nation Explore conference, and they won some level of the PitchIT contest.  It seems very promising, and we will be looking into them soon.  

https://immy.bot/

It does both application management, as well as a "beta-ish" implementation of Win7 to 10 in-place upgrades.

Edit: It is also Automate/Manage integrated.

Edited by adelamora

Share this post


Link to post
Share on other sites

Notes:

This was not as easy as it looked. I ran into many issues I had to solve. I did take several snippets from multiple scripts I found including the feature update scripts and added my own solutions to the problems I encountered to come up with a working script which I have used many times recently with no problems. This will need moderate customization and moderate knowledge of scripting to debug these scripts for YOUR environment.

Examples of problems?

#1. Windows 7 does not have powershell scripting to mount an ISO image, so I had to use zip files and unzip them for the script

#2. Unzip has an apparent 2gb limitation? Regardless, I used 7za.exe (7zip) and by the way, 7 zip has so many switches that change depending upon if it’s “After Labor Day, Summer, etc…” with each version. I personally downloaded the 7zip (32 bit and 64 bit) and copied the 32bit 7za.exe from my program files into the Labtech transfer folder to use. I used the correct switches for this version.

#3. I added a Disable UAC script and Reboot script prior to installation due to some inconsistencies I encountered. (Lines 46-48 I added Run Script disable uac, run script reboot computer, sleep 180 seconds)

#4. Hosted Automate server doesn’t give much room for huge ISO files, so I used dropbox (And also created an internal server share script)

Another Note: In order to get the correct/current ISO I had to use Microsoft media creation tool and create the ISO’s for 32bit and 64bit (Needed for correct detection) and furthermore had to use PowerISO to save the ISO’s into zip format (See above about windows 7 and powershell)

Anyway, I realize these scripts could be cleaner and more robust (You should see my desk). However, they are functional and work with no user intervention. But please, test test test within your environment before going into critical production environments. If nothing else, I am hoping I have provided a building block to build on and to have solved the problems many have had. And by all means, if anyone wants to make them better, please do! I take no responsibility for any damage, so please test test test in your environment prior to implementing into production. My contribution and input was to assist the community with a solution I created that worked for us. 

https://www.7-zip.org/download.html - 7zip

https://go.microsoft.com/fwlink/?LinkId=691209 - Windows 10 Media Creation Tool

https://www.dropbox.com/ - dropbox

https://www.poweriso.com/ - Poweriso to convert iso to zip

https://blogs.technet.microsoft.com/home_is_where_i_lay_my_head/2015/09/14/windows-10-setup-command-line-switches/ - Windows 10 setup switches for the curious

 

 

 

 

(Sanitized)Upgrade Windows 7 to Windows 10 using dropbox

Line 30/31: Set your dropbox link locations for 32/64 bit ZIP files (Must be zip converted from the isos created by Media Creation Tool) (note the dl=1 switch, it is important). Also, I only used and tested Win7pro and Win10Pro 32bit and 64bit. You may have to modify this to do other versions.

Line 36: Once you have imported the script and saved it within your script folder, modify this line to point to YOUR location.

Line 45: Here you can see the switches I used with 7za.exe (7zip) I would test this at a command prompt to verify switches work for you. 7zip has different switches for different versions. Google is your friend. I used basic “x” extract and “-o” for output directory

Line 59: You can adjust these switches if you want, more specifically many people turn off updates /dynamicupdate disable… I prefer current updates.

Lines 70-72: Ticket creation, modify for yourself.

 

(Sanitized)Upgrade Windows 7 to Windows 10 using windows share

Same steps as above, except line 30/31 will be Server\share locations.

Disable UAC.xml Reboot computer.xml(Sanitized)Upgrade Windows 7 to Windows 10 from Server Share.xml(Sanitized)Upgrade Windows 7 to Windows 10 from Dropbox.xml

Edited by Rafe Spaulding
Cleaned up files
  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

We did something similar to how @Rafe Spaulding did it. Most machines were mobile laptops, so had to download to each workstation individually. First rolled out PowerShell v5 to utilize BitsTransfer through PS, provided the ability to download in the background on user machines during idle time and not on metered connections as most were sales people roaming the states and typically used hotspots. Downloaded the ISO's from Microsoft's Media Creation ToolKit website. A little trick, go to the website, switch in developer mode to emulate ipad/safari browser. It'll let you just download the iso you want. Saved those iso's to OneDrive and used BitsTransfer to download from a "anyone" shared link. We didn't have to worry about UAC as the upgrades ran silently in the background under the system account. The 7za trick is neat, we used a different 3rd party tool that mounted the ISO and extracted to a local directory via command line. Then of course had a friendly script that would run when the upgrade was ready to be started, it allowed the user to initiate the upgrade by clicking yes and counted the number of times users clicked no. Prompted each time the user clicked no and after X amount of times, the upgrade forced itself.

  • Thanks 1

Share this post


Link to post
Share on other sites

If it helps simplify, 7-zip should be able to directly extract/unzip an ISO file...

The ones we've done we've done manually, albeit remotely, so we could see about uninstalling any incompatible software, drivers, etc.

  • Like 1

Share this post


Link to post
Share on other sites

Hello @Rafe Spaulding - I am a little new to Labtech/Automate and found your post and scripts extremely useful, so thank you for that. I am having issues getting Shell to open setup.exe with it’s switches? It looks like it actually runs it as a process but doesn’t ever go through or do anything. Is there some kinda tip to run .exe’s in Shell? I have tried multiple ways around this like Execute Script as Batch or opening an existing .bat with no luck! 

  • Thanks 1

Share this post


Link to post
Share on other sites

This worked very well in my test yesterday. Windows 7 to Windows 10 in about 2 hours. 

However, I uploaded Windows10 build 1909 onto our server and tried it. Do NOT have 2 hyphens in the ISO name. Like  Windows10-x64-Build1909.ISO  the download will fail. 

You can have 1 of those hyphens but not two.

Share this post


Link to post
Share on other sites

@Tarek Salem I know it's not much help replying months after the fact, but maybe this will help the next person struggling with the same issue.

It really shouldn't matter what order switches are put in place... but apparently it does. The fix for the issue you're running into is to simply move /Quiet closer to the front of the argument. Here is what mine looks like:
`c:\windows10upgrade\@Installer_exe@ /Auto Upgrade /Quiet /Compat IgnoreWarning /migratedrivers all /dynamicupdate disable /showoobe none /copylogs %ltsvcdir%\packages\Windows10UpgradeLogs`

/Quiet by the last switch in the imported version above and I had the same issue you did... by moving it near the front the script started working flawless.

Another helpful tip - This script actually works on Windows 10 too. It compares the current OS to the @Win10Version@ variable that's manually set and if your W10 machine doesn't match then it will go through the same process and upgrade it to whatever version you want.

Share this post


Link to post
Share on other sites

Thank you @bigdog09! I actually found another router but it's kind of a longer one and probably beats around the bush too much. I will try your solution and hopefully that works!

Here's what I basically did, I ran Shell to run PSEXEC and then the command.

Here's an example: C:\Windows\LTsvc\packages\psexec.exe -s /accepteula -d C:\windows10upgrade\setup.exe /auto upgrade /dynamicupdate disable /copylogs %ltsvcdir%\Packages\Windows10UpgradeLogs

  • Like 1

Share this post


Link to post
Share on other sites

Hey guys, I want to share another tool I found which you may use to add to your scripts. I have run into many issues downloading the ISO's onto clients with terrible internet connections. The script fails due to network error while downloading. Instead of using the Force download with the scripting, use a cool utility called "WGET" located at https://builtvisible.com/download-your-website-with-wget/

It is a small executable "wget.exe" that you can add to your script download package and run inside your script using a cmd line. Example: wget.exe -O c:\downloadfolder\windowsx64.7z https://SomeInternetLocation 

wget has the ability to continue the download where it left off instead of failing to allow for script to continue.

 

Share this post


Link to post
Share on other sites

I have recently been upgrading many of our clients to win10.

As many of my clients are 2+ hours travel away I've found simply using ConnectWise Control and the windows 10 media creator has worked flawlessly so far.
Simply organise a time with clients (often out of hours to minimise business impact) use the media tool and do the upgrade.
you loose connection for about 10ish minutes while it does the core install otherwise it works perfectly. 
using this method i was able to upgrade 12 computers in about 4 hours for one site. 

Ive found no problems with this so far.

 

Share this post


Link to post
Share on other sites
On 1/14/2020 at 11:40 PM, ATrotter said:

I have recently been upgrading many of our clients to win10.

As many of my clients are 2+ hours travel away I've found simply using ConnectWise Control and the windows 10 media creator has worked flawlessly so far.
Simply organise a time with clients (often out of hours to minimise business impact) use the media tool and do the upgrade.
you loose connection for about 10ish minutes while it does the core install otherwise it works perfectly. 
using this method i was able to upgrade 12 computers in about 4 hours for one site. 

Ive found no problems with this so far.

 

Interesting idea... You did this manually? As far as I know, there's no command switches for Media Creation Tool?

I have run into a multitude of problems related to upgrading Windows 7 computers to Windows 10... Typically it fails with an error (Critical_Process_Died) and then crashes, reboots and reverts the changes and I end back up with Windows 7... 
Kinda annoying actually... So far, I haven't found a solution - or any common denominator. They're all Lenovo machines and software-wise they have most in common - with slight differences. 

Share this post


Link to post
Share on other sites
On 1/25/2020 at 12:34 AM, Anders Bermann said:

Interesting idea... You did this manually? As far as I know, there's no command switches for Media Creation Tool?

I have run into a multitude of problems related to upgrading Windows 7 computers to Windows 10... Typically it fails with an error (Critical_Process_Died) and then crashes, reboots and reverts the changes and I end back up with Windows 7... 
Kinda annoying actually... So far, I haven't found a solution - or any common denominator. They're all Lenovo machines and software-wise they have most in common - with slight differences. 

Yes we have been doing this manualy.

Logging into customer computer Via screenconnect software, manually do the work.
 

We recently had a similar problem with a customers laptop. 
the problem ended up being the windows key stored in the bios.
the customers win7 had been upgraded from 7home to 7pro.
 

However the UEFI/bios stored key was the win7home key, this caused constant headaches.
Once we found this there is a way to launch the media to to ignore the stored credentials and use ones provided.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...