locked
Microsoft Sync Framework and versions RRS feed

  • Question

  • Hi,

     

    Could someone clarify current status of different versions of MS Sync components?

     

    If I understand right now (29-11-2007) situation looks like;

     

    Sync Services v1 is RTM:

    - works with SQL CE 3.5 (3.5.5386.0)

    - has Sync Srv for ADO.NET v1:

        - M.S.Data.dll - 1.0.0.0

        - M.S.Data.Server.dll - 1.0.0.0

        - M.S.Data.SqlServerCedll - 3.5.5386.0

    - can be downloaded from http://www.microsoft.com/downloads/details.aspx?FamilyID=7849b34f-67ab-481f-a5a5-4990597b0297

    - published: 25-11-2007

     

    Sync Services CTP1

    - works with SQL CE 3.5 Beta2 (???)

    - has Microsoft Sync Framework CTP1 published 4-11-2007

        - install files not only to "Microsoft Synchronization Services" folder in Program Files

        - can be downloaded from http://www.microsoft.com/downloads/details.aspx?familyid=35E8F16E-AAA4-4919-8B3C-1CE4EA1F6552

    - has Microsoft Synchronization Services for ADO.NET v2.0 CTP1 published 4-11-2007

        - install files not only to "Microsoft Synchronization Services" folder in Program Files (???)

        - can be downloaded from http://www.microsoft.com/downloads/details.aspx?familyid=147c41a9-69f0-496e-b095-dbc5cffd6285

    - will not work with SQL CE 3.5 RTM

     

     

    If my understanding is correct then:

    - to work with RTM SQL 3.5 CE Sync Services v1 RTM is required.

    - there is no ADO.NET v2 for RTM (3.5.5386.0)

     

    When ADO.NET v2 for RTM SQL 3.5 CE will be available?

     

    Regards,

    Wojciech Gebczyk

    • Moved by Max Wang_1983 Friday, April 22, 2011 9:28 PM forum consolidation (From:SyncFx - Microsoft Sync Framework Database Providers [ReadOnly])
    Thursday, November 29, 2007 12:30 PM

Answers

  • Wojciech,

     

    Actually, the machine I use to develop these samples did only have the Beta 2.0 version and before that Beta 1 and CTP1. I try to do what any developer would do to try the sync runtime. I usually uninstall old bits then install the new ones. On my box, I see that all the dlls points to the assembly cache except the SqlCe client dll.

     

    To answer you questions:

    - Samples should run on clean RTM.

    - No. It should just work.

     

    - For v1, the runtime + client and server providers releases with SqlCe v3.5. This version RTM with VS 2008.

    Microsoft Sync Framework is the full blown sync framework that includes Sync Services for Files and for ADO.NET. The Sync Services for ADO.NET is the same as v1 with minor changes in some names to align better with the rest of the framework. It also has been extended to cover peer to peer sync scenarios.

     

    - V1 of sync services for ADO.NET final bits has been released. The Microsoft Sync Framework is in CTP1 which means it is subject to change considerably prior to the RTM. Beta is more mature version.

     

    Thanks

     

    Wednesday, December 5, 2007 4:16 AM

