Windows 10 upgrade (from Windows 7) - Surprisingly smooth

Updated: January 15, 2020

Let's start with a little teaser. I have a whole bunch of Windows 10 articles coming out in the next few weeks. They mostly revolve around the installation of new devices with the aforementioned operating system, the upgrade of old devices from Windows 7 to Windows 10, and the subsequent mandatory post-install tweaks and changes. We shall start, as the title subtly hints, with the middle option.

With the Windows 7 deadline loometh (now passeth), I decided to sacrifice one of my olden Windows 7 desktops for this experiment. I mean, it wasn't a big deal - as I had contingencies in place (hint: new hardware), and with the lovely Seven going out of support (but that shouldn't scare you, right), I wanted to see what kind of future awaits anyone willing to bite the bullet and try their luck with the latest Windows version. This article is a tale of that attempt.

Teaser

Media Creation Tool

I started by downloading the Media Creation Tool. This utility will grab the latest available image, which is good, because you won't need to waste any time with unnecessary updates, run a compatibility test for your existing software, and then, if it deems your system capable of the task at hand, fire off the actual upgrade. You have the option to preserve both your data and apps, keep only the data, or wipe the slate clean.

I wanted to test the most complex option - data and apps. In the configuration stage, the tool informed me that Acronis True Image 2012 installed on the box was not compatible with Windows 10, and I had to uninstall it before going forward. This is perfectly fine, because the system was already imaged, so worst case, I would just roll back to the snapshot before the experiment.

Incompatible software

What to keep

In my case, I had to go from Windows 7 Ultimate to Windows 10 Pro. Anyway, the initial setup stage took about 15 minutes, followed by about 90 minutes of the actual installation and configuration. This was a bit longer than it could be, because there was "only" about 37 GB spare room on the system partition, which meant the copy of the old Windows 7 data was done in smaller shuffles. On the bright side, this is a dual-boot system, and at no point did this setup interfere with the upgrade, nor did Windows 10 assert dominance and take over the boot sequence. No issues.

First login ...

I was a little hesitant before the first login. Of course, I was asked about location and voice and ads and all that nonsense. But soon thereafter, I got into my familiar desktop, with all the icons in their right place, including a few text files cum notes. At first glance, everything was as it should be.

Windows 10 did inform me that a few programs were removed due to compatibility issues, and funnily enough, we're talking about software that I haven't used in about 6-7 years at least, if not more. Lovely EMET was also removed, which meant I had to spent some time with the new Exploit Protection framework instead.

Compatibility warning

Headache? Very little.

The things is, I went in ready and charged, expecting the system to fight me with nonsense. Instead, the experience was almost anti-climactic, with a relatively small amount of low-IQ nonsense. I did have to make some changes and adjustments - more on that in a dedicated tutorial. But as a quick overview, here's most of what I did:

With the last bullet, I did encounter a small issue - Firefox wasn't showing in the list of available browsers, so I couldn't set it as default. The remedy was to uninstall the browser, reinstall it, and then it was properly registered, and I could make the right change.

Default apps

Hardware compatibility & driver updates

Here, it was almost perfect. Windows 10 reused my existing drivers. I did manually run Windows Update, and it offered me Nvidia drivers for the graphics card (albeit one version minus the latest WHQL). I also had printer drivers. Sweet.

Additionally, it gave me a small bunch of Windows patches, as the delta from the 1909 image was tiny, plus a handful of updates for my copy of Microsoft Office 2010. Here, it pulled a long series of unnecessary updates - for the likes of Visio, Access and friends, none of which I had installed in my customized setup.

Microphone does not work!

Then, I encountered a problem - my microphone wasn't working. Or rather, it was "almost" muted. I tried using the Troubleshooter tool, and predictably, it found no issues. I tried making changes through the Settings, and nothing happened. Of course, the venerable Control Panel provided me with far more tools and a much finer-grained control of different options than the "modern" Settings menu. Even now, five years down the Windows 10 lane, the new touch-optimized Settings utility is inferior to the classic tool in every way. In fact, every single touch application is inferior to every single desktop application in the entire universe. And this will never change, no much how much sales people shout and cavort around you.

I decided to try updating the audio drivers - Realtek HD Audio, with the latest available set for this particular motherboard from 2016. This didn't help, so I rolled back. I noticed it wasn't just the microphone that was wonky, it was the entire audio stack. The volume just wasn't as high as it was in Windows 7. So I figured there might be problems with gain/boost.

