El problema que ocurría era que aparecía el siguiente error al tratar de abrir el Reproductor de Windows Media:

Tengo constancia de que tres son las DLLs que, estando incorrectamente registradas, producen el error descrito:
- Jscript.dll
- Vbscript.dll
- Wmp.dll
El registro de las dos primeras se realizó correctamente; pero la tercera se resistía, aparecía el error 0x8002801c, mostrado a continuación:
Vaya, un código de error no muy común, ¿qué "tripa" se le habrá roto a Windows?
Para conocer a fondo el motivo le pedí al usuario el reporte generado por Dependency Walker (www.dependencywalker.com), una pequeña aplicación muy útil para examinar dependencias de archivos. El reporte de Dependency Walker ofrecía algo de luz sobre el asunto en su última línea:
Exited "REGSVR32.EXE" (process 0x85C) with code 5 (0x5).
El código 0x5 significa "Acceso denegado", pero aparentemente ningún archivo exhibía ese código de error en el reporte de Dependency Walker. El problema quizá estuviera en el Registro.
Regmon es una utilidad de Sysinternals (www.sysinternals.com) capaz de monitorizar todos los accesos al Registro, así que le pedí al usuario el fichero LOG que generó Regmon en su sistema mientras procedía con el registro de la DLL. Presto me dispuse a cargar el reporte en Regmon (es bastante arduo leerlo en texto plano en el Bloc de notas, por ejemplo) y me encontré con esto:
Ajá, el sistema no pudo manipular la citada clave del Registro, que curiosamente está relacionada con el Reproductor de Windows Media. En este caso habría que verificar que el usuario que ha iniciado sesión tuviera privilegios de control total sobre la clave, cosa que efectivamente no tenía.
|
Al modificar los permisos adecuamente, el archivo Wmp.dll se registró correctamente mediante la rutina regsvr32 wmp.dll y el reproductor se abrió sin problemas.
|
Espero que les haya parecido interesante, se trata de un ejemplo más de las bondades de Regmon, Dependency Walker y Filemon (aunque no se referencie aquí) como ayudas inestimables a la hora de resolver problemas con el PC.