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:
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
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”
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
- Kit de desarrollo de software (SDK) de Microsoft Sync Framework 2.1
Aqui encontraran tanto para plataformas x86 como x64. - Microsoft Sync Framework 2.1 Redistributable Package
Para las maquinas para realizar el deployment necesitamos los paquetes de redistribución. - Microsoft Sync Framework Forum