Checho's Blog

Talking about Windows Internals, Deployment and Troubleshooting

Artículos recientes

News and Awards

Follow me on Twitter and LinkedIn

@secalderonr

View Sergio Calderon's profile on LinkedIn

Recomendados

Tags

Community

Email Notifications

Archives

Mi dilema con la Asociación de iconos en Windows 7 y la gran ayuda de Process Monitor!

Hola!

Bueno, sinceramente no esperaba poder escribir este artículo puesto que pensé que no podría llegar a la solución =)

¡El dilema!

Windows 7 incluye una función que puede ser de mucha utilidad, y se trata de las Herramientas para administrar la asociación que tienen las extensiones de los programas instalados con la respectiva aplicación, básicamente para ayudarnos a decidir qué aplicaciónes utilizar a la hora de abrir algunos tipos de archivos, por ejemplo decidir que todos nuestros archivos de audio con extensión .MP3 se abran con otra aplicación diferente a Media Player.

Para acceder a los Programas Predeterminados, basta con hacer clic en el menú Inicio y seleccionar Programas Predeterminados (Default Programs):

Er1

Desde aquí podremos establecer los Programas predeterminados sea estableciendo la asociación por aplicación o por extensión entre otras herramientas para personalizar la forma en que actúa la reproducción automática entre otros:

Er2

No profundizaré en lo que se hará puesto que no es la intención del Post, pero era necesario porque desde aquí empezó lo que llamé Mi dilema.

Explorando un poco las posibilidades para arreglar la asociación de archivos desde aquí y no tener que ir al registro puesto que es un problema bastante común en los Foros de Answers tenía abierto Live Meeting, Microsoft Lync y Adobe Reader X.

Al estar estableciendo la aplicación inesperadamente el icono que se visualiza en la barra de tareas para estas tres aplicaciones cambió, ahora la visualización parecía como si hubiera perdido esa asociación (La que estaba tratando de ver cómo arreglar!):

Iconc1

Lo primero que hice fue por supuesto tratar de restablecer la asociación haciendo clic derecho sobre el PDF y dentro de las Propiedades clic en el botón Cambiar, y de nuevo seleccioné Adobe Reader x (De hecho ya estaba) pero el “problema” persistía.

Procedí entonces a reasociar la extensión y los iconos creando la llave de registro pero de nuevo no funcionó.

Lo extraño de todo es que las tres aplicaciones (Adobe, Lync y Live Meeting) abrían perfectamente con el programa que administrara esas extensiones, pero el icono no cambiaba, lo que me llevó a pensar que el problema estaba en la asociación del icono como tal al tipo de archivo y no de extensión al programa predeterminado.

Mientras intentaba diferentes métodos me di cuenta de que si yo Anclaba el icono a la barra de tareas y después lo Desanclaba el icono se visualizaba bien, pero al volverle a dar clic derecho de nuevo cambiaba!

Dentro de la desesperación por ver estos iconos que no correspondían, fui hasta una de las carpetas que contenían los archivos propios de la aplicación a buscar posibles respuestas.

En la de Adobe encontré el ejecutable (AcrodRd32.exe), así que lo ejecuté y también se visualizaba mal, sin embargo al hacer clic derecho sobre este y Crear un acceso directo que predeterminadamente lo lleva al Escritorio sorprendentemente al abrir cualquier PDF el icono ahora se veía como debía (Vaya cosa!).

Hasta ahí creí que todo se había solucionado, pero al quitar el acceso directo del escritorio de nuevo el icono se veía mal en la barra de tareas.

Pensé entonces que podía deberse a la Caché de los iconos (Alguna vez me pasó algo similar por este causante en Windows XP) así que fui hasta la carpeta que pertenecía a mi usuario (C:\Users\Checho\AppData\Local) y borré el archivo de base de datos que contiene el caché de los iconos IconCache.db

Con la esperanza de que esto hubiera podido funcionar reinicié el sistema pero al entrar todo seguía igual.

En este punto ya se me habían acabado las ideas para encontrar la solución al problema, obviando la restauración del sistema y la reinstalación de la aplicación que en realidad no me dirían el por qué y sólo lo arreglarían (Se hubiera perdido la gracia!).

