Windows Enterprise Desktop


September 6, 2016  9:00 AM

VDI storage horizons broadening

Margaret Jones Margaret Jones Profile: Margaret Jones

Storage is a critical part of a successful VDI deployment; most IT administrators already know this.

There are many different reasons VDI can fail, but one of the most persistent — pun intended — is unhappy users.

VDI can make users unhappy if it’s buggy, laggy or slow, and the right storage for VDI deployments can help remedy all those things. Because virtual desktops read and write equally, admins must think about storage for VDI differently than they do read-heavy server virtualization. Virtual desktop workloads are also dynamic, and they change throughout the day from the initial boot storm at 9 a.m. to the mass log off at 5 p.m. The reads and writes are randomized, so the storage that admins pick to support VDI has to be able to handle those requests.

That being said, there’s a new breed of storage on the market that could provide even better storage for virtual desktop infrastructures. Companies can go the old-school route of buying storage hardware, or they can buy hardware that has software preinstalled to optimize how the storage works. Unlike deduplication, data is optimized before it’s written to primary storage, which is more efficient and takes up less storage space. As arrays with expensive flash become the norm for VDI environments, admins value the ability to use less space with these software-defined hardware products.

There are also vendors who offer software-only storage optimization. These products use existing storage better, either by accelerating storage that’s already there, or creating a virtual storage area network from disk that’s already there. In either case, the result is faster storage that can handle the heavy, ever-changing workloads of VDI.

Learn about these software-only vendors, as well as whether software-based optimization is better than hardware in our three-part guide, Software-Centric Storage Selections for VDI.

September 3, 2016  11:53 AM

Windows Marketshare Jul-Aug 2016

Ed Tittel Ed Tittel Profile: Ed Tittel

Around the beginning of each month I look at what’s happening with Windows marketshare. Courtesy of TenForums poster Lehnerus2000, I show activity for July and August with a pair of vertical bar graphs abstracted from NetMarketShare.com. Trends for Windows marketshare Jul-Aug 2016 don’t hold many surprises, except perhaps for two marginal items. That is, Windows 7 marketshare actually edged up slightly over this period (from 47.01% to 47.25%). So did Windows 8.1 at  an even more marginal 0.12%. But those gains are probably within the margin of sampling error. Thus, it’s probably no indicator that Windows 7 and/or 8.1 are gaining desktops.

Market Share OS (2016-09-03) 2 Month Bar Chart

Windows 7 holds on, 10 keeps climbing, and the others all decline or stay put.
[Click image to see full-size details.]

Windows 10 shows growth of around two percent (1.86% to be more precise), while Windows XP dips about one point (0.98%). Other losers include the Mac OS X and Other headings, which together gave up about 1.2%.

What Does Windows Marketshare Jul-Aug 2016 Augur?

The most interesting thing is that August growth of two percent comes after the free upgrade period has come to a close. Consider Microsoft’s contention that 300 million PCs were running in May, 2016. Consider also its current “By the Numbers” assertion that it’s running on 350 million device right now. That indicates that 720 million computers are running Windows 7. Given a two percent swing per month going forward, that puts Windows 10 on 622 million devices in December 2018. Alas, that’s well short of Microsoft’s goal of 1B. That leads to one sure and unavoidable conclusion: either Windows 10 adoptions need to pick up the pace or MS ain’t gonna hit that goal.

My best guess is that with the US armed services getting serious about migration later this year and over most of next year, other large enterprises and organizations will follow in 2017 and 2018. Thus, it’s possible that MS might indeed make this goal. But it will depend almost entirely on business uptake. Stay tuned: I’ll keep you posted.


August 31, 2016  12:05 PM

One Month On, Win10 AU Doesn’t Auto-Apply

Ed Tittel Ed Tittel Profile: Ed Tittel
Windows 10, windows installer

