Bin folder .exe files

Nov 15, 2013 at 12:01 PM
Edited Nov 20, 2013 at 6:42 AM
Hi ,

.exe files in Compact13Tools\Bin folder can be directly executed with arm processor ?
or we need to rebuild it for ARM platform?
i tried to include that .exe files in windows folder of WEC2013 but it did not execute on desktop any suggestion?
Coordinator
Nov 24, 2013 at 8:30 PM
Good Question.
Managed code doesn't need to be rebuilt for different processors, except...
Its a bit like Java on that score.
If it accesses native code resources using PInvoke then that part requires recompilation.
If an app PInvokes then there needs to be an x86 and an ARM version.
Architecturally, its probably better to Refactor that part of the code into a separate DLL and so its just the DLL that is at issue.

The upshot is that currently the only tool that PInvokes is TaskManager as it uses the WIn32 API, FindWindow to get the Window names of apps, and uses this to get a list of apps and so only TaskManager needs ARM recompilation. This uses Callbacks to get an enumerated list of windows. A bug wrt Callbacks has been reported in the ARM context on Compact 2013. Watch this space for a resolution.

So the upshot is that all of the tools should work on ARM except TaskManager, for the moment.
I have been told that all of the apps work except TM do work on ARM. I have just received an ARM board so will test this later in the week.
Nov 25, 2013 at 4:06 AM
Thanks for the reply.
I tested in ARM board and apps are working fine.
Coordinator
Nov 26, 2013 at 2:16 AM
Thanks for the feedback.
Did TaskManager work?
Nov 27, 2013 at 10:24 AM
TaskManager application is not working properly.
Coordinator
Nov 27, 2013 at 11:07 AM
Thanks for that. That's what others have found.
I am working on an interim solution where the callback is done in native code.
Coordinator
Dec 9, 2013 at 10:29 AM
I have now developed the alternative solution where the app windows are listed in an array in native code that is then read back using PInvoke into the Managed Code.

My first iterations used a MessageQueue which required that component in the OS. For this there were two apps. One (native code) to get the Window details and write to the Queue, and an another, the Managed Code to read the MessageQueue. This was overkill in the second iteration where the Managed Code PInvoked to action the writes to the Queue.

The new version will be published here in two parts.
The Managed Code app and a native code DLL.
The DLL will be available for x86 and ARM.
Testers are invited to give feedback on ARM, thx