Windows Enterprise Desktop

In the wake of last week’s firmware updates for the Surface Pro 3, released outside the usual “Update/Patch Tuesday” timeframe, I decided to upgrade the drivers on that machine as well. I shouldn’t have: one of the RealTek drivers I updated (for either RealTek Audio or the unit’s built-in card reader, which handles the microSDXC card I used to extend storage) is apparently hooking pages it won’t release upon shut down. This provokes the “PROCESS_HAS_LOCKED_PAGES” error, and prevents the machine from shutting down properly (error code 0x00000076), and generally describes one of the symptoms of an ill-behaved or improper driver for the hardware it’s running on. Initially, I thought it was the Intel HD 5000 graphics driver, because discussion of the error message online pointed rather firmly in this direction. In fact, Action Center kept reporting an issue with the video driver, even though I had uninstalled the newer version and replaced it using the “Update driver” option on the device’s properties page in Device Manager.

When it’s good it’s very, very good, but when drivers go bad, it’s horrid!

“Fine,” I thought to myself, “I’ll just roll back to an earlier system image or restore point.” Sounds easy, but turns out to be harder than I expected it to be. The issue with a shut down problem quickly led me to understand that I couldn’t use a restore point from inside the OS (it still has to be able to shut down and restart properly for the restore point process to complete successfully, and thus also, deliver the desired outcome — namely a bootable functioning system with the older drivers in place). That’s why I found myself booting from a Windows 8.1 install UFD, and invoking the repair option after getting the installer up and running. Clicking through “Troubleshoot,” “Advanced Options,” and “System Restore” menu options, I was able to select an old enough restore point to precede the day my troubles started and believed I’d be able to resume operation with a known working set of drivers. But alas, Restore reported it was unable to access a file and was therefore unable to restore to the earlier state of things, observing that my anti-virus software might be causing the problem. Of course, this was an installer driven restore attempt, so there was no AV software in the picture. Very interesting!

As it happens, and much to my delight, Paul Thurrott released an article just yesterday (3/29/15) entitled “Tip: Be Prepared to Recover your Surface Pro 3 No Matter What Happens.” It describes where to find the files for a Surface Pro 3 (abbreviated SP3 from here on out for brevity) to creater what he calls an “uber recovery drive,” which requires a 16 GB flash drive (I dedicated a USB 3 Patriot TAB model I had laying around for this purpose). It also describes using the Windows 8.1 built-in “Create a recovery drive” to copy the contents of the recovery partition on the SP3 to a second and separate UFD, which need only be 8 GB in size as well.

Now realizing that I needed to rebuild the OS on the SP3, I decided to first try the factory refresh approach from inside the OS, after creating both of the UFD prescribed in Mr. Thurrott’s article. As I had feared, the results were that as soon as refresh sought to restart, the shut down error preventing the process from proceeding any further. The SP3 refused to start up from the uber recovery UFD, so I used Rufus and the Windows 8.1 with Update ISO to create an install UFD, and was able to get into the Reset Your PC mode where it stayed at 3% complete long enough for me to fear further difficulties. But then it advanced to 5%, 6%, onward and upward until the process completed successfully. Then, all I had to do was re-install all of my applications (which gives me a chance to check out Ninite, as I’ve wanted to for a while), after catching up on updates, to get back to where I started.

The moral of the story is: when it comes to the Surface models, stick to the drivers from Windows Update only. My urge to experiment really got the better of my caution and system savvy this time. I don’t intend to this again any time soon!

When I saw through the various news outlets that Microsoft had released an out-of-band Firmware update for the Surface Pro 3, I knew it was probably worth jumping onto sooner rather than later. Little did I realize that tinkering with device drivers might cause some heartburn along the way. Whereas other users who hadn’t updated drivers beyond the Microsoft recommended items reported little or no difficulty with applying the firmware update, I found myself unable to do so for some time. The issue stems from one of the “unauthorized” drivers causing an issue upon shut down (which necessarily precedes restart) that prevented the system from achieving a normal and complete shutdown.

This issue is important because the handoff from the OS to the low level boot routines must succeed prior to shutdown, so that the firmware files (which are run after UEFI/BIOS comes up, but before the OS itself boots) can be handed over and scheduled to be run during the next restart. And, without a proper shut down, I found myself unable to achieve the restart that included loading and installing those new firmware updates. Eventually I was able to solve my problem by selecting only the Firmware Update for installation, after which the whole process went through without a hitch, and now the system is running more or less as it should be.

Some filenames here are more helpful than others, but no version info or dates anywhere.

