Compact 2013 Ebook

13.8 Application (In)compatibility
Created by djones on 6/18/2013 1:39:38 AM

Application (In)compatibility

Compact 2013 is only source code compatible with applications and libraries from previous versions of the operating system. That is, binaries from Compact 7 and any version of Windows CE will not run on Compact 2013. The OS has been specifically configured to reject these, even though some binaries may actually be compatible. The reasons given for this is that Compact 2013 uses the new C++ 11 compilers in Visual Studio 2012 and that for ARM, Thumb 2 instructions are used.

In an early CTP for Compact 2013, it was announced that all application projects from previous version of Windows Embedded Compact/CE needed recompilation under Compact 2013, including managed code applications. With the RTM of Compact 2013 this has been revised:

Compatibility Summary

1. SDK Application projects are not transferrable to Compact 2013. You will need to make a new project and copy or refer to your source files from there.

2. Platform Builder subprojects from Compact 7 can still be added to a Compact 2013 using sources & dirs:

      1. Copy the native code project from the Compact 7 subproject context to the Compact 2013 subproject.
      2. Remove all build generated files including the obj folder from the copied project folder
      3. Add the project as an existing sources subproject to the OS project
      4. Build and test the project.
      5. Some metadata of the project, as in the sources file may need modification

3. Native code is processor dependent so will need to be recompiled.

4. Managed code is not processor dependent so will not need to be recompiled. Managed code binaries built from SmartDevice projects that do not P/Invoke should run without modification on a Compact 2013 device with .NET CF 3.9 installed.

5. Hybrid applications that have both native and managed components will need at least partial recompilation if not full to relink everything to ensure integration. Partial compilation meaning the native part. But the references to it in the managed code may force recompilation of the managed code.

  • Given the backwards compatibility of .NET, applications built with an earlier version of .NET will generally run on a later version of the .NET Framework. Hence Managed Code applications from Compact 7, say CF 2.0 or CF 3.5 may run on Compact 2013 CF 3.9.
  • To migrate a Smartdevice application or library from a previous version of the operating system, you need to create a new project of the equivalent template type in the Compact 2013 SDK context and copy project files, resources and settings to the new project. Smart Device projects will not directly upgrade to Visual Studio 2012. .

One other qualification: If the managed code uses resources that are not available on the specific device then there will be failures.
Eg Access the serial port through the .NET CF serial class, without error checking, then there will be an app level failure if the target does not have a serial port. Not an Operating System error though..


NEXT: Database and Real Time Applications

print

Click here to provide feedback and input

  Comments

There is no comment.

Turkish porno izle video site in rokettubeporno izle