1

What is special about Windows RT that makes it unable to run regular Windows programs that didn't come from the app store?

I understand that Windows RT was used with ARM processors, but some of my old Windows 98 programs ran fine on an Intel Pentium and still run fine on more modern AMD processors. I'm trying to understand what makes ARM and Windows RT special.

4

Your Intel Pentium and AMD example are both specimens of the same Intel/AMD x86/x64 CPU architecture.
Even though there are a number of CPU generations between them they are still by and large compatible. (Or better said: The newer CPU's add mainly features to the same core that was already present in the older ones.)
This means that (well behaved) software written for the older CPU's can still work on the newer generations.

ARM however is a completely different CPU architecture than x86/x64.
The ARM CPU's speak internally a completely different language and they simply don't understand the language used by the Intel CPU's. (And vice-versa.)
You can basically compare this as someone who only speaks English trying to read a text in Chinese. He won't get very far.

Windows RT is a special Windows version made to work in the ARM environment and as such can't run programs that are natively designed for regular Windows. (Windows Mobile and Windows IoT are also available for ARM by the way.)

1

What is special about Windows RT that makes it unable to run regular Windows programs that didn't come from the app store?

Microsoft has locked down Windows RT.

  • Windows RT devices implement Secure Boot and do not allow disabling it or installing different keys
  • Windows RT only runs signed binaries, so no unapproved third-party code can run.

The above does not have anything to do with ARM - there's nothing stopping Microsoft from making a non-ARM device that behaves like the above. Windows has supported a configuration where only signed binaries can be run for a long time, and newer systems can be locked down with Secure Boot. So it's nothing too new, though on RT systems you can't disable these options.

Microsoft did the above to sort of provide an appliance-like experience like Apple does with the iPad--e.g. programs are vetted, approved, sandboxed, and the operating system cannot be modified.

I understand that Windows RT was used with ARM processors, but some of my old Windows 98 programs ran fine on an Intel Pentium and still run fine on more modern AMD processors

AMD has always made CPUs that are compatible with Intel - specifically with Intel's "x86" architecture. Even then, AMD and Intel chips implement certain newer features differently--different enough where the program needs to know what type of CPU it's running on and change what it does a little, but not different enough where most programs won't run.

ARM is a completely different type of CPU that was a new design (from a UK company called "Acorn RISC Machines") and it has a totally different architecture. It's incompatible with Intel.

  • So hypothetically if Windows RT wasn't locked down by Microsoft, regular .exe files still wouldn't work because they expect to run on an Intel based processor? Also, how does a universal windows app manage to work on both ARM and Intel when regular exe's don't? – jabe Mar 8 '17 at 22:20
  • Your first question - pretty much. However, Microsoft has the .NET framework - and it's possible to create a .exe that consists of "CIL" - this type of code is processor independent and is Just-In-Time (JIT) compiled to native code right before executing - like Java. I believe this is central to how UWP apps work on any architecture. Looking into how UWP apps are built, it's versatlie and complex - the .appx file that is the app itself seems to be a package format which can contain CIL code, native code, etc. – LawrenceC Mar 12 '17 at 2:51
  • Currently ARM is "Advanced RISC Machines"... – Yousha Aleayoub Aug 15 '17 at 22:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.