This led me to understand that one ventures beyond the recommended device drivers for the Surface Pro 3 at one’s peril, and also showed me that MS is not doing a stellar job of documenting what the correct set of drivers should be. Instead they provide a pointer to a download page for Surface Drivers, where one can find a list of driver files for download that might (or might not) be relevant to one’s actual driver needs. Searching on the KB numbers in those filenames, where available, helps shed light on some things (such as the type of device for which a driver is included) but no light on others (especially aggravating: no information about version numbers or dates of the drivers included).

Next week, when I have a little more time, I’m going try to rectify that deficiency with a little old-fashioned detective work. In the meantime, I’m replacing drivers one at a time until I can find the one that makes my BSOD upon shut down problem go away once and for all. If anybody has more insight into this issue than I do, or can suggest a better troubleshooting approach, please post a comment here and let me know what’s up. Thanks, and have a great weekend!

Last week, build 10041 for Windows 10 hit the fast ring for early adopters. Yesterday, it hit the slow ring for all adopters. I was able to upgrade my Windows 10 desktop without any issues during the fast ring phase, but I’ve been struggling to update my Dell Venue 11 Pro 7130 throughout this time period. The Windows Update driven version of the upgrade hangs part-way into the installation process and produces a vague and so far uninformative error message of “Update Install Failure, Error Code 0x800F0100″), both from the standpoint of telling me what’s gone awry, and from the standpoint of providing a fruitful point of departure for search engine research. I’m getting ready to reach out to contacts at Dell, in hopes that they might know more about this than I do.

When Windows Update doesn’t do the job, try the ISOs instead.

Here’s what I’ve learned so far:

1. The Windows 10 Build 10041 ISO’s are now available for download through Windows Insider. It was a total hoot grabbing 3.4GB in under 2 minutes, thanks to my newly-inaugurated high-speed connection, which averaged around 320 Mbps throughout the entire process.
2. I can’t find a working Synaptics touchpad driver for build 10041 through other channels (such as a Windows KB article) to try a manual update, and the Windows Update method keeps hanging the machine.
3. After several attempts with Rufus to build a working Windows install UFD, I finally put one together that allowed me to instigate an upgrade install for Build 10041 while running 9968 (I’ve added enough stuff to that machine that I didn’t want to have to reinstall everything).
4. What you can’t accomplish with an upgrade from Windows Update, you can overcome with an upgrade or clean install using the ISO files instead.

I’ve now successfully upgraded to build 10041, and update no longer calls for a Synaptics Touchpad driver update, so I assume I’ve gotten over this particular hump. It’s interest to troubleshoot when the guideposts along the way are few, far inbetween, and unfamiliar to boot. But so far, so good.

In reading about a new version of and model for web browsing in Windows 10, I often find myself nodding along and thinking “‘Bout time!” Over the past two years, I’ve been making a steady move away from IE to Chrome and Firefox, not necessarily because I want to, but because so many of the websites I visit either don’t work very well (or at all) in IE, and seem to work fine (or at least much better) in one or the other two of those browsers.

Can the once and future replacement for IE improve upon its recent foibles and failures? Here’s hoping…

Let me recite a few vexing cases in point:

1. Facebook: I’m nowhere near as active on Facebook as others I know, but I do drop in a couple of times a day to see what my friends are up to, and to post updates about blog posts, articles, and so forth. In IE, Facebook crashes or hangs pretty often (more than once a day) so I’ll often fire it up in IE, get stuck or hung up, and simply switch to Chrome instead.

2. LinkedIn: I use LinkedIn for a lot of different professional activities, and also post updates there, too, as on Facebook but also with curated pointers to quotes and articles. Lately, much of the active content on LinkedIn either doesn’t work, or takes forever to run, whereas it works quickly and easily on Chrome and/or Firefox. Same goes for Google+.

3. Hang one tab, hang the root executable: I used to think that browser tabs were pretty isolated from each other so that you could keep going with some even when one or more others encountered issues or slowdowns. Lately, I’ve found myself having to use Task Manager to identify which IE (tab) session is hanging or stuck, and hoping that a right-click to “End Task” will actually do the trick and bail out of the offending or failing browser tab. Sometimes it works, but more often it doesn’t and I have to kill everything to get IE working properly again.

Here’s hoping that “Spartan” (or whatever the new Windows browser takes as its official cognomen) will fix all of these problems and more. Because I do still have to use IE for some things — particularly when it comes to MS downloads and such from MSDN and other Microsoft pages — there’s currently no escape from the occasional glitches it seems to throw my way. Do my hopes for a better browser from MS make me an incurable optimist? Maybe so, but as long as I’m tied to Windows, I’m inclined to wish, hope and pray that new efforts and initiatives can produce better and more reliable results. We’ll see…

