TIP: Instalar cualquier SDK de Windows CE 5.0 en Vista
Publicado
25/6/2007 16:11
por
Rafael Ontivero
Justo esta mañana me he dado en los dientes con una piedra bien gorda. De nuevo vuelvo a la zanja del Windows CE 5.0 (mis primeras entradas en esta bitácora tienen algunas entradas sobre él), para actualizar algunas cosillas antiguas y certificar nuestros productos para cierta placa que corre una versión muy modificada de dicho sistema operativo (tan modificada que se ha sustituido el GDI por uno propio, se ha eliminado casi todo el USER.DLL, y el arranque es completamente nuevo –y diferente). Está tan modificado y recortado que mientras una imagen más o menos normal suele ocupar unos 14 MBbyte, la nuestra con lo necesario para depurar ocupa 2.4 MByte y la final se puede reducir hasta 1 MByte.
Como dice mi jefe, "hacer los drivers" para nuestros productos. Y como digo yo, "hacer un par de ficheros .cpp y .h" con el funcionamiento de cada uno de nuestros productos y entregarlos en código fuente.
Pero la primera en la boca: Visual Studio 2005 bajo Vista se niega a conectarse con la placa a través de Ethernet (Hace como un siglo que ya no lo hacemos mediante ActiveSync y/o RS-232 –Demasiado lento). Bajo Windows XP sí que se conecta sin problemas.
Luego la segunda: No se puede instalar el SDK construido con el Platform Builder 5. Bueno, sí se instala pero como si no lo hiciera, ya que el Visual Studio no da la opción para crear/manejar proyectos que correspondan al SDK instalado.
Solucionar la primera ha sido relativamente sencillo. Se cogen los ficheros existentes en "%ProgramFiles%\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\<micro> dentro del ordenador que está ejecutando Windows Vista y Visual Studio 2005 con el parche para Vista.
Como para disponer de un sistema de conexión via Ethernet con el Visual Studio 2005 es necesario ejecutar esos ficheros de forma remota, en nuestro caso hemos modificado el proceso de construir la BSP (el NK.BIN que contiene el sistema operativo que luego se grabará en el aparato de destino) para que integre dichos ficheros.
Es por ello por lo que hay que copiarlos al lugar de donde quiera que los coja el Platform Builder para generar la imagen. En mi caso se trata de una máquina virtual, ya que ni el Vista ni el XP se llevan muy bien con el PB5.
Repetir este paso me ha servido también para actualizar a Mayo del 2007 los parches del CE y del Platform Builder (la última fue en Enero del corriente).
Primera solución: tomando dichos ficheros e integrándolos dentro de la imagen binaria en el mismo lugar que antes integraba los del Visual Studio 2005 SP1 ejecutando sobre XP ya puedo conectar desde Windows Vista.
La segunda ha sido un poco más delicada, pero de momento está funcionando bien. Al parecer si se tiene activado el UAC hay un script dentro del instalador del SDK que falla sin avisar y que no registra el nuevo SDK instalado. Y no vale ejecutarlo como administrador.
La solución es sencilla, y tras una navegación (y gracias a Tío Google) más o menos infructuosa uno de los chicos de Microsoft nos da la solución, no sólo la que me ha funcionado a mí, sino otras muchas soluciones a problemas con Windows Vista y Windows CE 5.0. La entrada es esta. No tiene que ver exactamente con lo que estoy hablando, pero dado que Windows Mobile 5.0 no es más que un Windows CE 5.0 muy modificado (justo como el mío, pero en sentido opuesto), sirven para cualquier SDK.
Segunda solución: desactivar el UAC, reiniciar Windows, instalar el SDK y volver a activar el UAC.