Gibt es eine Problemumgehung, um die Ausführung klassischer Win32 Desktop-Apps unter Windows RT (ARM) zu ermöglichen

2001
dodgy_coder

Gemäß diesem Artikel von arstechnica und diesem Mozilla-Blogbeitrag ist die Win32-API in Windows RT vorhanden, aber Microsoft entscheidet sich dafür, sie nicht für Anwendungen von Drittanbietern verfügbar zu machen.

Office und Internet Explorer unter WinRT ARM verwenden die Standard-Win32-Bibliothek und dürfen ausgeführt werden. Microsoft hat angegeben, dass der Grund, warum sie es nicht für andere verfügbar machen, ist ... "längere Akkulaufzeit, vorhersehbare Leistung und vor allem eine verlässliche Erfahrung über einen längeren Zeitraum."

Gibt es eine Methode, mit der klassische Win32 Desktop-Apps unter Windows RT ausgeführt werden können, z. B. über die Registrierung oder eine andere Methode.

Ich weiß, dass sie offiziell nicht unterstützt werden, aber ich frage hier, ob es eine Problemumgehung gibt, die dies zulässt.

4
ARM und x86 sind sehr unterschiedliche inkompatible Architekturen. Schritt 0 wäre, das ganze verdammte Ding neu zu kompilieren. Journeyman Geek vor 11 Jahren 1
@ Johnnyman Geek. Da es die Win32-API verwendet, sollten nur minimale Codeänderungen erforderlich sein? Ja, das Kompilieren wäre natürlich das Problem, danke. dodgy_coder vor 11 Jahren 0
Basically what you're asking is whether you can jailbreak Windows RT tablets. I think the answer is going to be the same as with every other "walled garden" device: probably, but only because the developers can't typically keep up with the hackers. It should also be noted that there's no real guarantee that parts of the Win32 API not used by Office, IE, and WinRT will behave as expected; in particular, Win32 has lots of special tricks for compatibility with third-party applications which might have been or might in future be left out. Harry Johnston vor 11 Jahren 2

2 Antworten auf die Frage

4
dodgy_coder

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:

Windows cannot verify the digital signature for this file 

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...

... deep in the kernel, in a hashed and signed data section protected by UEFI’s Secure Boot, lies a byte that represents the minimum signing level.

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

0
evanmcdonnal

Es gibt keine Umgehung. Win32-Apps werden für x86- oder x64-Architekturen kompiliert. Windows RT ist die ARM-Version von Windows. Die Anwendungen selbst müssten als ARM neu kompiliert werden, um unter Windows RT arbeiten zu können.

Ich würde dem Support des App-Anbieters eine E-Mail senden und den ARM-Build anfordern.

Ja, sie müssen neu kompiliert werden, aber Win32-Apps sind nicht nur für die x86- oder x64-Architektur spezifisch. Deshalb wurde die Win32-API in erster Linie eingeführt, um Plattformunabhängigkeit zu ermöglichen. Office und Internet Explorer, die auf Win RT-Tablets ausgeführt werden, verwenden beispielsweise weiterhin die Win32-API. dodgy_coder vor 11 Jahren 0
Win32 ist die moderne Windows-API und keine Architektur. Es gab Windows-Versionen auf PowerPC, Alpha, MIPS ..., die die Win32-API verwenden. Und selbst [Fenster auf ARM können heutzutage x86-Apps ausführen] (https://docs.microsoft.com/en-us/windows/uwp/porting/apps-on-arm-x86-emulation) aufgrund der Emulationsschicht innerhalb von WoW Genau wie Windows auf Itanium können Sie x86-Apps ohne Geschwindigkeitsausgabe problemlos ausführen phuclv vor 5 Jahren 0