Microsoft SQL Server 2005 Compact Edition (version 3.1) and SQL Server Compact 3.5 can be installed side-by-side on a desktop computer or mobile device. SQL Server 2005 Mobile Edition (version 3.0) cannot be installed side-by-side with either version 3.1 or 3.5.

Consider the following as you work with various versions of SQL Server Compact.

  • SQL Server 2005 Compact Edition (version 3.1) and SQL Server Compact 3.5 are deployed in different directories on a desktop and a device:

    • Desktop

      %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.1

      %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5

    • Device

      \Windows%Program Files%\Microsoft SQL Server Compact Edition\v3.5

  • SQL Server 2005 Compact Edition (version 3.1) and SQL Server Compact 3.5 have unique entries for the managed providers in the global assembly cache (GAC), and for the native DLLs in the registry.

    You must have Administrator rights on the computer to do the following:

    • Add the managed providers of SQL Server 2005 Compact Edition (version 3.1) and SQL Server Compact 3.5 to the global assembly cache and SQL Server Compact 3.5.

    • Register the native DLLs of both versions.

  • On desktop computers, a single process can load the DLLs for SQL Server Compact 3.5 and SQL Server 2005 Compact Edition in the memory.

  • Development support for the different versions is as follows:

    • Visual Studio 2005 SP1 supports the development and deployment of SQL Server 2005 Compact Edition (version 3.1) applications on a computer or a mobile device.

    • Visual Studio 2008 and later versions of Visual Studio support development and deployment of SQL Server Compact 3.5 applications on computers. Starting with SQL Server Compact 3.5 Service Pack 2 (SP2), Visual Studio 2010 is the preferred version for developing SQL Server Compact 3.5 applications on computers. This is because new development features, such as Transact-SQL Editor support for SQL Server Compact databases, are only available in Visual Studio 2010. Visual Studio 2008 and later versions of Visual Studio do not support developing and deploying SQL Server 2005 Compact Edition (version 3.1) applications.

    • Visual Studio 2008 SP1 supports development and deployment of SQL Server Compact 3.5 applications on mobile devices. Development for smart devices (mobile devices) is not supported in Visual Studio 2010.

    • A SQL Server 2005 Compact Edition (version 3.1) project in Visual Studio 2005 SP1 will be upgraded if the project is opened in Visual Studio 2008 or later versions of Visual Studio. After the project has been upgraded, it cannot be reverted to a Visual Studio 2005 SP1 or SQL Server 2005 Compact Edition (version 3.1) project.

  • The side-by-side experience of SQL Server 2005 Compact Edition (version 3.1) and SQL Server Compact 3.5 database file (.sdf) is as follows:

    • If you try to open database files created by earlier versions, SQL Server Compact 3.5 will give you a message that the file cannot be opened. To open it, the database file first must be upgraded by using the Upgrade to SQL Server Compact 3.5 dialog box in Visual Studio 2008. To access the Upgrade to SQL Server Compact 3.5 dialog box, click Data, click Add New Data Source, and then click Add Connection. If an earlier version of the database file is opened, you receive a message. If you select OK, the Upgrade to SQL Server Compact 3.5 dialog box appears. The file name extension of SQL Server Compact 3.5 is *.sdf, which is the same as the earlier versions (SQL Server 2005 Compact Edition and SQL Server 2005 Mobile Edition). When a database file is upgraded to SQL Server Compact 3.5, you will no longer be able to open the database file by using the earlier versions of the SQL Server Compact engine.
  • SQL Server Compact 3.5 SP2 Server Tools cannot be installed side-by-side with the earlier versions of Server Tools on the computer that is running the IIS server. SQL Server Compact 3.5 SP2 Server Tools can be downloaded from the Microsoft Download Center. SQL Server Compact 3.5 SP2 Server Tools can replicate data between SQL Server Compact 3.5 and SQL Server 2005, SQL Server 2008, or SQL Server 2008 R2. SQL Server Compact 3.5 SP2 Server Tools also supports data replication between SQL Server 2005 Compact Edition or SQL Server 2005 Mobile Edition and SQL Server 2005 and later versions.