All replies

  • Hi Wojciech,

     

    Sync Services for ADO.NET v1 and v2 should work with SQL CE 3.5 RTM. If you have any issues, then let me know. It could be a bug. In fact CTP1 of sync services does NOT work with SQL CE 3.5 beta.

     

    One more thing to note here is that Sync Services v1 and v2 can be installed side by side, you don't need to uninstall one to have the other.

     

    Thanks

     

    Thursday, November 29, 2007 4:56 PM
  • Hi Rafik,


    I was working with Beta2 (for ADO.NET v1) successfully but after switching to RTM following happened:

    - upgrade (uninstall Beta2 and install RTM) resulted in not working application - (for ADO.NET v1)

    - installation on clean machine allowed app to work (for ADO.NET v1) - because of this I decied to copy all wrorking dlls and not depend on current installation.

     

    I’ve downloaded your sample IV:

    - link: http://www.syncguru.com/downloads/OfflineAppDemo-ConflictsV1.4.zip

    If I look at OfflineAppDemo-Conflicts.csproj file then I can observe following things:

    -          files : Microsoft.Synchronization.Data.dll and Microsoft.Synchronization.Data.Server.dll have different HintPath than Microsoft.Synchronization.Data.SqlServerCe.dll

    -          sql server ce dll is taken from folder C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\System.Data.SqlServerCe.dll – this were true for Beta2 (if I correctly recall it) but for RTM it’s located in sub dir Desktop

     

    I know that it is possible to have such strange structure and still be correct but it rather seems that you have installed multiple versions and/or created them manually.

    So there are questions:

    - Your samples moved to RTM can run on what kind of installations?

    - Beta2 + RTM

    - Clean RTM?

    - RTM + Beta 2 of ADO.NET v2? (setup have inside runtime of beta2 if I remember)

    - As you dir structure from csproj file suggest, additional steps should be performed befor Synch (RTM, ADO v1 and v2) can be used?

     

    Still I want to understand following things:

    - what components has been released and what is relation between them? (runtime, services, ... for ADO, ect)

    - what version will work with what version for each component

    - clear distinction between different verion naming (CTP, CTP1, Beta2, RTM, v1, V2, ect)

     

    Honestly ADO.NET v2 for RTM is required to cleanup current mess with file versions.

     

    Thanks!

    Wojciech Gebczyk

    Tuesday, December 4, 2007 9:03 AM
  • Wojciech,

     

    Actually, the machine I use to develop these samples did only have the Beta 2.0 version and before that Beta 1 and CTP1. I try to do what any developer would do to try the sync runtime. I usually uninstall old bits then install the new ones. On my box, I see that all the dlls points to the assembly cache except the SqlCe client dll.

     

    To answer you questions:

    - Samples should run on clean RTM.

    - No. It should just work.

     

    - For v1, the runtime + client and server providers releases with SqlCe v3.5. This version RTM with VS 2008.

    Microsoft Sync Framework is the full blown sync framework that includes Sync Services for Files and for ADO.NET. The Sync Services for ADO.NET is the same as v1 with minor changes in some names to align better with the rest of the framework. It also has been extended to cover peer to peer sync scenarios.

     

    - V1 of sync services for ADO.NET final bits has been released. The Microsoft Sync Framework is in CTP1 which means it is subject to change considerably prior to the RTM. Beta is more mature version.

     

    Thanks

     

    Wednesday, December 5, 2007 4:16 AM
  • Rafik,

     

    Thanks for your answers. It explained me a bit situation.

     

    I have some questions sligthly off-topic, but I don't want to create new threads for them:

     

    1. It would be nice to have OnSthg methods to be called regardless of registreed listeners to events. In my scneario I have inherited Providers and agent types but On*** are not called because nothing is assigned/registered to Events. Could you follow this same pattern as in rest of framework?

     

    2. Some time ago I' had Beta2 then installed RTM of VS and then I tried to install Beta2/CTP things partially. It seems that somewhere during thos install/uninstall SqlServer CE has left from Beta2. Could you verity installers or provide some cleaning tool/checklist?

     

    3. If I install MS Sync Services for ADO.NET v2.0 Beta (MSF Services 2.0 Beta - v.2.0.1050.94) it place pfiles into "Microsoft Sync Framework" instead in "Microsoft Synchronization Services". Maybe it should be placed in this same dir? With current approach it becomes a bit messy in Program files folder.

     

    4. After installation of MSF Services 2.0 Beta - v.2.0.1050.94 - it place 4 dlls in Microsoft Sync Framework\v1.0\Runtime\ADO.NET\V2.0\x86 folder (all have 2.0.1050.94 version number):

    - Microsoft.Synchronization.Data.dll

    - Microsoft.Synchronization.Data.Peer.dll

    - Microsoft.Synchronization.Data.Server.dll

    - Microsoft.Synchronization.Data.SqlServerCe.dll

    If I look at dependecies of those dlls then I have:

    - Microsoft.Synchronization.Data.dll (2.0.0.0)

        = .assembly extern Microsoft.Synchronization
           {
             .publickeytoken = (89 84 5D CD 80 80 CC 91 )
             .ver 0:94:0:0
           }


    so I have to install MSF Runtime 1.0 Beta- v.0.94.1050.94. After this I have Microsoft.Synchronization.dll (.ver 0:94:0:0) with following metadata:

    .assembly extern Microsoft.Synchronization.Data
    {
      .publickeytoken = (89 84 5D CD 80 80 CC 91 )
      .ver 2:0:0:0
    }

    Questions:

    - How to create such circular dependency of dlls? And more important why you have created such strnge thing?

    - Why not include all connected files in one installation?

    - If I have RTM installed with VS 2008 RTM what should be installed to use successfully "... for ADO.NET v2"?

     

    Regards,

    v

    PS: Generally I want to focus on findng bugs in my code not in installation/dependecies.

    Wednesday, December 5, 2007 9:15 AM