A Reuters story from the WinHEC conference in China has got the Windows press and blog environment abuzz enough that it’s being widely re-reported in most such outlets. In the story, Terry Meyerson, the chief exec for Microsoft’s OS unit announced that Microsoft will offer free upgrades to all Windows users, regardless of whether they’re upgrading from a legitimately licensed older copy of the OS, or something else (such as a pirated copy of the OS, for example). Meyerson is quoted as follows: “We are upgrading all qualified PCs, genuine and non-genuine, to Windows 10,” According to the story, Microsoft’s “plan is to ‘re-engage’ with the hundreds of millions of users of Windows in China.”

Given the high degree of piracy in China — Ars Technicaquotes a BSA study that claims that “74 percent of commercial software in China is unlicensed” — this is actually a very clever move that will let MS find out who’s using their software and, hopefully, bring them into the fold of paying customers for add-ons such as Office 365 subscriptions, media subscriptions, and so forth. In addition, Ed Bott over at ZDNet followed up with MS and reported further that “…the plan to allow free upgrades for non-genuine copies of Windows applies to all markets and is not limited to China.” Bott even released this helpful upgrade matrix chart that shows how the upgrades will go, incidentally also revealing that Windows 7 users are eligible for the free upgrade as well.

Windows 7 and 8 versions will be eligible for the free Windows 10 upgrade, as shown. [Source: Neowin via ZDNet]

This is interesting news, and should be well-received globally, especially in those parts of the world where piracy is overlooked or tolerated. I think it’s a great way for MS to hook up with such users, and could redound to their benefit in the longer term. At any rate, it should be very interesting indeed to see how it all plays out and if it will ultimately pay off.

Over at Thurrott.com this morning, I found a simply fascinating story about a new version of “OS compression” that’s making its debut in Windows 10. The ultimate source for this info is a March 16 Blogging Windows post entitled “How Windows 10 achieves its compact footprint.” So far, there’s nothing else about this on TechNet or others Windows technical sources, though social.microsoft.com does have a couple of threads that address the kinds of issues to which Mr. Thurrott refers when he indicates that smaller Windows 8.1 devices that use WIMBOOT (a different and older form of OS compression that requires a separate recovery partition on the system/boot storage device) must jump through some special hoops to upgrade from 8.1 to Windows 10 without encountering hiccups along the way.

The MS blog post indicates that Windows 10 “gives back approximately 1.5 GB of storage for 32-bit and 2.6 GB of storage for 64-bit Windows. Phones will also be able to use this same efficient compression algorithm and likewise have capacity savings with Windows 10.” In addition, the post explains that MS is “…redesigning Windows Refresh and Reset functionalities to no longer use a separate recovery image (often preinstalled by manufacturers today) in order to bring Windows devices back to a pristine state. This reduces Windows’ storage footprint further as the recovery image on typical devices can range in size from 4 GB to 12 GB, depending on the make and model.” Here’s a pie chart from the blog post that’s entitled “Example Savings on 64-bit Windows:”

On a 32 GB set-up (typical for low-end tablets and many phones) 6.6 GB of savings is significant.

The post goes on further to explain that compression is selective and is intended not to “adversely affect system responsiveness.” Factors considering when assessing compression include: amount of RAM available (which determines how often files must be retrieved from storage), and speed at which the device’s CPU can run the compression algorithm. By studying Windows 8 system compression and related performance, MS claims it has improved overall behavior and efficiency in Windows 10. It should be interesting to learn more about how things work — especially installation, reset and recovery — and to see what MS does to address “bringing upgrade to low capacity devices.” Good stuff! Now, if Mark Russinovich (or somebody on his team) will only dig into this in depth for the next edition of Windows Internals, and MS will publish some info about this on TechNet, we’ll all probably understand it a whole lot better…

Thanks to a recent article at MakeUseOf.com I came across this weekend, I’ve been wondering if there isn’t some master repository of keyboard shortcuts for the latest and soon-to-be-greatest Windows desktop OS. That article was entitled “7 Quick Tips & Hacks to Optimize Your Windows 10 Experience” and appeared last Thursday (3/12/2015), and came to me the long way around via MajorGeeks.com who in turn picked it up from NTCompatible.com (all good sites, BTW). But after looking around for an exhaustive, all-encompassing source for Windows 10 keyboard shortcuts I don’t seem to be able to find one. I went through the most common combinations to see what I could learn for myself, but would request that those who know of other sources for such info please share it in comments here.

Properly used, keyboard shortcuts can be real time-savers in Windows. Using them means knowing which combos produce desired — and intended — results.

