CiaranB


I have a Symbol MK1200 device (Intel XScale processor) running CE.NET 4.2 and when I try
to reference any SQL objects I get the error:

Can't find PInvoke DLL 'sqlceme30.dll'

The documentation says that Compact Edition is supported on CE.NET 4.2,
(ms-help://MS.SSCE.v31.EN/ssmmain3/html/ee220634-55c9-4123-85c4-4e6ceb07f942.htm)
but I came across a hotfix (http://support.microsoft.com/kb/924811/) which
contradicts this and says CE.NET 4.2 is not supported by default.

Can someone clarify this for me I know that VS.NET 2005 doesn't support debugging of CF 2.0
apps to CE.NET 4.2 devices but I thought I could manully deploy a CF 2.0 SP1 application with SQL
Compact Edition (although I'm still not sure whether I need the hotfix)

Either way I've been playing around and here is what I found ...

1. I installed CF 2.0 SP1 and verified a simple 'Hello World' application could deploy. All worked ok.
2. I downloaded & installed the SQL Compact Edition CABs on the device manually from
'SmartDevices\SDK\SQL Server\Mobile\v3.0\wce400\armv4'.
I opened Query Analyzer on the device and it worked i.e. I could open a database, run query, etc.
3. I modified my application with the following sample code:

try
{
SqlCeCommand sqlCmd = new SqlCeCommand();
}
catch (Exception exception)
{
MessageBox.Show(exception.ToString());
}

Once again, just deploying (not debugging) the app. and got the error above 'Can't find PInvoke DLL 'sqlceme30.dll'

4. I installled the HotFix from http://support.microsoft.com/kb/924811/, now Query Anaylzer did not work even though it did work pre-hotfix install, and I'm still getting the same error when I test my code.

Can anyone shed any light on this It's driving me up the wall ;o)




Re: Help - Can't get Compact Edition to work with CE.NET 4.2 !

ErikEJ


1. Please check that sqlceme.dll is installed (in the \Windows folder on the device).
2. If that is the case, check that you have enough memory available (stop all other running programs).
3. Make sure only the 3 hotfix cabs are installed (and not the SQL Mobile 3.0 cabs) - you could do a hard reset just to be sure.







Re: Help - Can't get Compact Edition to work with CE.NET 4.2 !

CiaranB

Hi ErikEJ,

Thanks for the mail. Unfortunately it didn't solve the problem. Here is what I did:

1. Hard Reset the Device
2. Installed the CF 2.0 SP1
3. Installed the SQL Server 2005 HotFix Cabs (see Note below) obtained from Microsoft:
- sqlce30.wce4.armv4i
- sqlce30.repl.wce4.armv4i
- sqlce30.dev.enu.wce4.armv4i
4. Confirmed that the following SQL Files were in the \Windows Folder:
sqlceca30.dll, sqlcecompact30.dll, sqlceer30EN.dll, sqlceme30.dll, sqlceoledb30.dll, sqlceqp30.dll, sqlcese30.dll
5. Confirmed that my sample app references the SQLServerCe Dll:
C:\Program Files\Microsoft SQL Server 2005 Mobile Edition\Device\Mobile\v3.0\System.Data.SqlServerCe.dll
Version: 3.0.3600.0

Note: I e-mailed Microsoft re: KB article 924811 as the it seemed a bit misleading. My question was "Is
SQL Server 2005 Compact Edition support on CE.NET 4.2". The first e-mail was response was

"The current KB article applies to SQL Server 2005 Mobile Edition. It is being updated to reflect the correct information. SQL Server Compact Edition bits are not yet publicly available for Win CE .NET 4.2 devices. However, you may contact MS Tech support with details on your device spec (cpu type) and they can submit a request for you."

Shortly after I got a second different response:
" Yes, we support SQL Server Compact Edition for CE.Net 4.2. Currently it is released as a hot fix, you need to contact PSS to get the drop locations. As you mentioned the KB article title is very misleading. Actually the KB article is to fix the support for Win CE 4.2. We will change the title of the KB article."

Anyone got any ideas on this one







Re: Help - Can't get Compact Edition to work with CE.NET 4.2 !

Ilya Tumanov

And your CE 4.2 OS includes all the dependencies required by SQL CE 3.x, it that right






Re: Help - Can't get Compact Edition to work with CE.NET 4.2 !

CiaranB

Hi Ilya,

I'm not sure what you mean by this The OS is CE.NET 4.2 and I've installed the CF 2.0 SP1 and
I've tried to install (seperately) SQL Server 2005 Mobile Edition, SQL Server 2005 Compact
Edition and the HotFix. What other dependencies are required





Re: Help - Can't get Compact Edition to work with CE.NET 4.2 !

Ilya Tumanov

Unlike desktop Windows (or Windows Mobile for that matter) Windows CE is a modular OS, it consists of literally hundreds of small pieces which are selected and combined together by device OEM to produce OS for particular needs.

For example CE device which is intended to be mounted inside industrial air conditioner does not need graphics support - it has no screen so why waste ROM on it So OEM would build so called "headless" OS image for that. Obviously applications which are using anythig related to GUI won't run on such device because there's a dependency missing in the OS (GUI in this case). Same is true for all other applications - whatever they are using needs to be in the OS or they won't run.

SQL CE you've got is compatible with CE 4.2 in general but it can't run on just any CE 4.2 device. It would only run on images which include all dependencies required by SQL CE. If you not sure about included dependencies, go ahead and contact device OEM for help on this.