Once again, I opened Control Panel, and went through the Properties for both the Speakers and Microphone devices. In more detail, Control Panel > Sounds > Recording > Properties. Here, I changed the Microphone Boost from 0 to +30.0 dB, and then also slid the level from 0 up, and suddenly, lo and behold, things were just fine.

Microphone properties

Microphone boost

Likewise, I noticed that the speaker levels were set to only 79 out of 100, so there was another fix there. Windows 10 has another quirk, and that's muting background sounds when it detects human voices. Here we have phone mentality intruding on the desktop. This can be quite annoying, especially if you play games, because you don't want your game to be silenced even if you're chatting to your team mates or whatnot. You will find this under the Communications tab.

Other sounds setting

I did some more tweaking and testing, and it's amazing how much inconsistency there is in the system. I always believed that Linux was sort of Wild West when it comes to common interfaces and experiences, but Windows now has its own extra dimension of chaos, with half of all settings in the new format, three quarters in the old format, with some good (not really), solid overlap.

Volume mixer

Right-click on the audio icon, this is what happens. A mix of old and new.

Realtek audio manager

This is the Realtek HD Audio Manager from 2010, still working nicely in Windows 10. Believe it or not, this one looks better than the 2016 tool, and actually offers more useful functionality. But neither this nor the other match the Windows settings, and you can access some of these options through Control Panel, and virtually none through Settings.

Performance

Good. As in, not better or worse than Windows 7 - as I told you on many previous occasions. Performance doesn't magically appear out of thin air. New hardware gives you better results, but on the same hardware, it's unlikely you'll ever see any gains with new operating systems. However, that said, it's pretty nice, even impressive than Windows 10 manages to offer the same results as a much older operating system. We're talking roughly five years of difference for the base version, and almost 10 years for the latest edition.

There were some small differences though. The Windows 10 boot sequence is longer, almost double. The CPU utilization on idle is a bit higher, but then the amount of processes is almost double the Windows 7 set, which for me on this machine was 59, and it's about 115 for Windows 10. Now, disk utilization on idle is a bit lower, there's less hardware polling, and the memory footprint is also smaller. So you win some, you lose some.

The biggest difference is in the perceived responsiveness. Windows 10 feels a bit laggier than Windows 7, and this materializes in tiny things, like windows switch via alt-tab, quick minimize/maximize and alike. Nothing too cardinal, and most people wouldn't notice. One other specific difference worth mentioning - Acronis True Image 2019 in Windows 10 does work faster than Acronis True Image 2012 in Windows 7, by about 30%, and it seems to work better with external devices. Fairly cool.

Interestingly, Windows 10 has the same disk footprint as Windows 7 - we're talking Windows 7 with a few years worth of updates (which add size) plus programs - versus the new operating system with the same software set. Before the upgrade, my 100GB Windows partition had about 37 GB free disk space, and now, that number sits at about 39 GB. This is AFTER I deleted the old Windows installation files - I have a system image anyway, so the restore is a simple 15-min affair if I ever need it.

Cleanup

Old version removal warning

Various errors and oddities

The system is stable, and 99% of stuff works well. Not a single program hiccuped or struggled. This is impressive. As always, going back to my darling operating system, Linux, you can't really expect these kind of results. The operating system upgrade - yes - I showed you that going from Ubuntu Trusty to Bionic on my Asus Vivobook. But the software stack? Nope. You can't expect that, which is one of the reasons why I'm not willing to give up using Windows (plus games and Office, of course). We're talking old, legacy code. Lemme give you an example: the most practical and useful WYSIWYG HTML editor KompoZer. This one works without any issues in Windows 10, maybe a tad better than before, too. It was last updated in 2008. Neat.

But I did encounter a few bugs. First, an ESENT error (Event 455), which reads - this can be fixed by creating the nested folder TileDataLayer\Database in the Local directory.

svchost (8868,R,98) TILEREPOSITORYS-1-5-18: Error -1023 (0xfffffc01) occurred while opening logfile C:\WINDOWS\system32\config\systemprofile\AppData\
Local\TileDataLayer\Database\EDB.log.

Next, an error with the DiagTrack service - which is the Connected User Diagnostics and Telemetry service, the one I had disabled. It threw a couple of complaints. First, that it couldn't run, and second, a warning that the log was at its maximum size, and that future events won't be logged - these errors shouldn't happen in the first place, because the service isn't supposed to be running at all.

