Configuring Web Synchronization on Windows 2008 64Bit IIS7 for Merge Replication with SQL CE Subscribers

It this post, you will see how to configure Web Synchronization for Merge Replication over Windows 2008 X64, specifically for SQL Compact Subscribers. I will not cover each and every aspect of Web Sync or Merge Replication for SQL Compact.

You could find below a merge of various KB and documentation below:

-KB920700 : An introduction to SQL Server 2005 Compact Edition
-KB942040 : Error message when you try to visit a Web page that is hosted on a computer that is running IIS 7.0: "HTTP Error 404.2 – Not Found"
-KB955966 : SQL Server Compact 3.5 Service Pack 1 Server Tools are not installed in WOW mode when you run IIS 7.0 on a 64-bit Windows Server 2008-based computer
-KB912430: You cannot replicate data from SQL Server 2005 to SQL Server Mobile Edition by using the 64-bit version of IIS

Prerequisites.
a. IIS on your server Windows 2008.

b. One SQL 2005 Instance installed. (You will use this instance to create a sample publication and test it for SQL Compact Subscribers)

c. User understanding on general Web Sync and Merge Replication process.

Step 1. Install the Internet Information Services 6.0 (IIS 6.0) backward compatibility components. To do this, use one of the following procedures:

a.Click Start, click Administrative Tools, and then click Server Manager.

b.In the left navigation pane, expand Roles, right-click Web Server (IIS), and then click Add Role Services.

c.In the Select Role Services pane, scroll down to IIS 6 Management Compatibility.

d.Click to select the following check boxes:
IIS 6 Metabase Compatibility
IIS 6 Management Console
ISAP Extensions
CGI
IIS 7 enable backward compatibility components

e.In the Select Role Services pane, click Next, and then click Install in the Confirm Installations Selections pane.

f.Click Close to exit the Add Role Services Wizard.

Step 2. Start Registry Editor (Start >> Run... >> Regedit). And change the MajorVersion setting to 6 under the following registry subkey:
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\InetStp

Step 3. Install :
- How to: Install SQL Server Replication Components
- Microsoft SQL Server Compact 3.5 Service Pack 2 Server Tools
- Microsoft SQL Server Compact 3.5 Service Pack 2 for Windows Desktop

 

Step 4. After the server tools installation has completed successfully, change the MajorVersion setting to 7 under the following registry subkey:
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\InetStp

Step 5. Check ISAPI or CGI restriction

a.On the taskbar, click Start, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.

b.In the Connections pane, click the server name.

c.In the Home pane, double-click ISAPI and CGI Restrictions.

d.Then check the restriction of sqlcesa35.dll. If not, go in the Actions pane, click Add...

ISAPI CGI restriction

Step 6. Check if the application pool are running in 32Bit

a.On the taskbar, click Start, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.

b.In the Connections pane, click the server name.

c.Then click on Applications Pools

d.Click right on the pool of your website >> Advanced setting

e.And update Enable for 32 Bit application to TRUE.
Enable 32 Bit application IIS 7

Step 7. At this step, it should be work. Go to your website : https://localhost/.../sqlcesa35.dll?. You should get "Microsoft SQL Server Compact Server Agent" or https://localhost/.../sqlcesa35.dll?diag You should get "SQL Server Compact Server Agent Diagnostics"

 

 

Michel Degremont| Microsoft EMEA
Product Support Services Developer -SQL Server Core Engineer |