Background
I have a .NET CF 3.5 app running on Windows CE 6 that uses SQL Server compact 3.5.I want it to run on Windows CE 7.
Here is an overview of how I achieved that.
Attempt 1: No modification
Result:
- FAILED ! Native exception occurs at runtime (Native.GetKeyInfo ...)
Attempt 2
For your information:
- v. 5386 : SQL Compact server 3.5 RTM
- v. 5692 : SQL Compact server 3.5 SP1
- v. 8080 : SQL Compact server 3.5 SP2
You can also take a look at this article for hotfixes list.
Result:
- FAILED ! Did not work either, even with the same versions of dlls. The same exception occured.
Attempt 3
Update the binaries in your application and try again.
Result:
- FAILED ! New issue !
The application is trying to load native components of version 8154 that are incompatible with ADO.NET provider of version 8080
It's like the OS is loading its own set of native sql dlls instead of the ones in the application directory...
Attempt 4
In your project, use the native dlls located in C:\WINCE700\others\sqlcompact\<cpu>\retail and the assembly in C:\WINCE700\others\sqlcompact\managed\retail.
Result:
- SUCCEEDED ! The application runs flawlessly now !
Conclusion
Know that for some people, attempt 2 resolved the issue but the only solution that worked for me was the last one.