Procedí entonces a pedir ayuda, y planteé el inconveniente en los Foros de WinTecnico que dirige Daniel Martín (MVP Windows Expert).

Por supuesto Daniel me ayudó, y además me entregó la pista que en últimas me llevó a la solución y es que en el Registro de Windows dentro de HKCR\.pdf era donde normalmente tomaba el valor para definir el icono predeterminado de la aplicación, pero casi siempre Windows lo toma del Caché que tiene por rendimiento.

El icono lo busca dentro de los componentes que tiene el acceso directo la aplicación, pero además en Windows Installer por ejemplo esta ruta cambiaba y era un poco más difícil de encontrar.

De igual forma volvimos al Caché de iconos (No estaba tan perdido), así que por recomendación de nuevo de Daniel traté de forzar la actualización de este caché cambiando la arquitectura de colores a 16 bits y volviéndolo a 32.

Pero… sin ningún resultado positivo =)

Pensé entonces que para aprovechar y empezar a darle la cara a Sysinternals podría hacer un Trace de lo que pasaba “por debajo” mientras abría alguna de las aplicaciones, así que me fui por la que ya estaba explorando Adobe Reader X.

Para esto llamaría a Process Monitor Smile

¡La gran ayuda de Process Monitor!

Realmente recurrí a esto por última opción, puesto que aunque es el próximo reto, entender y trabajar estas herramientas creo que puede ser algo complejo acostumbrarse.

Explorando un poco los resultados de lo que pasaba en el Registro ví que efectivamente hacía consultas y trabajo con las claves que habían en HKCR\.pdf en otras como HKCU\Software\Classes y HKCR\AcroExch.Document.7

Ic2

Lamentablemente no ví nada muy extraño pero pensé ¿Y si lo comparo con otro equipo que tenga la versión de Adobe Reader, Sistema Operativo y Arquitectura?

Comparé estos resultados con mi Equipo pero la verdad no variaban en casi nada, exceptuando algunas llaves más repartidas durante el Trace que se hacía.

Process Monitor me entrega entre sus miles de funciones la posibilidad de seguir directamente la entrada en el Registro de Windows y ver lo que contiene.

Para esto basta con hacer clic derecho sobre la llave que se desee seguir y seleccionar Jumpt to…

JT

Por esto, mi segundo paso aquí fue Abrir algunas de estas entradas (Empezando por la que debía provenir el icono asociado) y compararlas con el Equipo donde todo se estaba visualizando bien.

En la primera no encontré mayor diferencia, sólo que no estaba creada la carpeta con el nombre del ejecutable “AcrodRd32.exe” en el equipo que se visualizaba mal (Una pequeña esperanza?) así que procedí a crearla y asegurarme de que en los dos estuviera exactamente igual:

Ic3

La entrada en sí era: HKEY_CLASSES_ROOT\.pdf

A pesar de todo, al reiniciar el equipo nuevamente todo seguía viéndose mal…

¿Y la solución?

La segunda entrada y finalmente LA QUE ME CONDUJO A LA SOLUCIÓN fue seguir el registro de HKEY_CLASSES_ROOT\AcroExch.Document.7 en ambos equipos que contenía además una serie de carpetas dentro:

JTT

AE

*Nota: Lo primero que traté de detallar era si había algun tipo de diferencias de nuevo en esta y las otras claves (Incluyendo sus rutas) en los dos equipos, el del problema y el del que me basaría para la solución.

Lamentablemente sin cambios.

Desconozco la función de esta estas entradas, pero me llamó mucho la atención la clave de DefaultIcon ya que según recordé de la ayuda de Daniel este determinaba la famosa ruta del icono que se visualizaría finalmente.

Abrí la clave y para mi sorpresa me encontré algo bastante interesante:

Exp4

Como ven el String creado predeterminadamente “Default” entregaba una ruta que al final se refería a un archivo con extensión .ico (De icono!!):

C:\Windows\Installer\{AC76BA86-7AD7-1033-7B44-AA0000000001}\PDFFile_8.ico,0

Lo primero que me acordé es sobre el tipo de instalador (Windows Installer!) y al parecer ya me iba acercando, lo presentía! :P

