lunes, 15 de noviembre de 2010

Cambiar el programa que gestiona un tipo de ficheros desde la línea de comandos

A veces un programa no registra adecuadamente un tipo de ficheros. Por ejemplo, el .tif. ¿Cómo podemos cambiar desde la línea de comandos este programa? ¿Donde podemos verlo en el registro?

Un articulito muy interesante que me ha pasado Chu es el siguiente: http://commandwindows.com/assoc.htm, que describe cómo utilizar los comandos "assoc" y "ftype". Pero en mi caso no parece que funcionen por completo, así que hemos tenido que investigar un poco.

Conclusiones:
  1. El comando "assoc" básicamente realiza cambios sobre HKCR (por lo tanto dentro de HKLM\Software\Classes) y se ha de ejecutar como administrador.
  2. Los cambios que se realizan en HKCR luego pasan a la configuración del usuario (para algunos, como el cambio del icono, hay que cerrar sesión). Las claves interesantes del usuario están en HKCU\Software\Microsoft\Windows\Currentversion\Explorer\FileExts
  3. Unas utilidades interesantes (aparte de regmon.exe de Sysinternals)http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx , las podemos encontrar en http://filext.com/faq/manage_file_extensions.php.
Otro enlace muy interesante relacionado con este tema:

http://social.technet.microsoft.com/Forums/en-US/ITCG/thread/9898f3d7-a1f8-43fc-a958-8674b6e77595/