So now that I've found SQLCE and know which version I have, what can I do with it besides use the ADO.NET and OLE DB APIs? Well, turns out I need some auxiliary pieces. If you use 3.0, the pieces "come with", but when you upgrade to 3.1, you need to upgrade these.
I must admin I found this somewhat confusing, probably because I "started from scratch" and also wanted to use 3.1. I had to intall some pieces before it would "recognize" others. For example, unless you have the Windows Mobile dev tools installed, the 3.1 VS tools won't install. And after installing the Windows Mobile dev tools on VS SP1, I had to install VS SP1 again. And none of these installs made the "Configure Web Synchronization Wizard" app available until I installed the Server Tools.
This turns out to be more important than you might think. For example, the GUI DLLs are used to CREATE the database itself. I've not yet investigated if there is a flie format difference in different SQLCE versions, as there is with different SQL Server versions. Or how/when SQLCE database files with data are upgraded. And using the 3.1-specific features, that is the |Data Directory| connection string directive, and Click-Once deployment support require the updated version of the dev tools. When you install SQL Server 2005 SP2, your bits are updated, but these are a subset of the bits you use for development in VS.
Here's the list of additional bits (most are 3.1 updates) I came up with, along with some terse notes:
— Server Tools (SQLCE30setupen – localized)
Updates IIS to support connectivity solutions (Merge Repl)
Special considerations for IIS 7.0 (IIS on Vista)
No need if SQL Server and IIS on same machine
These are not updated for SQLCE 3.1
Includes Configure Web Synchronization Wizard app
— Tools for VS2005 SP1 (SSCE31VSTools)
Requires installating VS2005 SP1 first
Adds Click Once Support for SQLCE 3.1
Updates design-time UI to work with SQLCE 3.1
Adds 3.1 device cab files
Requires VS WindowsMobile dev tools install
If VS not upgraded to SP1, uses SQLCE 3.0 design time UI
— Developer SDK (SSCE31SDK)
Cab files for devices
MSI for desktop and tablet PC editions
Header files
MSI for Compact Edition help files
Northwind sample app
— Books Online (SSCE31BOL)
— SQL Server 2005 Compact Edition Access Database Synchronizer
Supports Access 2000 SP3, 2002 SP3, 2003 SP2, 2007
Not sure if this supports 3.0, 3.1 or both
Runs as a service, Uses RDA access and HTTP transport.
Requires Active Sync 4.0 or later
— SQL Server 2005 Sync Services CTP
Installs 3.5 side-by-side, but no new device support yet
Installs new ADO.NET-based sync
Included with Orcas B1, works with VS2005 also
There is a separate documentation and demos download
I'll only be using 3.1 and above because (blush) I don't have a compact device except for the emulator in Visual Studio. So I'm working desktop and emulator only for now.
Next: Newest stuff