Just yesterday, I had an article go live on ComputerWorld. Its title explains its focus: “How to fix Windows 10 with an in-place upgrade install.” I’ve already gotten a couple of emails from readers informing me they tried this, and get only a clean install as an option when they fire off setup.exe. There are many reasons why this can happen, all of which are enumerated in that selfsame story. (See the section labeled “Sounds to good to be true; what’s the catch?”) But there are ways to check current Win10 for in-place upgrade repair to make sure the ISO you use will work with the running image. I’ll enumerate them here, to help would-be repair-persons succeed in their repair attempts.
How to Check Current Win10 for In-place Upgrade Repair
The conditions that must be met include specific items for the image that’s running and the image from which repairs are made. I’ll march through most of these one at a time in the sub-sections that follow, but will dispatch a couple of them here immediately. First, to run setup.exe in Windows 10, you must be logged into an administrative account. But because you must be able to run cmd.exe or PowerShell as an administrator to execute most of the following commands, I take that as a given for anyone who attempts an in-place upgrade for repairs. Second, to attempt an in-place upgrade for repair purposes, the OS must be running well enough for setup.exe to run to the point where the system reboots for the first time. After that, the installer takes over and the old OS is no longer in charge of the PC.
Third, the system drive (the SSD or hard disk on which Windows resides) must have enough free space for repairs to complete. How much free space is that? It’s about 9GB more than the space that Windows itself consumes on disk. According to WinDirStat for my production PC, for example, that comes to 28GB (18.9 GB for Windows 10 and another 9GB for workspace, rounded up).
Determine Win10 “Bittedness”
Windows 10 comes in 32-bit (x86) and 64-bit (x64) architectures. You can check this at the command line by typing wmic os get osarchitecture. Here’s what comes back in response on my production PC using PowerShell:
The output clearly states that this PC is running a 64-bit architecture. That means the chosen repair image must match. The ISO one grabs to use for repair will always include its bittedness. You’ll be asked to explicitly choose either a 32- or a 64-bit download.
Get Win10 Version/Build Info
You can use the built-in Win10 utility winver.exe to obtain this information. You can run this from the start menu or type the program name into the administrative command prompt or PowerShell window. Either way, it’s going to open in its own Window on screen, like this:
As you can see, the version is identified as 1709, and the build number is 16299.309. Don’t close this window just yet, it also provides information for the next sub-heading as well. When you grab an ISO for repair it will be identified primarily by its version (build) number. That means you’d have to download an ISO numbered 16299 or higher, for the build identified in the preceding screen capture. Right now the current Win10 Enterprise Insider Preview build is 17115, as I write this post.
Get Win10 Edition Info
Notice the line in the preceding window immediately following the © Copyright notice. It reads “The Windows 10 Enterprise operating system…” The fourth word in the sentence identifies the edition. Thus, a Windows 10 Home install would say “The Windows 10 Home operating system…” instead. Likewise for Pro and Education editions. You can also type wmic os get caption to produce this information as well. Here’s what that looks like from PowerShell:
As you can see, this identifies the edition as “Microsoft Windows 10 Enterprise.” This is the selfsame edition that must be used in any attempted in-place upgrade repair install. The name of the ISO usually includes this information when grabbing one to use for repairs. The edition is also identified explicitly when downloading an ISO for Windows 10, so pick one that matches what’s running.
Get Win10 Language Info
The deployment image servicing and management (DISM) command can report on language information for Windows images, on and offline. Checking the language information for the running image is easy, but the output is verbose. The DISM command to use on a running image is DISM /online /get-intl. Here’s the command and its output from PowerShell:
The value for “Default system UI language” is “en-US.” This means the running OS’s language is English as spoken/written in the United States. Thus, the corresponding ISO to download is labeled “English” online. Other languages (or English versions) are labeled more explicitly.
Grabbing an ISO for Repairs
To obtain Current Branch ISOs, please visit the Download Windows 10 page. For Insider Preview ISOs, please visit the Windows Insider Preview Downloads page. For older ISOs, I find HeiDoc.net and its Windows ISO Downloader absolutely invaluable. (It grabs only official Windows ISOs from Microsoft.com despite its apparently dodgy appearance and Asian location). I could download and use this ISO for repairs on my production PC:
Notice it includes the edition (“Enterprise”), bittedness (“x64”), language (“en-us”), and build (“17115”) in the filename. Good stuff! It tells me enough to let me know if I have a workable match or not. Your chosen ISO’s filename should do the same for you.