Alphabetic Windows-Key combos
If a letter is missing from the list below, that means it didn’t cause anything to happen on either of the two Win10 test machines I ran it on. That may or may not be significant, so please consider this an experimental reference rather than an authoritative one.

I’m going to have to do some more research before I can assemble a reasonably complete set of multi-key Windows keyboard shortcuts (like the famous “three-fingered salute” of CRTL-ALT-DEL that brings up the shift user pane, or Shift-ALT-ESC which brings up Task Manager). I’ll pull this together over the next week or two and follow up with another posting on that topic.

I went to print a phone card for my wife this morning, and wound up lost for a while in the “Hall of Mirrors” section of the Windows OS. In this case, I knew I needed to print to the Dell color printer upstairs (it helps to show color on the phone card for higher visibility access to its all important access numbers and codes), but I found myself unable to access that printer from my Windows 10 test machine. After resolving some network issues (a reset of the home network with the introduction of a new high-speed boundary device from Time Warner was the culprit there) I found myself looking at a half-dozen relic printer listings from PCs no longer on the network that I knew I would never need again. So of course, I set about learning how to remove them from the Windows 10 test machine.

On an AD network, this kind of thing is relatively easily handled with GPOs and scripts that will clean out stale devices. My home network doesn’t have AD, so I had to do it the old-fashioned way — namely by pruning the registry on the machine in question. I’m assuming that enough readers here have to deal with BYOD or end-user devices that may include registry entries outside the AD umbrella, so hopefully what I just learned will be of some benefit.

I’d much rather see two items I can actually pick, than 6 of which I can only pick two.

I wound up searching the registry for machine names for those PCs that proferred print drivers to the network, but were no longer present on the network. And lo and behold, they show in the HKCR\Local Settings\Printers\Roamed key therein, one entry per such printer that starts with the machine name for the PC that’s no longer in service or available. In my particular case, this included machine names for some PCs I’ve either sold (the Fujitsu Q704 hybrid tablet), loaned to family members (the Dell XPS12, loaned to my sister while she was recovering from a hip replacement, still not recovered), or whose OSes have been upgraded (my production PC, now running Windows 8.1, and my son’s AIO, now ditto). The upshot of all this is that now when I go into the Add Printer window on the test machine, I see only entries for printer (and shared printers) actually available on the network right now, instead of devices going back as far as the purview of the Windows registry on the machine in use (which can go back quite a ways, as some of these machines have been upgraded from Windows 7 to 8 to 8.1 and even through several preview versions of Windows 10, as on the test machine in question).

I’m inclined to close this blog post with a reminder that deleting keys from the registry is irreversible unless you back them up before you remove them, so the safest course of action is always to back the whole registry up before you start messing with it. Should worst come to worst, you can simply replace the damaged results of your bungled editing efforts with the presumably pristine version you captured before you starting messing around. In my case, I wasn’t worried, because I was only messing with entries for machines no longer present on the network. Even so, I still backed up anyway. You should do likewise.

Back in 2011, I blogged here about a program named DriverStore Explorer. Aka RAPR, this is a CodePlex project that when run in administrative mode enables users to see all drivers in the Windows DriverStore and to selectively delete those that aren’t in active use at the moment (find that blog at “Check Out DriverStore Explorer” which posted nearly 3.5 years ago). This weekend, in prepping a couple of machines to take on the road, I was pleasantly surprised to get back 1.5 to 2.5 GB of disk space on those systems’ boot drives simply by excising old drivers no longer in use. I also discovered two valuable techniques to make better use of the program for this task (cleaning up outdated or unused drivers), which I’ll describe in the following paragraphs.

Sorting the entries by the ‘Driver Class’ column lets you see all instances of the same driver together in groups. [Click Image for full-size version]

As the foregoing caption describes, sorting the entries in RAPR on the Driver Class column groups drivers together by type, as shown for example in the preceding screenshot by multiple instances of the NVIDIA Display Adapters (2) and Microsoft Human Interface Devices (4). By doing this on the machines I was cleaning up, I could see all the drivers for each device grouped together, and identify those with older dates likely (but not always) to no longer be in use. Thus, this describes the first technique for driver cleanup: use this mechanism to group drivers together so you can easily compare their version numbers and associated dates. It also leads directly into the second technique.

