views:

644

answers:

3

Hello, I am new in mobile deployment.I am working on standard mobile .I am getting this error when i deploy my application on real device.

"   Can't find PInvoke DLL 'sqlceme30.dll'  ".

could any one help me??? thx in advance.. Regards Pankaj Pareek

+1  A: 

The file sqlceme30.dll is part of SQL Server Compact Edition, which I would assume you are using in your mobile app.

Are you including the proper SQL Server CE dlls in your cab? You might need to add these manually depending on how you create your installer. You need to bundle more than just the System.Data.SqlServerCe.dll file. Here is a link that walks you through the steps to deploy an app using SQL Server CE 3.5: MSDN: How to: Deploy a SQL Server Compact 3.5 Database with an Application

I would also recommend upgrading to SQL Server Compact Edition 3.5 SP1 if you can. You are currently using 3.0. The performance is a little better and the run time is a tiny bit smaller.

If this doesn't help, please include more details as to how you are using the SQL Server CE, and how you are deploying your mobile app.

Joe Doyle
A: 

It looks like you haven't installed SQL Server CE on your device. By default, when debugging in Visual Studio it will copy and install the right DLLs automatically when you start to debug the application. But on a real device you have to this yourself (or include the correct DLLs inside your application's CAB). Have a look at the link Joe Doyle posted to see how to do this.

tomlog
A: 

Take a look at this blog post http://blogs.msdn.com/sqlservercompact/archive/2007/10/26/can-t-find-p-invoke-dll-sqlcemenn-dll.aspx. Try copying and installing manually those files on your device:

sqlce30.dev.ENU.phone.wce5.armv4i.CAB 
sqlce30.phone.wce5.armv4i.CAB 
sqlce30.repl.phone.wce5.armv4i.CAB
Gordon Freeman