A picture is worth a thousand words.
We all know that the official support for Windows XP ends on April 8, 2014.
Therefore many customers starting to look at ways to migrate their legacy applications from Windows XP to a newer version of Windows. While many applications may run on Windows 7 (or later) without any hassle there are still some apps which aren’t working on Windows 7 out of the box. As always exactly these apps are most likely declared as business critical or at least very important.
Many people see ThinApp as the silver bullet when it comes to OS migrations and application compatibility issues. To a certain degree they are right, ThinApp can definitely help to solve many application compatibility issues and ease the pain of a Windows 7 migration. But ThinApp unfortunately can’t perform magic.
There are many reasons why applications won’t run on Windows 7. To understand if ThinApp can help or not we first have to analyse why applications may not run on a newer version of Windows.
- Deprecated .dll files, executable (.exe) files, COM objects, registry keys and application-programming interfaces (APIs)
- Hard-coded locations (file locations, directories, registry keys)
- User Account Control (UAC)
- Operating System Version Changes
- Dependencies to a specific Internet Explorer version
- 64-bit versions of Windows do not support 16-bit components, 16-bit processes, or 16-bit applications
Some of these issues can easily be fixed even with built-in Windows functions. For example an application may check on which operating system it is running (see Operating System Version Changes in the source link above) and refuses to run if not running on top of Windows XP. You can easily fool the application to think it is running on Windows XP even if it is really running on Windows 7 using the compatibility mode option.
However other issues aren’t fixable at all. If an application relies on 16-bit components or is a 16-bit application itself and you want to migrate to a 64-bit version of Windows you are out of luck. The application simply will not work. You could however use VMware Workstation or View to deploy 32-bit virtual Windows machines for your legacy 16-bit applications. Another example for an application which will probably not work if it depends on APIs which are deprecated or undocumented and therefore not available or working different in Windows 7.
- Running applications which depend on deprecated APIs
- Run 16-bit applications on 64-bit Windows.
Other reasons why an application might fail to work on Windows 7 like deprecated .dll files, hard-coded locations and dependencies to specific versions of Internet Explorer are a perfect fit for ThinApp!
With ThinApp you are able to:
- run older/different Internet Explorer versions (for example Internet Explorer 6 on Windows 8)
- include legacy Windows DLLs in your ThinApp packages
- use hard-coded paths without modifying your native Windows directory / registry structure
- tell an application it is running on a 32-bit system even if it is running on a 64-bit Windows
- run a ThinApp package in a specific UAC privilege level
- deploy and run 32-bit applications with 16-bit installers on 64-bit Windows systems
As you can see there are many cases in which ThinApp can provide help running legacy Windows XP applications on Windows 7 even if they wouldn’t work when installed natively. However there are no guaranties this will work and it may require some effort to get it working. Still it is worth a try considering all the benefits you gain when using ThinApp especially when migrating to a newer version of Windows.
If you want to know exactly when support for Windows XP will end you should try the official Windows XP End Of Support Countdown Gadget.