In-Depth
Overcoming Windows 7 and 8 Migration Challenges
Changes in the security model or discontinued libraries may prevent existing applications from running on newer versions of Windows. We explain how your organization can overcome these compatibility challenges.
By Jon Rolls
The clock is ticking, and while every organization has Windows 7 creeping onto their network in some way, many have not completed their Windows 7 migration and have hit hurdles that might not be resolved before the end of support for Windows XP in April 2014. Now, with Windows 8 likely to release to enterprise customers in the next quarter, we have to ask what is still holding up rollouts of Windows 7 nearly three years after it was completed, and how can you overcome those challenges?
The most obvious cause for delay is inertia. Despite its support status and inferior security model, Windows XP continues to work very well for many millions of users, and continues to deliver enterprise applications in a productive way. At the time of its release in 2001, Windows XP forced a PC refresh cycle; but, on a modern PC 10 years later, it feels like a very light and fast operating system, thus extending its appeal.
In our view, there are three major technical hurdles preventing complete migration to Windows 7 in the enterprise: Windows applications, Web applications, and hardware. Let's look at each of these in turn, including the nature of the challenge, ways to assess the size of the problem, and then, how to mitigate them. We will also discuss Windows 8 because for traditional Windows applications, many of the same compatibility problems apply that require you to use the same thought process.
The Technical Hurdles
First, there are very few organizations that do not have a significant dependency on traditional Windows applications. Some of the organizations we have worked with have found upwards of 8,000 or 10,000 distinct Windows applications on their networks, and the problem is that many of them are old, and either written in-house by development teams that no longer exist or have different priorities. The apps could be from third-party vendors who want to charge too much for an upgrade to a newer version when the old version works just fine for now.
The problem with the older applications is compatibility, and many have significant challenges running on Windows 7 and 8. Chris Jackson, compatibility expert from Microsoft, has repeatedly stated that application compatibility is the single biggest barrier to Windows 7 deployment. Changes in the security model, dependence on discontinued libraries and APIs, or even something as simple as a check for the Windows version number can cause applications to fail on Windows 7. We expect even more discontinuations and new dependencies in Windows 8. Unfortunately, it is often too expensive to fix the application or upgrade to a newer version, if one even exists.
With so many applications, just identifying those with problems is a huge undertaking, especially if they all have to be installed and tested individually. Some of the oldest might not even have good installers, but are simply stored on a master disk image that has been used for many years. Fortunately, there are now utilities that can automate the analysis of application compatibility without the need to install the applications, and do this with a high degree of accuracy. The goal here is to perform a risk assessment to identify the most problematic applications, and to match that list with the most frequently used applications to get a sense of priority and exposure. The best solutions can automatically remediate many known compatibility issues or automate virtualization of applications to make streaming and isolation possible.
Virtualization to the Rescue
If an application cannot be fixed by a programmer, cannot be upgraded, or cannot be fixed with an improved installer, then there are several virtualization approaches available. Some applications behave better when sequenced or streamed in an application virtualization sandbox using one of the solutions available from Microsoft, Symantec, VMware, Citrix, Numecent, and others. Another approach is to use either session virtualization (formerly known as Terminal Server) or desktop virtualization (also known as VDI). Both are excellent ways to deliver Windows applications from a data center to desktops and any other device on the local network, in branch offices, or over the Internet. They use optimized remote display protocols so the applications are run inside the data center and presented elsewhere.
One of many advantages of this approach is that the applications can run on an older version of Windows Server but be presented as if they were running locally on Windows 7 or 8. For example, many applications designed for Windows XP run just fine on Windows Server 2003 in Terminal Server mode, so they can be presented on Windows 7 or 8 desktops unmodified.
One of the best examples of a Windows application that runs on Windows Server 2003 is Internet Explorer 6. Using Terminal Server to deploy IE6 to Windows 7 desktops is one of only two legal, supported ways to achieve that result. The other is Microsoft MED-V, which requires more resources on endpoints to run a Windows XP virtual machine alongside the Windows 7 operating system, and also doesn't fix the fact that Windows XP support will end soon.
Microsoft announced that Windows 8 will not support XP mode or MED-V, so your options are even more limited! This brings us to the second class of application problems – Web applications.
Web Applications
On the face of it, Web applications are more universal. However, the fact is that different generations of browsers, particularly Internet Explorer, have quirks and various levels of standards compliance, which means that a Web page that works in one version of a browser will not work in another. For example, drop-down menus might not open, JavaScript code might not execute successfully, and text can overlap other parts of the page.
Rewriting or upgrading a Web application is not always possible for the same reasons that apply to Windows applications, so these incompatibilities have to be identified and fixed. Solutions for this are starting to appear in the market, but, as of today, are far from automated. Often, the only solution is to have multiple versions of a Web browser on the same desktop, using either a virtualization technology or displaying another browser (such as Chrome or Firefox) side-by-side with a particular version of Internet Explorer.
Finally, to roll out Windows 7 or 8 successfully, you need to have the hardware of the right specification to run it on the endpoints. Both Windows 7 and 8 are more efficient than Windows Vista, but it still requires considerably more than Windows XP. For great performance you should always select the 64-bit variant of Windows 7 or 8 since it can take full advantage of 4GB or more of RAM. However, this brings up new Windows application compatibility challenges, because 16-bit legacy applications can only run on the 32-bit version of Windows 7. Again, it is essential to identify whether you still have 16-bit applications in your environment before rollout and before buying new hardware.
If your organization has a large investment in PCs that cannot be economically or practically upgraded, then consider desktop virtualization. Despite the initial reports, hosting Windows 7 or 8 virtual desktops in the data center, using a low-cost solution for automated management and connection can be very cost effective, especially if you use commodity hardware with inexpensive SSD hard drives for shared storage instead of a SAN. As Microsoft's Hyper-V platform really comes of age with Hyper-V Server 2008 R2 SP1, and, soon, Hyper-V Server 2012, it is a viable and basically free way to host virtual desktops if you combine it with a low-cost management solution.
A Final Suggestion
I've presented some of the key considerations in Windows 7 or 8 migrations as well as the key challenges and solutions you should consider. Whatever set of technology you choose to complete your Windows 7 or 8 migrations, my final suggestion is that you do it soon and don't wait for Windows 8. The application compatibility challenges on Windows 8 are very similar to those with Windows 7, so you will have to face them sooner or later.
Jon Rolls is vice president of product management for Quest User Workspace Management. Jon joined the Quest family in 2004, and brings 15 years of software industry and Windows management experience, including product management roles with Citrix, ScriptLogic, and virtualization and Web acceleration startups. Jon has a Bachelor of Science degree in pure mathematics from the University of Warwick, England. You can contact the author at UserWorkspaceManagement@quest.com.