Answered by:
[Microsoft Sync Framework 2.1]: Retrieving the COM class factory for component with CLSID {EC413D66-6221-4EBB-AC55-4900FB321011} failed

Question
-
Hello.
I get the following error during a synchronization attempt:
"Retrieving the COM class factory for component with CLSID {EC413D66-6221-4EBB-AC55-4900FB321011} failed due to the following error: 8007007e The specified module could not be found. (Exception from HRESULT: 0x8007007E)."
So, I investigated about the component with the above key.
Searching by regedit, I got the following result:
C:\Program Files\Microsoft Sync Framework\2.1\Runtime\x64\Synchronization21.dll
Well, this directory doesn't exist within my system.
I've installed the x64 SDK version of Microsoft Sync Framework on my machine.
Maybe this problem could be solved by installing just the specific redistributable package for the target machine, but I'd like make it work on our developer ones.
Thanks in advance.
EDIT
@Mahesh Dudgikar
My target is "Any CPU" and, honestly, I wouldn't like to change this parameter.- Edited by nic.baldi Friday, May 6, 2011 6:38 AM
Friday, May 6, 2011 6:27 AM
Answers
-
Hi,
If you installed X64 SyncSDK.msi on a X64 machine, you should see the Microsoft Sync Framework assemblies be installed on C:\Program Files\Microsoft Sync Framework\2.1\Runtime\x64. From your case, the installed path is c:\program file (x86). Did you really install SyncFx on a X64 machine? I just tried it, and it is not the expected result.
Thanks,
Dong
This posting is provided AS IS with no warranties, and confers no rights.- Proposed as answer by Dong CaoMicrosoft employee Friday, May 6, 2011 6:47 PM
- Marked as answer by Dong CaoMicrosoft employee Sunday, May 8, 2011 12:43 AM
Friday, May 6, 2011 6:47 PM
All replies
-
What is the target platform for your app? Is it set to x64 or any?
It may help if you target to the platform for which you have installed the components.
I posted this thread earlier which kind of address similar issue.
This posting is provided AS IS with no warranties, and confers no rightsFriday, May 6, 2011 6:31 AM -
Ok, changing target platform in my project didn't solve the problem.
Anyway, it sounds quite strange.
After the installation process for Sync Frwmework SDK (x64), I've the following directories:
C:\Program Files\Microsoft Sync Framework\v1.0
C:\Program Files (x86)\Microsoft Sync Framework\2.1
As you can see, the "x64" directory doesn't provide a folder for 2.1 version of the product, but managed code, through the registry key, is looking for it.
Also, you should notice that the "add references snap-in" of Visual studio refers to the directory "C:\Program Files (x86)\" for product components.
On my x86 machine everything works fine.
Nicola Baldi <% Naighes %>Friday, May 6, 2011 2:20 PM -
try C:\Program Files (x86)\Microsoft SDKs\Microsoft Sync FrameworkFriday, May 6, 2011 2:38 PM
-
Hi,
If you installed X64 SyncSDK.msi on a X64 machine, you should see the Microsoft Sync Framework assemblies be installed on C:\Program Files\Microsoft Sync Framework\2.1\Runtime\x64. From your case, the installed path is c:\program file (x86). Did you really install SyncFx on a X64 machine? I just tried it, and it is not the expected result.
Thanks,
Dong
This posting is provided AS IS with no warranties, and confers no rights.- Proposed as answer by Dong CaoMicrosoft employee Friday, May 6, 2011 6:47 PM
- Marked as answer by Dong CaoMicrosoft employee Sunday, May 8, 2011 12:43 AM
Friday, May 6, 2011 6:47 PM -
All,
I solved the problem by regsvr the 32-bit version of Synchronization21.dll which is not a managed (as i read from some pages)
1- Dowoload 32-bit SDK and save it to C:\temp
2- Open command promot, CD to that directory
3- msiexec /a SyncSDK-v2.1-x86-ENU.msi /qb TARGETDIR=c:\temp\SyncFramework_v21x86
4- regsvr32 C:\Temp\SyncFramework_v21x86\Runtime\x86\Synchronization21.dll
hope it helps.--alex
--alexFriday, May 6, 2011 8:00 PM -
It's a few months now, but I just want to share the neater solution I found:
From the MSF 2.1 SDK download page http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=23217
in the last part where it says instructions:
- It is not possible have full 32-bit Sync Framework 2.1 SDK installed side-by-side with the 64-bit SDK; therefore you will have to install one version of SDK (64-bit) completely and only selected components of other version (32-bit) of SDK. See Sync Framework Tips and Troubleshooting topic for details.
But that statement isn't totally clear: The way to install for 64bit development machine is to download the x64 for the SDK and the fill the x86 parts with the redistributables from http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=19502It works for me at least. Hope it helps.
Jake See PS: Lol.. I just broke the forum layout? Sorry Microsoft!- Edited by JakeSee Tuesday, December 6, 2011 2:17 AM
Tuesday, December 6, 2011 2:15 AM - It is not possible have full 32-bit Sync Framework 2.1 SDK installed side-by-side with the 64-bit SDK; therefore you will have to install one version of SDK (64-bit) completely and only selected components of other version (32-bit) of SDK. See Sync Framework Tips and Troubleshooting topic for details.
-
Thanks AWong5 this works. Only a small info i need to add to above steps is "Make sure you are running the command prompt in Administrator mode"
-Thanks TJ
Friday, May 24, 2013 7:00 PM