According to this arstechnica article and this mozilla blog post the Win32 API is present on Windows RT, but Microsoft chooses to not make it available for third party applications.
Office and Internet Explorer on WinRT ARM use the standard Win32 library and are allowed to run. Microsoft has stated that the reason they don't make it available for others is … "longer battery life, predictable performance, and especially a reliable experience over time.".
Is there a method of enabling classic Win32 Desktop apps to run on Windows RT, e.g. via the registry or some other method.
N.B. I know that offically they are not supported, but what I'm asking here is if there is some workaround to allow it to happen.
Best Answer
As Journeyman Geek pointed out, a recompile is necessary first to target the ARM processor.
I've found some steps documented here as how to achieve this: Compiling Desktop Apps for Windows RT
The method above produces an ARM executable, however when its run on a Windows RT device, it results in the following error message:
There's some further detail here regarding possible ways to circumvent this error message: http://forum.xda-developers.com/showthread.php?p=31519618&postcount=1
And an ongoing discussion on StackOverflow here: https://stackoverflow.com/questions/11151474/can-arm-desktop-programs-be-built-using-visual-studio-2012/
UPDATE (JAN-9-2013) - EXPLOIT BY CLROKR
A developer by the name of clrokr has come up with a method of getting arbitrary desktop applications to run on Windows RT without having to sign them.
The method used is by hacking a single byte in the Windows kernel...
To do this requires the use of a remote debugger every time you want to run the application, so its not an easy hack to make use of, but in time will probably be improved upon to the point there is a simple jailbreak-type installer.
There's some more information about people using this method here: http://forum.xda-developers.com/showthread.php?t=1885399