Monday, November 11, 2013

SQL Server Compact breaks when upgrading from Windows 8 to Windows 8.1

Symptoms

1: The SQL Server Compact Toolbox now longer works after upgrading to Windows 8.1

2: Entity Framework based SQL Server Compact solutions no longer work after upgrading to Windows 8.1

Issue

When upgrading a machine that already has SQL Server Compact 3.5 SP2 and/or 4.0 installed, the DbProvider registration, which is stored in machine.config is broken, probably due to the fact, that a newer version of .NET Framework is installed (version 4.5.1) which simply overwrites the existing maching.config file. Both the SQL Server Compact Toolbox and Entity Framework depend on this registration.

Fix

The fix is to repair/re-install SQL Server Compact 3.5 SP2 and/or 4.0 SP1, both versions are fully supported on Windows 8.1/Windows Server 2012 R2.

You can download 3.5 SP2 from here: http://www.microsoft.com/en-us/download/details.aspx?id=5783

You can download 4.0 SP1 from here: http://www.microsoft.com/en-us/download/details.aspx?id=30709

3 comments:

A Wieser said...

Good find Erik! I hadn't noticed a problem with 3.5 after the upgrade, but I'm not sure I've actually tested my apps that use it and the Entity Framework.

That's one more thing to do!

Unknown said...

I am very glad for this post because when I looked at the system requirements for SSCE, Microsoft doesn't even list Windows 8 in their own list of compatible OSs, and I was seriously wondering whether it was worth installing it.

ErikEJ said...

That is not true, see http://support.microsoft.com/kb/2681562

The following versions are supported in Windows 8.1, Windows 8, Windows Server 2012, and Windows 2012 environments:•SQL Server Compact 3.5 Service Pack 2 and later versions
•SQL Server Compact 4.0 and later versions

Note No support is planned for Windows RT devices.