Session "AutoLogger-Diagtrack-Listener" stopped due to the following error: 0xC0000188

The maximum file size for session "AutoLogger-Diagtrack-Listener" has been reached. As a result, events might be lost (not logged) to file "C:\WINDOWS\System32\LogFiles\WMI\AutoLogger-Diagtrack-Listener.etl". The maximum files size is currently set to 33554432 bytes.

This isn't the only event that complains about logs and such. Perflib. Both an error about the buffer size (Event 1020) and a warning (Event 2003) about the configuration information for some shared library. This can be fixed relatively easily, but then, why does this happen in the first place. There's really no reason.

The required buffer size is greater than the buffer size passed to the Collect function of the "C:\Windows\System32\perfts.dll" Extensible Counter DLL for the "LSM" service. The given buffer size was 16184 and the required size was 31384.

The configuration information of the performance library "C:\Windows\System32\perfts.dll" for the "TermService" service does not match the trusted performance library information stored in the registry. The functions in this library will not be treated as trusted.

Checking more details about this specific counter (cmd, lodctr /q), you get:

[TermService] Performance Counters (Enabled)
DLL Name: C:\Windows\System32\perfts.dll
Open Procedure: OpenTSObject
Collect Procedure: CollectTSObjectData
Close Procedure: CloseTSObject
First Counter ID: 0x0000238C (9100)
Last Counter ID: 0x0000238C (9100)
First Help ID: 0x0000238D (9101)
Last Help ID: 0x0000238D (9101)

Interesting, but it doesn't really tell us anything about what this thing does. Or why I should bother either reloading it, or making it trusted. If you look at perfts.dll in Windows Explorer, then you can see what it actually is: Windows Remote Desktop Services Performance Objects. But I have this service disabled, of course, which could explain why the error manifests. It also shows that a bazillion articles out there suggesting you make this library trusted (without knowing what it does) is probably not the smartest thing in the world.

Moreover, this is bad design. Moving from Windows 7 to Windows 10, the counter database or whatever should have been updated correctly. The system should not bother collecting events for this counter if the relevant service is disabled.

Moving on. Lots of random errors related to apps (Event 69, AppModel-Runtime), e.g.:

Failed with 0x490 modifying AppModel Runtime status for package Microsoft.YourPhone_1.19112.113.0_x64__ for user COMP\User (current status = 0x0, desired status = 0x20).

This is just a random example - there are others. To make things worse, this is followed by an Information event in the Event Viewer, which reads:

Successfully updated AppContainer Microsoft.YourPhone__.

So not only is this not really an error, this is a misleading, annoying false positive. A classic case of touch-based detritus polluting the desktop. So a non-issue issue. Thank you for your effort.

Speaking of apps, there was also a recurring warning, which reads thus:

The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID {2593F8B9-4EAF-457C-B68A-50F6B8EA6B54} and APPID {15C20B67-12E7-4BB6-92BB-7AFF07997402} to the user COMP\User SID (S-123567890) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.

That CLSID maps to RuntimeBroker.exe, and this seems to be related to the Store. Might be some silly conflict that has to do with the local account, or perhaps the fact I don't want to use the "modern" apps in any way. There are ways to solve this, of course, but there's no reason to do so.

There were also a few app-specific issues. For example, VSS throws errors when invoked, say by an imaging program, if it detects "odd" devices, like for example a mounted TrueCrypt container. We have weak QA at work once more, a symptom of modern software. A simple check of what type of device lurks behind the assigned drive letter would be enough to determine whether such a device ought to be enumerated by VSS. If said TrueCrypt volume is unmounted, no such error occurs.

Volume Shadow Copy Service error: Error calling a routine on a Shadow Copy Provider {b5946127-7c9f-4925-af80-51abd60b20a5}. Routine details IVssSnapshotProvider::IsVolumeSupported() failed with 0x8000ffff [hr = 0x8000ffff, Catastrophic failure].

Operation:
Check If Volume Is Supported by Provider

Context:
Execution Context: Coordinator
Provider ID: {b5946127-7c9f-4925-af80-51abd60b20a5}
Volume Name: \\?\Volume{9347def3-21d6-11ea-a4cd-04d9e5e56101}\

Now, something that should cheer you up:

ALL these errors also occur on a brand new, fresh installation of Windows 10, too!

I tested this on a separate host, with everything done from scratch. The errors have nothing to do with the upgrade process, and everything with the operating system. My suggestion is, if you don't feel like tinkering, just them be, and sometime in the future, they will probably be fixed. Maybe.

