[Sync Framework] COM Exception: Retrieving the COM class factory for component with CLSID {031913FE-EB2A-49F2-B2BE-B996B2448CD4} failed due to the following error: 80040154

Muy largo el titulo! Disculpas. (Pero para el que necesita vendría bien encontrarlo por el titulo como lo queria hacer yo)

Bueno estas cosas hay que publicarlas… tal como viene a la vida y se nos presenta en nuestras pantallas

 

Introducción

Utilizando en un proyecto Microsoft Sync Framework (@syncfx) para utilizarlo en un componente nos descargamos en nuestro equipo de  proyecto el SDK 2.1 (la version 4.0 esta en CTP desde Oct/2010 para los kamikaze), todo bien para el desarrollo en mi SO de 32bits pero cuando alguien en el equipo de desarrollo con un sistema operativo a 64bits lo quiso levantar, nos arrojaba el siguiente mensaje…

 

Mensaje de la excepción:

Retrieving the COM class factory for component with CLSID {031913FE-EB2A-49F2-B2BE-B996B2448CD4} failed due to the following error: 80040154 Clase no registrada (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

Mensaje

Retrieving the COM class factory for component with CLSID {C201C012-C929-4D72-B9C5-341D48630630} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

Imagen de la excepción:

image

Por allí en la InnerException nos tiraba una clave en la Registry dentro de WOW64 (emulación de 32bits dentro del SO de 64bits) entonces buscando algo que me diga que era

Aclaración: en la maquina de SO de 64bits se instalo el SDK 2.1 para su versión 
image

 

Solución

Bueno, es obvia, si el proyecto esta compilado para x86, y los componentes no los tengo instalado los debo instalar en la de 64bit para x86, pero como no lo hicimos así y en el deploy vamos a encontrarnos con maquinas de diferentes plataformas entonces cambiamos la configuración con que se compila a que sea para “Any CPU”

image

Antes… (un poco de historia)

Buscando en los foros de Sync Framework dimos con muchos ejemplos de cuando no existía al versión para 64bits, pero desde la 2.0 la tenemos disponible.
En la lista de discusion de los ejemplos de MS Sync en MSDN Code Gallery encontré también en este pequeño cambio que propusieron.
Antes la única forma era emular en la maquina de 64bits, 32bits (el famoso WOW64)

 

 

Enlaces

Un comentario en “[Sync Framework] COM Exception: Retrieving the COM class factory for component with CLSID {031913FE-EB2A-49F2-B2BE-B996B2448CD4} failed due to the following error: 80040154”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *