The Windows 10 migration legacy application problem
Readying applications is a key factor when leaving Windows 7 behind – not all will play ball, but the majority will run on Windows 10
While some businesses have stuck with Windows 7 through a combination of cost-avoidance and inertia, others have genuine barriers that put them off migrating to a new OS. Of these, the biggest and most serious is the fear that mission critical software may not run. Some rely on bespoke applications that perform industry-specific functions, but that were originally coded for Windows 7, Windows Vista or even Windows XP and potentially for the 32-bit versions. They may have already invested in migrating these applications to Windows 7 and be reluctant to go through the whole experience again.
Yet here's the thing: while there may be some troublesome legacy applications that just won't play ball, the vast majority of applications that ran in Windows 7 will run perfectly well in Windows 10 without any active intervention. Microsoft research has shown this to be the case with 99% of Windows 7 apps. What's more, where issues do arise, you have multiple solutions you can use to get those legacy apps up and running.
The Compatibility Troubleshooter
Windows 10 has its own tool for tackling compatibility problems, dubbed the Compatibility Troubleshooter. Enter compatibility as a keyword in the Cortana search bar and you should see an option Run Programs made for previous versions of Windows'. Just select this to run the tool. By default, the tool looks for problem desktop applications and should pick out any potentially incompatible software automatically. If your application isn't listed, you can select Not Listed and enter the location of the relevant .exe file manually. Windows then offers to Try Recommended Settings or Troubleshoot Program. The first option works in many cases, and you can click Test this Program and give your legacy app a decent workout. If it works, you can then save the settings for future use. Otherwise, you can pick the Troubleshoot Program option to help Windows find a different solution based on the behaviour of the app in question. The Compatibility Troubleshooter is a great way to manage compatibility if you're dealing with just a few seats running one or more crucial legacy apps. It doesn't scale so well, however, so if you need to do the same trick across a larger fleet of systems, you may want to look at other routes.
Manual compatibility modes
You can also troubleshoot issues manually yourself; just right-click on the problem .exe file, select Properties and Run this Program in compatibility mode. This allows you to run legacy apps in simulated Windows 7, Windows Vista and even Windows XP or 95 environments, complete with specific service packs. What's more, you can set them to run with admin privileges or at a limited screen resolution, if required (and secure). These settings are saved and relatively easy to apply, making it more straightforward to find a fix and apply it across multiple PCs.
Another answer is to run those legacy apps within a Windows 7 or Windows XP virtual machine, and there's more than one way to go about this. You could run them within a virtual machine on the desktop using Hyper-V or VirtualBox or use Virtual Desktop Infrastructure (VDI) to deliver the app to users with appropriate credentials, as and when they need it. Because each VM is isolated and effectively a sandbox, the security risks of running a legacy OS and apps are much reduced.
Alternatively, you can use Microsoft Application Virtualization (or App-V) to deliver old Windows 32-bit applications to your users as virtual applications, installed on centrally managed servers and provided for users on demand. To the users, the experience is basically transparent it looks and feels like the app is running from their own machine but the server-side, virtualised nature makes App-V inherently more secure and manageable. The client is included with Windows 10 Enterprise editions and you can convert legacy apps using the App-V sequencer tool, so it's not as costly or onerous a process as you might think.
While it won't work across all legacy apps, many can be converted into Windows 10 Universal Windows Platform apps using the Desktop App Convertor tool. This tool, introduced with the Windows 10 Anniversary Update, enables older apps to work just as they used to on the desktop, but interacting with a virtualised file system and registry. To the app, these appear indistinguishable from the actual file system and registry, but because they're virtualised and sandboxed, the app is effectively modernised and rendered more secure.
The IT Pro guide to Windows 10 migration' explores how to plan your migration from Windows 7 and ensure it's a successful transition. Download it here.
Forward-looking enterprises might also want to consider another option: containerising their legacy apps. This means running them in what's effectively a highly streamlined virtualised environment, containing just the base-level OS components that the app needs to run. This doesn't just improve compatibility and security, but makes the app more portable, allowing it to run just about anywhere that supports the container format including Windows Azure and other clouds. The Modernized Traditional Apps (MTA) initiative the result of a partnership between HPE, Microsoft, Docker and others is designed specifically to help companies move their existing apps to new platforms and the cloud. Meanwhile, Microsoft's AppContainer provides a containerised sandbox for running legacy applications, where the application can only access the resources granted to it and not any others. User credentials are also protected, with each user getting a unique identity dedicated to running that specific app. Again, it's an approach that is more resource-efficient and inherently secure.
Every organisation has its own legacy application millstones to contend with, and each application its own challenges. Which approach you take will depend on the scale of the userbase and the critical importance of the application. In the long term, the best solution is to modernise or redevelop these legacy apps something that could drive further benefits for your business and its workers. But if you just need them back up and running on your old OS, then there's no good reason not to move to Windows 10.