While working on one of my test systems this morning, I realized one Win10 image hadn’t run since late July. Because the Anniversary Update (AU) went public on August 2, it was still on Build 1511. But when I ran Windows Update, it applied a raft of updates for Build 1511 without offering the AU. Even remembering that Microsoft promised to stagger access, I was shocked that Win10 AU doesn’t auto-apply 29 days after release.

Fortunately, I had a bootable UFD with the 1607 installer. I simply plugged in that drive, then ran setup.exe from File Explorer. This launched the Win10 AU installer, and got things underway. It was even smart enough to suspend my dual-boot configuration. Thus, installation completed without requiring me to catch the various reboots as they occurred. In general the process went smoothly, and completed in about 40 minutes.

Ask Yourself: Why Win10 AU Doesn’t Auto-Apply Itself?

After going through a belated AU update, I’m curious how MS offers AU to Current Branch PCs still running Build 1511. Surely, I can’t be the only user who’s got a physical or VM-based install not yet updated to 1607? I’m guessing that MS established rules for offering the update to smooth out traffic immediately after the release. I’m guessing further that they haven’t yet changed those rules. I wonder: how long before they add the Anniversary Update directly to the update stream? I guess only time will tell!

Should you find yourself in this situation, you can access the Media Creation Tool to build an installer. Or, you can grab the Windows 10 AU ISO and build your own media instead. (I usually take the latter path, because Rufus gives me more and better options for building a Windows installer UFD.) Either way, you’ll be able to short-circuit Microsoft’s “delay before AU offer” mechanisms apparently still in place. If you can’t beat Windows Update, you can work around it instead!

[Note: persistent apps and drivers do stick around in Windows.old after the anniversary update. Read my blog post “Anniversary Update Post-Install Cleanup” for instructions on removing them. Long story short: a bootable repair or recovery disk will help that process along.]


August 29, 2016  10:12 AM

US DoD Win10 Rollout Deadlines Slip

Ed Tittel Ed Tittel Profile: Ed Tittel

Last February, DoD Deputy Secretary Bob Work issued a directive for Windows 10 migration in 12 months. Essentially, unless a waiver is granted, all DoD Windows clients should run Windows 10 by February 2017. Alas, it now looks like a US DoD Win10 rollout deadlines slip is inevitable. I reported here in May that the Marine Corps had hit a snag owing to issues with old hardware. In an August 23 ExecutiveGov story, the Air Force says it “plans to start its two-year migration to Windows 10 later this year.” It also states “all Microsoft users in the Air Force Network will have Windows 10 as the standard operating system by January 31, 2018.”

What Makes US DoD Win10 Rollout Deadlines Slip?

With over 3M Windows clients across all branches of the military, the original deadline was always iffy. But now, it’s likely at least two service branches will miss the deadline. Things are ramping up too slowly. And with so many systems involved, the ratio between upgraded/migrated and new purchases is interesting. (The story says that “users are authorized to transition existing devices or buy new tablets and laptops through the AFWay information technology purchasing platform.”)

Can the other two as-yet-unreported branches make the original date? It’s possible that the Army and Navy could also slip. If so, that says the initial date was too aggressive or optimistic. Once the process is fully underway, it will be easier to tell if early 2018 is doable. A lot depends on the age and hardware configurations of systems to be upgraded. Perhaps even more depends on how many systems are replaced. Because new systems presumably come with Win10 pre-installed, that trades money against further slippage. As the work unfolds, the whole process remains fascinating to watch.


August 26, 2016  11:06 AM

(New) RAPR v0.8 on GitHub

Ed Tittel Ed Tittel Profile: Ed Tittel

I first discovered DriverStore Explorer aka RAPR.exe in 2011, when I posted an item entitled “Check Out DriverStore Explorer” to this blog. In the past few days, I’ve learned that this free open source project has moved from CodePlex to GitHub. Also, a new version is now available for download. That’s right, you can find RAPR v0.8 on GitHub if you’d care to try out the latest version. It’s pretty current with a July 19, 2016, date.

The New Look of RAPR v0.8

The GUI for the latest RAPR version is extensively reworked, as the following side-by-side screencap shows. The new version is to the left, with the old version to the right. Instead of showing the Driver Class as a column value, the new GUI uses that data to organize drivers into groups. Indeed, it breaks up the display of driver entries with entries for class names. This was my favorite way to organize things in the older version (v0.5) also. The new version drops the Driver Signer data column and the name of the DriverStore .inf file. (In the Windows DriverStore folder, this takes the form oem<n> or oem<nn>.inf, eg. oem1.inf or oem11.inf.) Now, the program displays the real .inf name of the actual driver itself (eg. apcups.inf or iaahcic.inf).

RAPR v0.8 left, v0.5 right

The new RAPR v0.8 version appears to the left, the old v0.5 version to the right.
[Click image to see full-size version]

Maybe it’s just a case of future shock, but after using the old v0.5 version for so long, the new v0.8 version is a little jarring. For one thing you can’t reorganize the display by column name in the new version as you could in the old. For another, the visual breakup of the entries by Driver Class, and the elimination of the grid lines, changes the feel of the tool appreciably. But it still does what it always did: identifying and aiding removal of obsolete or duplicate Windows drivers. I guess I’ll get used to it, and keep on plugging along. You might also consider doing likewise.


August 24, 2016  10:46 AM

Admin Toolbox: SG TCP Optimizer

Ed Tittel Ed Tittel Profile: Ed Tittel

SpeedGuide.net is a broadband networking resource online that offers numerous free software tools and utilities. Their SG TCP Optimizer program asks you to input your download speed, then tweaks a raft of TCP settings for your network interfaces in response. The result is usually a slight to moderate speed improvement, with a smoother, faster ramp-up to high levels of interface performance.

Grabbing and Using SG TCP Optimizer

You can download this utility from the SG TCP Optimizer home page. You must right-click the program file, TCPOptimizer.exe then select “Run as administrator” so it can make changes with appropriate privileges. If you choose, you can manage hundreds of TCP settings one at a time, with the benefit of massive documentation. There is also a collection of tweaking articles, an Optimizer FAQ, and a range of user forums available for technical info and aid. But the easiest way to use the program is simply to select the “Optimal” radio button at the lower right of the program window. SG TCP Optimizer does an excellent job of picking the right tweaks for you quickly and automatically.

SG TCP Optimizer main program window

Making good use of SG TCP Optimizer is as simple as clicking the Optimal radio button.

I tried it out on half-a-dozen systems, and found the utility generally delivered a slight performance improvement for my GbE wired network interfaces (in the range of 1-2%). These already benefit from the putative 300 Mbps service I get from Time Warner (which actually tests out at around 350 Mpbs using the TW Speed Test). It did somewhat better with my 802.11n and 802.11ac wireless interfaces (5-15%) because they operate in a range from 50-100 Mbps and are subject to more jitter and variability.

For those who may be concerned about firing off an optimizer willy-nilly, it’s probably worth observing that the Apply Changes window in the program includes checkboxes to backup settings and to create a change log. (To restore a backup click File, Restore backed up settings in the program. Use the log file to peruse a record of all individual settings changes, and the OS response to each one.)

Other SpeedGuide.Net Tools

The site offers a range of other free tools, including a TCP/IP Analyzer, a security scanner, a speed test, an IP address locator, a collection of common IP tools (such as ping, traceroute, whois, and so forth), and more. I’m going to have to check these out, too, and see how they work. There may be some resulting follow-up, if the other tools are as good as SG TCP Optimizer seems to be.


August 22, 2016  1:37 PM

Possible Fix for Win10 AU Webcam Fail

Ed Tittel Ed Tittel Profile: Ed Tittel

Owing to a technology change in the Anniversary Update to Windows 10, webcams on many PCs have since failed to work properly. To be more specific, various kinds of webcam software including programs from Logitech, Skype (and Skype for Business), and others, won’t show outgoing video. Worse, these programs hang up within a minute or two after startup for no reported reason. My family ran into this very thing last weekend when we tried a video chat via Skype with family members in Germany. Winhelponline offers several news links for those interested in more background. (Thurrot.com, Fooling Around, Graves on SOHO Technology). This news attributes a change in video encodings supported as causing the Win10 AU webcam fail.