Seguí entonces la ruta en los dos Equipos esperando todavía encontrar algo de qué pegarme y que pudiera ser la gran diferencia, para mi sopresa en esta carpeta oculta están todos los iconos que maneja Adobe para los tipos de archivos pero incluyendo (Lo noté de casualidad) el que se ve en la barra de tareas:

Icons

En los dos equipos (Para mi desfortuna) estaban todos exactamente iguales por lo menos en nombres e iconos que se hacían referencia dentro del Registro de Windows, pero (Para mi fortuna!) sí había una diferencia no tan notable:

En el Equipo en que se estaba visualizando mal, al ver la propiedad de cada icono encontré que su aplicación asociada y predeterminada para abrir era Microsoft Paint:

Exp2

Por el contrario, en las mismas propiedades que tenía el Equipo que se visualizaba correctamente el Equipo estaba predeterminadamente el Visor de imágenes de Windows:

Exp6

¡Aquí tenía que estar el problema!

En efecto, lo que hice fue darle al botón Cambiar en el Equipo que estaba predeterminadamente Paint y cambiarlo de nuevo al que debía tener que era el Visor de imágenes de Windows (Windows Photo Viewer)

Exp7

Al aplicar y aceptar me lancé a la prueba (Quizás la que sería la final) y decidí abrir otra vez un documento en PDF y me encontré con la mejor sorpesa de la noche:

Exp5

¡Así es! Todo se había arreglado y ahora el icono había vuelto a su visualización original, y no solo este sino que el de Lync y Office Live Meeting también retornaron al que les correspondía predeterminadamente!

Y así, gracias a molestar tanto, a Daniel Martín y al increible Process Monitor de Sysinternals descubrí qué estaba pasando y arreglé el problema que aunque mínimo me entregó buenas enseñanzas (Que siempre es lo que considero importa) y muchas ganas de explorar más a fondo Sysinternals.

Para finalizar, desconozco y quedo en deuda la razón por la que situando el acceso directo en el escritorio los iconos se visualizaban bien (Si alguien tiene la respuesta lo invito a compartirla para todos!), aunque considero que quizás al estar el acceso directo, la aplicación o el documento estaba buscando directamente en esa ruta.

Para tener en cuenta a la hora de tener problemas:

Foros Microsoft TechNet en Español

Foros Microsoft Answers en Español

WinTecnico – Daniel Martín

Windows Sysinternals – Mark Russinovich

Gracias por tomarsen el tiempo de leer y por supuesto espero si a alguien le pasa lo mismo pueda llegarle a servir!

Saludos,


-Checho-

Posted: 18/1/2011 23:03 por Checho | con 6 comment(s)
Comparte este post:

Comentarios

Checho's Blog ha opinado:

¡Hola! En el que para mi es un formidable espacio de aprendizaje los Foros de TechNet y Answers (MSDN

# January 28, 2011 4:43 AM

Jose ha opinado:

Estuve leyendo tu articulo por que tengo el mismo problema pero con los archivos htm y html, no me muestra el icono del programa con que esta asociado (Firefox) pero los archivos mht que tambien estan asociado a firefox si me los muestra.

Empeze cambiando la asociacion, descargue el programa pero no encuntro la vinculacion que hace el sistema e intente crear las carpetas en el registro pero no hay caso. Alguna sugerencia.

# February 16, 2011 5:28 PM

Checho ha opinado:

Hola Jose,

Con qué imagen te aparece?

Revisa esta clave:

HKEY_CLASSES_ROOT\FirefoxHTML\DefaultIcon

Específicamente la subclave DefaultIcon, debe indicarte una ruta en el sistema.

# February 16, 2011 8:18 PM

Roberto ha opinado:

Gracias, hace tiempo que quería arreglar un problema parecido con el Adobe Reader y con esto me resultó.

# May 2, 2011 4:33 PM

Checho ha opinado:

¡Qué bien Roberto!

Gracias por tu comentario y es un gusto!

# May 2, 2011 9:40 PM

Checho's Blog ha opinado:

Hola, En artículos anteriores ya hemos visto problemas relacionados con Asociación de iconos en Windows

# June 18, 2011 11:13 PM