Can Classic .NET apps run on Surface (Windows) RT?

Short Answer: Yes, only and only if it’s digitally-signed by Microsoft Corporation.

These are the more detailed steps on how I reached this conclusion:
In Visual Studio 2012, there’s VS 2012 ARMS Cross Tools Command Prompt.

cmdARMTool

Now let’s create a simple HelloWorld program using this code:

and let’s see the result:

CompileResult

and the result in Surface (Windows) RT:

Screenshot (3)

 

So how did apps like Office 2013 and other .NET apps run on the Surface RT?

Let’s take a .NET app that runs both on x86 Win8 (Windows 8 Pro) and ARM Win8 (Windows RT), which is the Microsoft Test Tools Adapter (mtta.exe) under C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE

How do I know this is a .NET app? What, besides the slow startup process 🙂 , of course using Process Explorer we can see that this is a .NET app:

MSToolsTestAdapterIsNET

and this mtta.exe runs on Surface (Windows) RT. See image below:

dotNetAppSignedByMS

This means only applications signed by Microsoft can run in Desktop mode of Surface (Windows) RT!

Why???? Because by doing this, no virus or malware can ever run on the Surface (Windows) RT.

Genius, isn’t it? 🙂 Imagine a tablet ecosystem that is not plagued by the virus and malware problem….

Leave a Reply