MS promises to fix these issues with an update as soon as it can. My best guess is that this will likely appear in the September cumulative update. In the meantime, Windows maven and Windows 10 Field Guide author Rafael Rivera offers a pair of registry hacks to work around this problem. Each hack requires accessing a single registry key and adding a new DWORD name, value pair to its attributes.

The complete registry key strings in question are

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows Media Foundation\Platform
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Foundation\Platform

The same value needs to be created in each key. The first one is for 32-bit applications, the second is for their 64-bit counterparts. It’s named EnableFrameServerMode, and its DWORD value should be set to 0 (zero).

What’s Causing Win10 AU Webcam Fail?

The cause of this issue comes from Microsoft’s apparent decision to drop support for MJPEG and H264 video encoding standards for YUY2. Thus, following application of the AU, applications that do not yet support YUY2 quit working. This tweak restores support for those other formats, and should hopefully return such programs to normal operation. It’s a relatively benign registry change so there’s no reason not to try it and see.

Beware the Usual Registry Edit Warning!!

Editing the registry improperly can render any Windows system inoperable. That’s why it’s a great idea to precede these propose registry hacks with creating a new restore point. If the registry edits go south, apply that restore point and you’ll be back in business.

But Wait! There’s More: Free Win10 eBook…

As of this morning, NeoWin.net is giving away a free ebook version of The Windows 10 Bible, by Rob Tidrow, Jim Boyce, and Jeffrey R. Shapiro. This 888 page guide to Windows 10 is available as a free download from Wiley through Neowin.net for anyone and everyone willing to cough up registration information in exchange for access. Find the details at “Grab this ‘Windows 10 Bible’ eBook valued at $32.99 — for free.”


August 19, 2016  11:23 AM

Windows Self-Healing Tool in Test

Ed Tittel Ed Tittel Profile: Ed Tittel

[Notes added 8/20/2016: Do NOT USE! See concluding note at end of post.] Thanks to an intrepid poster to the Microsoft Community forums, a link to an experimental Windows Self-Healing Tool is now available. Apparently, MS Support offers this tool to individuals who’ve experienced widely-reported freezing issues that follow in the wake of applying the recent Anniversary Update to Windows 10. But the tool is described as still in test, and “not yet released as part of the new System Update.” I’ve downloaded it and tried it out myself. But because none of my systems is subject to post-AU freezes, I can’t say if or how well it works to fix them. I can say, however, that the tool does no [apparent] harm to healthy test systems. That said, it does require some minor clean-ups to restore them to fully normal operation.

Windows Self-Healing Tool opening screen

The tool is named WindowsSelfHealingTool.exe, and runs from File Explorer.

The Windows Self-Healing Tool in Action

From looking at how the tool describes itself and behaves during execution, I’ll make some educated guesses about what it does to address freezing issues with Windows 10. First, a look at the outputs from progress tracking screens recites its actions:

Repair system components and detect corrupt files:
Resync System Date and Time
Reset System Settings
Reinstall System Applications

Repair system corruption
Restore Component Store Health
Restore System Health
Repair System Corruption
System Restart

Update system
Windows Update
Final Reboot

Tool Completion

From what I see, the tool combines Windows system maintenance commands and activities to restore system health and function. In section one, it resets system date and time to make sure update and other system services work properly. It also appears to reset Windows 10 to default settings and to replace key applications such as File Explorer. In section two, it probably makes use of DISM and the System File Checker. The former serves to repair the WinSxS component store and the latter to detect and replace corrupt or damaged system files. In section three, it appears to attempt Windows Update repair (stop then restart key services, check update capability). Then it applies any outstanding updates. The final reboot returns control of the system to the user.

All in all, the tool works through a standard but helpful sequence of system checks and repairs. Thus, if the Windows Self-Healing Tool makes it into production, it could become a useful item in any admin’s toolbox for Windows.

[Note added 8/20/2016: Ed Bott raises serious concerns about this tool on ZDNet in a story entitled “Unauthorized, mislabeled Microsoft support tool leaks; could cause more trouble than it cures” that pretty much tells his entire story on the Self-healing Tool. Except for those desperate to fix freezing issues and willing to perform a clean reinstall in its wake, it doesn’t look like this tool is worth considering, let alone using. See his story for details. Thanks, Ed, for reaching out to me with a link.]

I opened the .exe file with NotePad++ and found the PowerShell script material to which Ed Bott refers in his ZDNet article. I include it here to show that it’s just a bunch of Windows commands embedded together, as I had speculated:

Close tool5All operations completed, you can close the tool now.
Closing…>Internet connection is required for date time synchronization.Verify internet connectionVerify connection4Internet connection is required for getting updates.Verifying… Verifying internet connection…,I confirm that my current date and time is: {0:g}Resync System Date and TimeSynchronizing…+Confirm the start of scan and fix procedure(Operation failed. Tool can not continue.Restart NowFinal Reboot1Update complete. Your machine requires a restart.!Operation completed with warnings%{0} operation completed with warningsrThis may take several minutes. Ensure your device is plugged in and connected to the internet during this process. (this may take some time)License confirmationConfirm scan and fixReinstall System ApplicationsReinstalling…Install updatesWindows UpdateI have read and accepted License AgreementInstalling updates…1Repair system components and detect corrupt filesRepair system corruptionRepair System CorruptionRepairing…Reset System SettingsResetting settings…3Scanning complete. Your machine requires a restart.?Latest windows uppdates installed. Please restart your machine.# System will restart in {0} secondsSystem RestartYour machine will now restartRestarting now…Restore Component Store HealthRestoring…Restore System HealthRestoring…Proceed to scan and fix1I confirm that my current date and time is: {0:g}Scanning…Tool completionFinishing work…
Update systemTest chargerVerify charger connectionNYour device needs to be pluged in to power source before continuing with fixesChecking for charger…Verify system versionScan and fix corrupt filesЖ# Reinstall System apps
Get-appxpackage -packageType bundle |% {add-appxpackage -register -disabledevelopmentmode ($_.installlocation + “\appxmetadata\appxbundlemanifest.xml”)} | Out-Default; Clear-Host;
$bundlefamilies = (get-appxpackage -packagetype Bundle).packagefamilyname
get-appxpackage -packagetype main |? {-not ($bundlefamilies -contains $_.packagefamilyname)} |% {add-appxpackage -register -disabledevelopmentmode ($_.installlocation + “\appxmanifest.xml”)} | Out-Default; Clear-Host;

# Resetting Winsock
& netsh winsock reset
& netsh advfirewall reset
& ipconfig /flushdns
& netsh winhttp reset proxy

# Starting the Windows Update services
Start-Service BITS
Start-Service wuauserv
Start-Service usosvc
Start-Service cryptsvc
Start-Service appidsvc

# Reauthorize
wuauclt.exe /resetauthorization /detectnow

# Clear the store cache and update apps

& wsreset.exe
Start-Sleep -Seconds 3
Stop-Process -processname WinStore.Mobile

schtasks /run /tn “\Microsoft\Windows\WindowsUpdate\Automatic App Update” | Out-Null%#Run system file checker
SFC -scannowМ# Stop Windows Update Components
Stop-Service -Force BITS
Stop-Service -Force -NoWait wuauserv
Stop-Service -Force usosvc
Stop-Service -Force appidsvc
Stop-Service -Force CryptSvc

# Delete the qmgr*.dat files
Remove-Item -Recurse “$env:ALLUSERSPROFILE\Microsoft\Network\Downloader\*”

# Removing SoftwareDistribution
Remove-Item -recurse “$env:SystemRoot\winsxs\pending.xml”
CMD /C “rd /s /q $env:SystemRoot\SoftwareDistribution”
CMD /C “rd /s /q $env:SYSTEMRoot\system32\Catroot2”
Remove-Item -recurse “$env:SYSTEMROOT\WindowsUpdate.log”

# Reset the BITS service and the Windows Update service to the default
CMD /C “sc.exe sdset bits D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)”
CMD /C “sc.exe sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)”

