¡Hola!

--Antes que nada decir que esta información la encontré en Internet y no es de mi autoria por lo que los creditos van a su creador -Checho-,tras varias actualizaciones de windows 7 me canse de "volver el sistema a un estado anterior" y reinstalar las actualizaciones para volver a poder abrir las carpetas con 2 click como todo cristiano(o no tanto) lo hace,de casualidad encontre este post tras varios intentos fallidos de buscar alguna solucion por papá google y alfinal di con esto,si avos te pasa que haces click en una carpeta que esta por ejemplo dentro de otra carpeta,o haces click en el disco duro y te aparece la bendita frase “Este archivo no tiene ningun programa asociado para ejecutar esta acción. Por favor instale el programa o si lo tiene cree una asociación en el panel de control de programas predeterminados” y si al hacer click derecho te aparece "explorar" como primera opcion y no "abrir" entonces segui leyendo que tenes la solucion asegurada --(fin de mi comentario)

Hay un problema que se ha estado presentando con bastante frecuencia últimamente, y es que al intentar abrir una carpeta ubicada en cualquier directorio obtienen el siguiente mensaje de error:

Error

“Este archivo no tiene ningun programa asociado para ejecutar esta acción. Por favor instale el programa o si lo tiene cree una asociación en el panel de control de programas predeterminados”

El problema como el planteado en el artículo pasado pasa por la asociación de archivos que tiene Windows. Este mensaje es muy similar cuando se pierde la asociación de extensiones de algún ejecutable (.exe, msi) o incluso cualquier otro tipo de archivo que reconozca el sistema operativo.

Puntualmente aquí el problema sólo se presenta abriendo carpetas y no ejecutando algun otro tipo de archivo.

Afortunadamente para mí logré reproducir el problema en un equipo y digo “afortunadamente” porque estos problemas se presentan por lo general porque Windows hace la búsqueda en el registro por la asociación de la extensión o tipo de archivo pero cuando falta o está corrupta obviamente debe informarlo.

Para saber qué está pasando entonces procedí a llamar al mejor recurso que se puede tener con estos inconvenientes, de nuevo Process Monitor!

Recordemos que esta Herramienta de Sysinternals nos ayuda a monitorear todo lo que está pasando a nivel de I/0 en disco, red, registro entre muchas otras y que por supuesto nos dan una gran mano.

Lo que hice (Todavía bastante novato con Sysinternals!) fue hacer un trace en la máquina que tenía el problema abriendo la carpeta y en una máquina donde todo estaba funcionando muy bien, posteriormente guardar el Log y empezar a comparar todas las operaciones que se estaban haciendo para saber cuál era la que invocaba la asociación a las carpetas.

Lo primero que encontré es que se hacían unas llamadas a HKCRDirectory y a varias claves internas pero los resultados tanto en el equipo con el problema (Captura derecha) como el que procedía correctamente (Captura izquierda) eran muy similares.

Seguí buscando minusiosamente descartando operaciones que podía filtrar fuera del problema hasta que encontré otra referencia a HKCRFolder (HKEY_CLASSES_ROOTFolder) y de nuevo a varias claves dentro de esta carpeta, así que de nuevo comparé los resultados de los dos equipos:

Mirando cada línea encontré que la mayoría de los resultados eran de nuevo similares exceptuando uno: HKCRFolderShellOpenCommand

En el Equipo que estaba funcionando entregaba un resultado de SUCCESS:

Pero, en el Equipo que presentaba el error tenía como resultado NAME NOT FOUND:

Cabe aclarar que el resultado NAME NOT FOUND no siempre se refiere a un problema puesto que Windows puede intentar realizar consultas en un registro “padre” y al no tener resultados, pasa a realizar la consulta en un registro “hijo”.

Aquí por supuesto no pasaba esto ya que claramente en la máquina funcional estaba teniendo un resultado de exitoso pero en la otra no podía hacer referencia a la clave.

Decidí entonces ir hasta la llave del registro, desde Process Monitor, para esto basta con hacer clic derecho sobre la llave y seleccionar Jump to…

Como era de esperarse, en el equipo que entregaba un resultado satisfactorio la clave existía y funcionaba:

Al hacer este mismo proceso en el Equipo no funcional encontré que la clave no existía:

La solución…

Windows para el caso de abrir una carpeta, entre muchas operaciones referencia a esta clave para establecer la asociación con Windows Explorer y además para que la ventana sea mostrada en el directorio donde se está ejecutando.

Para solucionar el problema en primera instancia podemos crear nuevamente esta clave y ejecutarla en el equipo que tiene el problema, para eso:

Abrimos un Blog de notas y escribimos lo que indico dentro de estas líneas (Obviamos las líneas horizontales):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTFoldershellopencommand]
"DelegateExecute"="{11dbb47c-a525-400b-9e80-a54615a090c0}"
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,
00,5c,00,45,00,78,00,70,00,6c,00,6f,00,72,00,65,00,72,00,2e,00,65,00,78,00,
65,00,00,00

Hacemos clic en Archivo (File) y Guardar como (Save as).

Le debemos especificar un nombre cualquiera con la extensión .reg, por ejemplo: Command.reg

Ejecutamos el registro, aceptamos las dos ventanas y de nuevo tratamos de abrir la carpeta, y si todo sale bien debería ahora abrir sin problemas:

Si el problema persiste pueden haber otras claves corruptas o perdidas dentro de HKCRFolder o HKCRDirectory.

Para este caso la solución más inmediata sería exportar estas claves desde un equipo funcional y posteriormente importarlas en el equipo que tiene los problemas.

También pueden hacer si desean ustedes mismos el Trace con el Process Monitor!

Para los que puedan ver este artículo buscando solución y la anterior no la proporcionó, les dejo el enlace a mi Skydrive con las dos llaves de Registro (Folder y Directory) para que las descarguen, descompriman y ejecuten para solucionar el problema:

http://cid-69fbd8240f3b536e.office.live.com/self.aspx/Troubleshooting/FixFolderAss.zip