The sad thing is, if you search for these messages, you will hit a billion posts, with random suggestions on anything you can think of - filesystem corruption, missing files, BSOD, absolute nonsense. People don't have the expertise to causate symptoms they are experiencing to the system log events, and so they randomly correlate things, making resolution even more difficult. I can say this with 100% certainty, because I have data from two separate systems, configured in different ways, with no glitches, slowdowns, hiccups or anything, so we can rule out pretty much everything - except the operating system itself. So you can relax.

Lastly, I encountered problems with Windows 10 Exploit Protection - the successor to the superb EMET. Back in Windows 7 and Windows 8, I had very few problems running software with most if not all of the mitigations turned on. In Windows 10, I noticed some quirks. Google Chrome doesn't really work with most of the settings active. And now Firefox, too, seems to not like being aggressively contained. It used to be EAF and EAF+ for Firefox, but the set has grown larger. You may experience random 3-5-second browser freeze if you go for an aggressive mitigations set, which negates the whole purpose of using them in the first place. Because security that gets in the way of actual functionality is useless.

Another example - IrfanView. Never had any problems even with the strictest set. Now, with EAF on, much like what we've seen with Firefox a while back, you may see the imaging viewer crash, say like when loading a video file (which it can do, especially if you use all the different plugins):

Faulting application name: i_view64.exe, version: 4.54.0.0
Faulting module name: PayloadRestrictions.dll, version: 10.0.18362.1
Exception code: 0xc0000409
Fault offset: 0x000000000002b5d8
Faulting process id: 0x1b44
Faulting application start time: 0x01e3c1a3fcd92935
Faulting application path: C:\Program Files\IrfanView\i_view64.exe
Faulting module path: C:\Windows\SYSTEM32\PayloadRestrictions.dll
Report Id: 7eaccb1e-1f20-72a9-c7b8-d59c02845683
Faulting package full name:
Faulting package-relative application ID:

There are workarounds of course, but that's not the point. The point is, the IDENTICAL exercise in Windows 7 would yield fewer compatibility issues. If you enable a set of mitigations there, and you do the same thing in Windows 10, then the older system works better.

Once again, we have the whole one step back, one step forward, one step sideways and jump issue. There was really no reason not to retain EMET, but hey, innovation or something, right. For that matter, now that Windows Phone is no more, there's really no value to the whole touch-based interface. A big, wasted effort.

Errors in Event Log

The initial noise of the upgrade process ... we're back in the fast & efficient zone.

Anyway, after a couple of hours, the system calmed down. The errors went away - most of them are related to the rubbish "apps" and such. In the end, the system works and behaves as it should, and delivers a reasonable experience. With the low-IQ components turned off, it's the desktop as it should have been. Microsoft could make decent money by adding an extra tier - Pro Plus - that offers the LTSB levels of sanity and quiet. Oh, wait. Isn't that what the Pro version was meant to be?

Conclusion

I have to say I'm quite pleased with the upgrade process. I expected it to be a slow mess, but it turned out to be smooth, relatively fast and almost painless. Most importantly, all of my data was intact, virtually all of my software was intact, the drivers were correctly ported and used, some even upgraded, the performance is pretty much the same, and the system is stable. That's a good outcome for something like this, especially since this isn't a new system (if no slouch by any means).

Now, I did have to do a few things - disable mass-media nonsense, tweak the privacy settings, fix an error or three, but other than that, this was good. Well, it makes sense - it's in Microsoft's best interest to move as many people as they can to Windows 10, and this process needs to be flawless. As a techie, I was more worried about surprises and sudden regressions, but that didn't happen. This might be the first time in my Windows 10 usage that I can say I'm actually happy. Not happy in the sense, yay, balloons, but more the fact I don't need to hurt expletives at the monitor and consider using a blowtorch as the final remedy.

In a way, it is the end of innocence - Windows 7 was the last Windows designed for the intelligent user as the primary audience, before the whole online thing became the thing. Going forward, it's not the question of enjoyment, it's the question of least suffering. This is true almost across the board. That said, I was able to migrate the Windows 7 machine to Windows 10 with very little trouble. While the future sure ain't gonna be better, at least when it comes to software, for the time being, there's still some sanity left. All in all, if you're mulling Windows 10, the upgrade process is robust, and you should have a reasonable setup thereafter. We're done here. My next experiment will be with brand new hardware. Stay tuned.

Cheers.

You may also like: