Would ARM-compiled PortableApps work on Windows 8.1 RT?

-1

I have the possibility of owning a Microsoft Surface. It's clearly not possible to install apps downloaded from the Internet. But is it still possible to launch executables stored on an SD card or USB stick, such as with PortableApps? edit: My question isn't intended strictly limited to portableApps, but any ARM-compiled non-Store software. Is it the origin of the software, or some other mechanism of the OS that prevents executables from running?

Otheus

Posted 2015-05-15T23:31:18.530

Reputation: 350

1NO; All PortableApps are x86 software. Windows RT does not run x86 software. – Ramhound – 2015-05-16T03:04:15.633

@Ramhound I think saying that Windows RT cannot run Windows API (WinAPI) software and can only run WinRT software is more correct. – paradroid – 2015-05-16T03:55:03.103

@paradroid - How so? How is saying Windows RT cannot run x86 software, Win32 software specifically, not correct? Even more so. Windows RT cannot run Java applications either, which I would consider x86 applications, not WIn32 applications. – Ramhound – 2015-05-16T03:58:07.287

1

@paradroid: "Windows RT cannot run Windows API (WinAPI) software" - That is technically incorrect. Windows RT is Windows compiled for ARM and so has (almost) the full Win32 API. That's how MS' desktop apps like Notepad, Paint, Office etc. function. However end users can only install apps from the Store, and these can use only a small subset of the Win32 API available to WinRT apps (as well as WinRT-specific APIs).

– Karan – 2015-05-16T06:06:06.627

1@Ramhound: It's pointless bringing Java into the discussion, because the apps are just bytecode that can generally be executed by both 32 and 64-bit x86 JVMs or in a native ARM JVM if one were available. In fact, jailbroken WinRT8 can indeed run many Java apps in IKVM (Java VM in .NET). – Karan – 2015-05-16T06:11:27.313

I updated the question. I see I needed to be a bit less specific. – Otheus – 2015-05-16T18:11:56.217

Answers

3

Installed or portable doesn't matter in this case when the CPU architecture itself is not supported. PortableApps programs are still x86 or x86-64 executables and will not work on a system with an ARM CPU unless they are recompiled.

Moreover, even if they are recompiled Microsoft has restricted Windows RT only to Store apps. The only way you can run third-party desktop apps compiled specifically for ARM CPUs on Windows RT is by jailbreaking the OS, which is only possible with Windows RT 8.0 so far and not 8.1.

Karan

Posted 2015-05-15T23:31:18.530

Reputation: 51 857

Although my headline was regarding portableApps specifically, my question was of a slightly more general nature. Do you by chance know the mechanism by which windows restricts executables from loading if they don't come from the store? That is, is it the origin of the software, or something else? – Otheus – 2015-05-16T18:06:48.657

Only desktop app executables signed using an MS certificate are allowed to run. You can read more at the xda-developers forum, especially the section devoted to jailbreaking Windows RT.

– Karan – 2015-05-16T19:48:46.587

Interesting forum and discussions over there. I now wonder if maybe MS made RT specifically to get hackers to pentest the kernel for them. – Otheus – 2015-05-17T09:06:54.833

@Ramhound What? I was moving an author's comment back into his answer. It' his command and his answer. I combined the two. Under what circumstances is that invalid or misleading or unethical? – Otheus – 2015-05-17T09:14:29.557