When Microsoft introduced Windows 8, it also introduced a new type of application called the Modern App. Since that time, there has been a tremendous amount of confusion regarding which Windows platforms will run which types of application. In this blog post, I want to try to clear up some of the confusion.
The first thing that you need to know about Modern Apps is that they have changed names. When Microsoft first introduced these apps, they were called Metro Apps. Therefore, if you happen to read an article discussing Metro Apps, they are the same thing as Modern Apps.
Another thing that you need to know about Modern Apps is that in Windows 8, the apps will not run if you are logged in using the local Administrator account. There have also been reports that Modern Apps will not run if the device's resolution is set to less than 1024 x 768 (although I have no way to confirm these reports).
Probably the biggest source of confusion surrounding Modern Apps has to do with the fact that there are four different platforms on which they can run. Modern Apps can run on Windows 8, Windows RT, Windows Phone 8, and Windows Phone 7. However, there are major distinctions between the apps that will only allow certain apps to run on certain platforms.
In Windows 8 and in Windows RT, Modern Apps are normally installed by downloading the app from the Windows Store. It is worth noting, however, that just because you can see an app in the Windows Store it doesn't necessarily mean that you can run that app.
When you click on an app in the Windows Store, you are taken to an Overview screen for that app. This screen also contains a Details tab and a Review tab. The Details tab provides information about the app's compatibility.
The most important thing to pay attention to on the Details tab is the Supported Processors section. This section tells you which devices the app will work with. Most apps support X86, X64, and ARM processors, meaning that the app will run on Windows 8 or on Windows RT. However, some apps are more limited.
An app that lists X86 and/or X64 under the supported processors is designed to run on Windows 8. If you happen to be running a 32-bit Windows 8 installation, then you must make sure that X86 processors are supported. If you are running a 64-bit Windows 8 installation, then you can run apps that are designed for either X86 or X64 processors. Windows RT devices can only run apps that support ARM processors.
As previously mentioned, Windows Phone 7 and Windows Phone 8 devices also run Modern Apps. However, a Windows Phone device cannot run a Modern App that has been designed for use with Windows 8 or Windows RT, even though Windows Phone 8 has a lot in common with Windows 8. Likewise, Windows 8 and Windows RT cannot run Windows Phone apps. The only exception is that there is a Windows Phone 8 emulator that is available for Windows 8, and this emulator can run Windows Phone apps.
So what about desktop apps? Generally speaking, Windows 8 can run almost any application that is compatible with Windows 7. The primary exception is that a 32-bit Windows 8 deployment cannot run a 64-bit application.
There are a few legacy Windows applications that do not work with Windows 8, but in almost every case these applications can be made to run using the operating system's various compatibility tools.
Windows Phone 7 and Windows Phone 8 devices do not include a desktop mode, so there is no way to run legacy Windows applications on a Windows Phone device. If you really need to run a Windows desktop application on a Windows Phone, the best solution is to establish an Remote Desktop Protocol (RDP) session with a desktop PC or with a virtual desktop. There are a number of RDP clients available for Windows Phone devices through the Windows Store.
Windows RT actually does include a desktop mode, but you can't use it to run legacy Windows applications. The only applications that can run in Windows RT's desktop mode are the built-in copies of Microsoft Office 2013 and Internet Explorer. Other applications cannot be run because Windows RT devices use ARM processors, and an application can only run if it has been compiled to run on an ARM device.
As is the case with Windows Phone devices, however, there are RDP clients available for Windows RT. These clients make it possible to remotely connect to a desktop PC or a virtual desktop, thereby giving the illusion of legacy applications running on Windows RT.
As you can see, there are a number of restrictions on what applications can be run on each Windows platform. Fortunately, looking at the details in the Windows Store will make it very clear which platforms the various apps will run on.