That second technique is probably best described as “try deleting the oldest drivers (or lowest version numbers) first, one at a time; do likewise for multiple instances of the same driver.” Windows does install multiple instances of identical drivers when a system hosts multiple instances of the devices to which they’re associated. That’s why you see four instances of the HID drivers in the preceding screenshot (I like to leave the penultimate graphics driver version on my systems, as well as the most current one, to enable Device Manager to roll back to that penultimate version if the most current one leads to system instability, as it sometimes does): the system that produced this screenshot has four such devices installed, all of which use the same driver. Here’s the nice feature of RAPR that keeps you out of trouble with experimental deletion attempts: if you try to delete a driver that’s in active use, it will block the initial attempt (you can still use the “Force Deletion” checkbox to remove it anyway, but I don’t recommend that unless you’ve got another and hopefully better driver ready to replace that item on hand). That’s why deleting drivers one at a time, slow and frustrating as it may seem, is the best approach to clean-up: it quickly lets you determine which drivers are in use, and focus on removing those that are sitting idle.

As I said in the lead-in paragraph, space savings that result can be helpful, especially on tablets or laptops with limited storage. On a 256 GB SSD (or larger drive), saving 1.5 to 2.5 GB or more isn’t terribly dramatic. Though still useful, this technique is best applied to systems whose system/boot drives are 128 GB or less, where saving space for unused drivers means making valuable room for data, paging, and other key elements of storage. Try out my driver two-step: I think most power users and admins can’t help but be tickled with the results. RAPR also works on every version of Windows I’ve tried since 2011, which means Vista, 7, 8, 8.1 and 10 on the desktop, and 2003, 2008, and 2012 on the server side (including R2 versions).

Anybody who’s read this blog for any length of time has witnessed me repeatedly and enthusiastically recommending Stardock’s great product, Start8, as a Windows start menu add-in/replacement for Microsoft’s current flagship OS. In fact, I run it on every single one of my Windows 8 machines, which means I’ve purchased six copies of the program, according to the number of keys I see registered in my account at the Stardock website. The program normally goes for $5, but if you look around online you can usually find coupons for 20% off or thereabouts, which brings the price down to an eminently worthwhile $4 a pop.

With a version number of 0.5, you *know* it’s an early beta release!

That’s why my ears perked up earlier this week when I read announcements on the usual Windows 10 news sources (for me that means Thurrott.com, Neowin.net, and WinBeta.org) that Stardock was releasing a beta version of their menu replacement for Windows 10, to be called Start10. Very quickly after digging in, however, I discovered an expensive catch: you must either buy a standalone license for Stardock’s bundle product called Object Desktop Manager ($50 new, $35 upgrade from other Stardock products, annual renewal fees apply) or a subscription to same ($10 for the first month, $4 a month thereafter, continues until you manually turn it off) to gain access to this software.

I’ve got to say that while Start10 appears to be a worthy successor to the excellent Start8 product, I’m more than slightly miffed at the tactics that Stardock is using to capitalize on interest in Start 10, to the tune of nearly ten times the cost for the product by itself (for the upgrade price, 12-plus times for those who might have to buy a new Object Desktop Manager license). Ditto for “encouraging” buyers to opt into a recurring subscription license that requires a manual opt-out to escape from. Sigh.

Having bitten the bullet and coughed up $35 to see what’s what with the new Start10 beta I can say it’s a lot more like Start8 (and the Windows 7 Start menu environment it was modeled after) than the native Start button environment on Windows 10. It looks and handles pretty much the same as previous versions, and brings with it the virtues of comfort and familiarity that convey from the previous version, and with my own personal Windows history back to the XP, Vista, and Windows 7 environments with which it establishes strong continuity. But I’ve learned to navigate in Windows 10 pretty darn well without Start10, and for now, I’m installing the beta only on one of my test rigs (the Dell Venue 11 Pro 7130).

While the program is nice, and works as expected, I can’t help but think it’s at least questionable, if not an outright rip-off, to use the desire from Windows-heads like me to check out a new release of a well-crafted and highly usable Windows 8 program for Windows 10 to extract significantly more money from its would-be users than they have to pay for the Windows 8 equivalent (and will probably have to pay for the standalone version, if history is any guide, after Windows 10 goes into public release). Stardock management: are you reading this blog post? Does this opinion swing any weight with you? If so, please make the beta available for free, or let people pay $4 to try it out, instead of sticking it to them to the tune of significantly more. I always thought Stardock was a standup outfit that built great products, but this whole experience has left a bad taste in my mouth. Please fix this, and restore my enthusiasm and respect for your otherwise great products, or at least give early adopters a good reason to pay extra to opt into the beta version early. As things stand, I just don’t get it right now. And until the price gets real, perhaps you shouldn’t get Start10, either!

About This Blog

The Windows Enterprise Desktop blog features topics of interest to IT professionals who work with Windows on large networks. Topics are Windows OS setup and configuration, release definition, deployment, migration, virtualization, terminal services, and security.