# Reregister the BITS files and the Windows Update files
Set-Location “$env:WINDIR\system32”
& regsvr32.exe /s atl.dll
& regsvr32.exe /s urlmon.dll
& regsvr32.exe /s mshtml.dll
& regsvr32.exe /s shdocvw.dll
& regsvr32.exe /s browseui.dll
& regsvr32.exe /s jscript.dll
& regsvr32.exe /s vbscript.dll
& regsvr32.exe /s scrrun.dll
& regsvr32.exe /s msxml.dll
& regsvr32.exe /s msxml3.dll
& regsvr32.exe /s msxml6.dll
& regsvr32.exe /s actxprxy.dll
& regsvr32.exe /s softpub.dll
& regsvr32.exe /s wintrust.dll
& regsvr32.exe /s dssenh.dll
& regsvr32.exe /s rsaenh.dll
& regsvr32.exe /s gpkcsp.dll
& regsvr32.exe /s sccbase.dll
& regsvr32.exe /s slbcsp.dll
& regsvr32.exe /s cryptdlg.dll
& regsvr32.exe /s oleaut32.dll
& regsvr32.exe /s ole32.dll
& regsvr32.exe /s shell32.dll
& regsvr32.exe /s initpki.dll
& regsvr32.exe /s wuapi.dll
& regsvr32.exe /s wuaueng.dll
& regsvr32.exe /s wuaueng1.dll
& regsvr32.exe /s wucltui.dll
& regsvr32.exe /s wups.dll
& regsvr32.exe /s wups2.dll
& regsvr32.exe /s wuweb.dll
& regsvr32.exe /s qmgr.dll
& regsvr32.exe /s qmgrprxy.dll
& regsvr32.exe /s wucltux.dll
& regsvr32.exe /s muweb.dll
& regsvr32.exe /s wuwebv.dll

CMD /C Dism /online /cleanup-image /startcomponentcleanup /resetbase

|Out-Default |Clear-HostA# Restore default power schemes
powercfg -restoredefaultschemes

CMD /C Dism /online /cleanup-image /restorehealth

