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

Lanzando mi primera aplicación utilizando la API de Windows destinada a reparar asociación de Carpetas y Directorios: FixAss®

image

Hola a todos,

Desde hace un tiempo me ha dado bastante curiosidad por empezar a conocer sobre este fantástico mundo de Windows Internals y a partir de su gran libro empecé a investigar y a utilizar las herramientas de Sysinternals que, afortunádamente me han traido aprendizaje y muchísima ayuda con varios problemas de Windows que para mi suerte puedo ver y seguir en los Foros de Microsoft TechNet y Answers.

Uno de los problemas más comunes que pude encontrar solución gracias  Process Monitor específicamente es el que está relacionado a la Asociación de Carpetas y Directorios de Windows que, al perderse o dañarse generan el siguiente mensaje de error:

image

“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”

Este problema está documentado aquí en el blog en un Artículo destinado para él en el que además pongo a disposición los archivos de Registro para su solución.

Decidí empezar a entrar un poco más en WinInternals interactuando y empezando a conocer sobre la API de Windows y las funciones para el Registro existentes y qué mejor forma que hacer un desarrollo?

Por tanto aproveché el problema descrito anteriormente y creé FixAss®, una miniaplicación destinada a solucionar el problema de Asociación de Carpetas y Directorios automáticamente al ser ejecutada.

¿Cómo funciona FixAss®?

Es una miniaplicación desarrollada en Visual C++ que hace uso de las funciones para trabajar con el Registro RegCreateKeyEx y RegSetValueEx de la API de Win32

FixAss® utiliza la función de RegCreateKeyEx para generar todas las llaves y subllaves de Registros que representan el trabajo y la asociación de Carpetas y Directorios de Windows en las rama de HKEY_CLASSES_ROOT\Folder y HKEY_CLASSES_ROOT\Directory mientras que la función RegSetValueEx establece sus respectivas claves y valores predeterminados.

Siempre se sobreescribirán los valores y llaves actuales por lo que podría reparar el daño de asociación en cualquier llave o clave implicada.

Como se debe escribir sobre una rama de Registro que requiere privilegios, FixAss® tiene un Manifiesto embebido para solicitar la elevación de privilegios al momento de ejecutarlo con UAC activado:

image

Al aceptar, se elevará el token y se escribirán las claves y llaves necesarias y a continuación se mostrará una pequeña ventana que confirma la operación realizada:

image

Descarga

La descarga de FixAss® es completamente gratuita y la pueden hacer desde aquí:

*Nota: Deben descargar y descomprimir antes de poder ejecutar.

*Importante:
La aplicación está en su versión 1.0, y puede sufrir cambios dependiendo del funcionamiento que tenga con las personas que intenten reparar el problema ejecutándola.

Estará disponible también en el Artículo orginal del problema para los que deseen bajarla o quieran seguir ejecutando las llaves de registro manualmente.

Quiero agradecer especialmente a Daniel Martín (MVP) por toda la ayuda que me brindó, y además agradezco y son bienvenidos todos los comentarios y retroalimentación que me puedan entregar! =)

Saludos,


Checho

Posted: 2/5/2011 16:14 por Checho | con 4 comment(s) |
Comparte este post:

Comentarios

Ramón Sola ha opinado:

¡Muy buena iniciativa! Si tuviera que poner alguna objeción sería por el nombre, ya que "ass" en inglés no suena muy bien. ;-)

# May 3, 2011 12:38 AM

Checho ha opinado:

Jeje, gracias por el comentario Ramón!

Y créeme que pensé en el nombre pero no quise poner uno muy largo =)

# May 3, 2011 5:11 AM

Daniel ha opinado:

Podrias mencionar el nombre del libro :)

# May 4, 2011 11:52 PM

Checho ha opinado:

¡Claro que sí!

Windows Internals 5th :-)

# May 5, 2011 6:11 AM