Is it possible to install an
.exe file on a Raspberry Pi running Windows 10 IoT Core, that is to say all
.exe files which are supported by normal Windows? Does Windows 10 IoT core support all type
Is it possible to install an
When you have the source of an application (for example a program written in C) when it is compiled, the source is transformed into executable statements that the central processing unit (CPU) of the computer understands. Windows machines typically understand Intel/AMD processor instructions while the Raspberry Pi is based on the ARM processor and runs ARM instructions.
The simplest analogy I can give is to think of a C program as being a book written in Latin. For the program to be useful on your desktop PC (Intel/AMD), the book is translated into German (the native language of the PC) while for the Raspberry PI, the book is translated into French (the native language of the PI). If you take a book translated to German, it can't be read by a French only speaker nor can a book translated to French be read by a German only speaker.
Yes and No.
I agree with Kolbans analogy with to the degree of "translations".
So first question is, is the exe compiled for x86 or ARMv7? This not a foreign issue even on Linux, as you cant just take a Debian Desktop package and run it on Debian ARM. It has to be compiled to a binary (assembler) that the processor can execute. x86 & ARMv6 & ARMv7 & ARMv8 all have specific instruction sets.
Secondly what are the dependencies of the executable file?
If it is windows forms Application then it wont run because IoT does not support "Forms" but instead the Universal App XAML or DirectX - So it may try to access parts of the .NET CLI that is not supported (after trying to run)
If you create a console application that does a simple task like generate random numbers and write it to file, that will work when executed from PowerShell. As these are the CORE .NET capabilities. You cant autostart exe files on IoT though but on Enterprise you can (Intel boards)
IoT Core - Is a basic prototyping sandbox OS. You create Universal Apps using libraries supported on IoT Core with Visual Sutdio 2015 Community or better - Its does not have an amazing range of libraries at the moment but you get hardware rendered GUI, basic I/O and can even access DirectX if you wanted to.
MONO - You can install this on Debian (Raspbian) and this is much richer experience since you are not sandboxed like on IoT. When in an X windows manager, you can even run Windows Forms Application using
mono myformapp.exe or console apps, or webservers.
.NET has evolved over the years, and Universal Apps is Microsoft way of trying to unify everything. So you can kind of forget about running
exe files as a traditional Windows user on IoT Core - Because the name core, implies its a very basic OS.
These below require paid for licenses to run...
You can get Intel MinnowBoard MAX and instead of core use Windows 10 IoT Enterprise (Industry)... which is the same as Windows 10 for Tablet but only runs on x86 architecture, like the Atom.
Support for ARM based Windows 10 is on the way and is called Windows IoT Mobile, but its not clear if we will be able to run this on the Pi 2, with a full Windows 10 desktop or not...