[String data?]If the problem still persists, please
click hereNot supported Windows version9This tool is not compatible with your version of Windows.qThis may take several minutes. Please ensure the device is charged and connected to internet during this process.
Learn morepThis utility will help find and might fix potential software issues. This tool will perform the following steps:DSuccess! Your machine is up to date with all latest Windows updates.GBefore you proceed, please check, if you are connected to the internet.%You are not connected to the Internet;You can run this tool on windows version 8.0 or higher only(Welcome to the Windows Self-Healing Tool


August 18, 2016  11:00 AM

Office is Everywhere

Margaret Jones Margaret Jones Profile: Margaret Jones

There are more versions and types of Office than ever before, which means companies of all sizes have some decisions to make when they migrate to a new version of Microsoft’s productivity suite.

The Office of local desktop fame is not the only option anymore. There’s also the cloud-based Office 365 that companies can subscribe to, and different Office 365 versions match or surpass the feature set that comes with Office 2016. The Word, Excel and PowerPoint applications that users interact with in Office 365 versions look just like their Office 2016 counterparts, so user training or comfort doesn’t need to be a factor when businesses decide between Office 2016 and Office 365.

Another key change to the Office setup is that shops can choose between the desktop and mobile versions of the suite. All these versions bring up an important question: how to decide which one is the best fit.

In choosing between Office 2016 and Office 365, companies should consider that the cloud-based option lets users access and save data how and when they want to, which could be a productivity boon in companies without strict compliance regulations. Monthly Office 365 costs are also predictable and easy to budget. But on the other hand, Office 2016 versions just have the upfront licensing cost. One benefit of the Office 365 business versions is that companies can switch between them to add storage or features whenever they want, whereas Office 2016 on the desktop is static.

Businesses can run the desktop version on desktops and the mobile one on mobile devices if they want, but the mobile version actually works well on desktops too. Instead of doing both, companies can run the mobile version of Office on all of users’ devices, which can decrease management headaches and simplify deployment. Mobile versions of Office do have a less-robust feature set, however.

One thing companies can worry less about in Office 2016 is security. Microsoft added email and file encryption, as well as multi-factor authentication. The new Office security features won’t allay every security concern, but they can certainly help.

Are you ready to pick an Office version? Get all the details on features and functions in this our new three-part guide, Everything You Need to Know About Office 2016 and Office 365.


August 17, 2016  10:22 AM

Anniversary Update Display Scaling Changes

Ed Tittel Ed Tittel Profile: Ed Tittel

Build 1607 for Windows 10 released earlier this month introduces some interesting changes. I seldom jump exclusively on a Microsoft blog post for blog fodder, but today is an exception. This August 16 item comes from the MS Enterprise Platforms Support Ask the Core Team blog. It deals with Anniversary Update display scaling changes. In fact, this post offers a detailed and thorough description of issues involved in display scaling. It also explains how the Anniversary Update addresses some of them. The post is entitled “Display Scaling changes for the Windows 10 Anniversary Update.” Its author is James Burrage (Senior Support Escalation Engineer, MSFT), and it’s worth reading from stem to stern.

High Points: Anniversary Update Display Scaling Changes

To begin, Burrage links to an earlier post to the same blog entitled “Display Scaling in Windows 10.” It sets the stage and explains the background against which this post works. Thus, it too, is worth reading.

Burrage’s opening problem statement reads (quoted verbatim):

  1. Blurry text and UI components.
  2. Applications sized incorrectly (too big or too small)
  3. Applications are sized correctly and are not blurry, but have other layout issues …

Anniversary Update display scaling

Burrage provides a nice illustration to depict the foregoing issues.

He explains such issues are likely when the display scale factor on a Windows PC changes while a user is logged in. A typical case is when an application moves from a “main display” to another display with a different scale factor. I’ve seen this happen myself. I see it when my Surface Pro 3 is docked, and I switch from the high-res built-in screen to a lower-res external monitor. The stretching and blurriness issues match my experience exactly.

Burrage explains that application development models have, until recently, treated display factors as unchanging constants. That is, once they’re acquired as an application gets up and running, the assumption is that they won’t change. Alas, that is not the way the world in which we now live and work actually behaves. And while it may not be a problem for new applications that build in necessary intelligence (or draw on it from readily available APIs), it is an issue for legacy applications not designed that way.

What Can Developers Do About Anniversary Update Display Scaling?

Burrage explains how Windows developers tackled this issue  to update “the Windows File Explorer application to dynamically handle a display-scale-factor change.” It makes for fascinating reading, and illuminates the group’s learning process. Many developers seeking to update their own applications accordingly will face similar issues.

He explains how new code in the AU handles this for “parts of a typical desktop application window that the application itself does not draw…” This includes titles, captions, system menus, scrollbars, and more. It is called the non-client area (NCA) , now handled through a new EnableNonClientDpiScaling API. He also explains how mixed-mode DPI scaling lets developers focus scaling efforts where they matter most. That API is called SetThreadDpiAwarenessContext. He also talks about Office, the Windows Presentation Framework (WPF), and some other issues that AU did NOT address. These include desktop icon scaling, common control scaling and WinForms, plus log-out/log-in following display factors changes.

This is a nice piece of work. Again, for those interested in Windows UI issues (or who develop Windows apps) this is must-read stuff. If you want to understand changes to Anniversary Update display scaling, this is just the thing!

[Note: thanks very much to TenForums.com leader Shawn Brink, whose News Forum post this morning took my feet down the information path that let to this blog item. Keep up the great work, Shawn: we appreciate it!]


Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to: