0
votes

Disclaimer: I am a total noob when it comes to anything .Net, but I have to get stuck in for a project I'm working on.

I see there are already some posts on this here, but no complete answer on how to resolve this. I get this warning:

Can't find PInvoke DLL 'sqlceme35.dll'

when trying to deploy to a Windows Mobile 6.5.3 emulator from Visual Studio (I'm coding in C#). I am obviously using Sql Server CE for the application. I see it deploys just fine to emulators running older versions of Windows Mobile (namely 5.0).

Could anybody please explain this?

2

2 Answers

2
votes

sqlceme35.dll is not part of a standard Windows Mobile SDK installation and needs to be installed separately (see https://www.microsoft.com/en-us/download/details.aspx?id=8831) and deployed manually (copy and install CAB file from your PC after install, see https://msdn.microsoft.com/en-us/library/13kw2t64%28v=vs.90%29.aspx).

In your case you need to install the cab files from the wce500 subdirectory. ( "drive:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices\wce400 or wce500\CPU architecture type").

Although the site https://technet.microsoft.com/en-us/library/ms172361%28v=sql.105%29.aspx states that SQL Server CE runtimes will be deployed automatically, this is not always the case. So best is to manually install the runtimes before running an app that depends on them.

1
votes

C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i

Get the following cab files:

  • sqlce.wce5.armv4i.CAB
  • sqlce.repl.ppc.wce5.armv4i.CAB
  • sqlce.ppc.wce5.armv4i.CAB
  • sqlce.dev.ENU.wce5.armv4i.CAB

Install those onto the Program files directory of your pocket pc. Once they are installed, you will then see a folder called "Microsoft SQL Server Compact Edition". It will have the dlls that your application uses.