February 2008 - Artículos

IntelliSense para XAML en Visual Studio 2008 deja de funcionar tras instalar SDK de Windows Server 2008

El pasado viernes, buscando otra información, me llamó la atención una entrada en los blogs de MSDN. Karin Meier, miembro del equipo responsable del SDK de Windows, informaba de que el IntelliSense para XAML deja de funcionar en Visual Studio 2008 después de instalar el SDK de Windows Server 2008 y .NET Framework 3.5. Esto afectaría, por tanto, al desarrollo de proyectos basados en Windows Presentation Foundation.

Parece que el problema se ha descubierto gracias a las quejas de varios usuarios en los foros de MSDN, y que ya se está trabajando para corregirlo en próximas ediciones del SDK. Mientras tanto, se presentan dos posibles apaños soluciones provisionales:

La entrada del registro afectada es el valor predeterminado de la clave HKEY_CLASSES_ROOT\CLSID\{73B7DC00-F498-4ABD-AB79-D07AFD52F395}\InProcServer32. En condiciones normales y asumiendo un sistema Windows de 32 bits en español anterior a Vista instalado sobre la unidad C:, este valor señalaría al fichero C:\Archivos de programa\Archivos comunes\Microsoft Shared\MsEnv\TextMgrP.dll. En Windows Vista de 32 bits o un sistema Windows anterior en inglés, la ruta sería C:\Program Files\Common Files\Microsoft Shared\MsEnv\TextMgrP.dll.

Podemos reparar la entrada al menos de tres maneras: con el editor del registro Regedit, con la herramienta de línea de comandos Reg (para más información, consultad la sintaxis en la ayuda de Windows o tecleando REG /? en una ventana de símbolo del sistema), o con el siempre socorrido Regsvr32 aplicado a TextMgrP.dll.

Nota: en sistemas Windows de 64 bits conviene emplear las versiones de 32 bits de las herramientas mencionadas desde \Windows\Syswow64 (por ejemplo, el Regsvr32 de 64 bits, en \Windows\System32, no funcionará con TextMgrP.dll, que es un componente de 32 bits). Aparte, el archivo TextMgrP.dll estará alojado físicamente en C:\Archivos de programa (x86)\Archivos comunes\Microsoft Shared\MsEnv (nuevamente, asumiendo instalación de Windows en español anterior a Vista en la unidad C:), o en C:\Program Files (x86)\Common Files\Microsoft Shared\MsEnv si hablamos de Windows Vista o de una versión anterior de Windows en inglés. La redirección del registro y el sistema de archivos que actúa sobre los programas de 32 bits hará el resto.

Microsoft publica las especificaciones de formatos binarios de Office (DOC, XLS, PPT, XLSB, Office Drawing)

Hace unos tres o cuatro años, no recuerdo por qué motivo, Microsoft decidió ofrecer bajo determinadas condiciones legales la documentación de varios formatos binarios de Office. Los interesados debían enviar una solicitud mediante correo electrónico a una dirección específica. El artículo KB840817 documenta el proceso: How to extract information from Office files by using Office file formats and schemas.

Esto ya no es necesario. Tal como anunciaron hace pocas semanas algunos de sus bloggers, Microsoft acaba de publicar las especificaciones de los formatos binarios de documentos de Word, Excel y Powerpoint. Estas especificaciones se ofrecen bajo la Open Specification Promise (promesa de especificación abierta). No me preguntéis qué significa esto porque no alcanzo a comprender todas las implicaciones legales del asunto. Wink

Los formatos binarios documentados son los siguientes:

  • Archivos de Word, versiones 97 a 2007.
  • Archivos de Excel, versiones 97 a 2007.
  • Archivos de PowerPoint, versiones 97 a 2007.
  • Archivos XLSB de Excel 2007.
  • Office Drawing: autoformas y otros elementos gráficos.

Nota: La estructura de un archivo .XLSB está basada en el mismo estilo de empaquetado de XPS y Office Open XML. Sin embargo, las hojas no se almacenan en lenguaje XML, sino en el formato binario nativo de Excel conocido como BIFF (Binary Interchange File Format). Esto presenta ventajas considerables al abrir o guardar hojas de cálculo grandes. Para obtener más información sobre los formatos de archivo que admite Excel en particular, sugiero la entrada All About File Formats del blog del equipo de desarrollo de Excel.

También están disponibles otras especificaciones auxiliares:

  • Archivo compuesto (compound file). La estructura a bajo nivel de los documentos de Word, Excel y Powerpoint en formato antiguo es de este tipo.
  • Metarchivo de Windows (WMF).
  • Serialización de tinta digital.

Nota: un archivo compuesto está formado por uno o más flujos de datos que pueden estar organizados en una jerarquía de contenedores. En cierto modo se comporta como un sistema de archivos virtual. Las API de almacenamiento estructurado de Windows nos permiten trabajar con ellos.

Las especificaciones sólo están disponibles en inglés, naturalmente, y se pueden descargar en formato PDF o XPS desde las siguientes páginas:

Aparte de esto, se ha creado un proyecto en SourceForge con licencia de código abierto similar a la licencia BSD, para la transformación de documentos en formatos antiguos a documentos basados en Office Open XML: Office Binary (doc, xls, ppt) Translator to Open XML. Aún no hay código fuente ni ejecutable, tan solo documentación básica. La primera meta importante del proyecto será la conversión de documentos de Word.

Licencia

El contenido de este blog se ofrece bajo el siguiente tipo de licencia de Creative Commons:

Creative Commons License

Búsqueda

Ir

Sindicación

Notas

  • Se ha deshabilitado el formulario de contacto del blog debido a abusos.

    Por decisión del administrador de Geeks.ms, los visitantes que no inicien sesión (visitantes anónimos) no podrán enviar comentarios a los blogs, para lo cual deberán registrar una cuenta de usuario e identificarse a través de la misma. También pueden usar una identificación de tipo OpenID. Disculpen las molestias que esto pueda causarles.

Acerca de los contenidos

La información ofrecida en este blog se proporciona tal cual, sin garantías de ningún tipo, y no otorga ningún derecho. Usted asume el riesgo de poner en práctica cuantos procedimientos se expongan aquí. En particular, si ha venido buscando alguna solución para una tarea o duda escolar y no le ha servido el contenido, por favor, no me eche la culpa. ;)

Las anotaciones del blog representan una visión válida en el momento en que fueron publicadas o actualizadas. Más allá de esas fechas no se puede garantizar la veracidad de la información expuesta ni la exactitud o fiabilidad de los enlaces.

Los comentarios son responsabilidad exclusiva de sus autores respectivos. El dueño del blog se reserva el derecho de editar, eliminar o no publicar aquellos comentarios que a su criterio infrinjan reglas básicas de respeto y convivencia en la red. En el caso de la edición, se expondrá claramente esta circunstancia y el motivo de la misma. El dueño del blog podrá asimismo borrar los enlaces que se desvíen demasiado de los temas tratados, muestren intenciones de autopromoción (publicidad descarada, spam convencional, etc.) o en general no inspiren confianza. Las direcciones de correo electrónico serán eliminadas o alteradas con el fin de reducir el riesgo de que sean objeto de "cosechadores" para el envío de mensajes basura masivos. El envío de comentarios implica el conocimiento de estas condiciones y la adhesión a las mismas.

Etiquetas

Archivo

Colegas en Geeks.ms

Otros bloggers españoles

Bloggers de Microsoft

Herramientas interesantes

Geeks.ms

Mi blog personal

Webs y comunidades amigas