Mira, Alex, lancé la pregunta a alguien de microsoft, en el mismo punto en que llegamos tú y yo, y te reenvío lo que me dice, que a mí me suena bastante a chino. Échalo un vistazo, por favor y, si lo ves razonable, te pediría que me lo traduzcas del chino, porque no sé si llegaré a saber hacer algo de esto que me dicen, ... ahí va:
"Por lo que me comenta, creo que efectivamente el problema ha venido provocado por haber modificado el registro de Windows. Y supongo que lo empeoró al utilizar CCleaner, que aquí en esta comunidad ha provocado bastantes errores y problemas a algunos usuarios que lo utilizaron.
"Acceso denegado" es un error que básicamente nos quiere decir: "Acceso denegado la creación de algo (un archivo/una entrada en el registro/un servicio, etc...)"
Esto significa como le he indicado arriba que se no se pudo crear un archivo, escribir en un archivo, leer un archivo, o, posiblemente (su caso) no se pudo escribir o crear una entrada en el registro.
Esto podría ser causado por la corrupción del sistema de archivos, problemas de permisos, el uso de una cuenta de usuario limitada, algún software antivirus, malware, u otros motivos indeterminados que puedan estar bloqueando que el proceso de instalación pueda realizar lo que tenga que hacer.
Como ya ha comentado que ha desactivado el antivirus, descartaremos esa opción. Aunque a veces es necesario desinstalarlo, pero bueno, sigamos probando otras opciones antes.
En segundo lugar, trataría de comprobar si tiene los suficientes permisos para la instalación del software. Asegúrese de que ha iniciado la sesión como administrador y no ha iniciado la sesión como una cuenta de usuario limitada.
También sería conveniente que comprobara haciendo clic con el botón derecho del mouse sobre el icono de instalación de Java, que cuenta con un control total sobre la aplicación. Siga los pasos aquí indicados: Tomar control y conceder permisos a archivos y carpetas en Windows 7
La guía es para Windows 7, pero debe ser similar en Windows Vista.
Asegúrese además que tiene suficiente espacio libre disponible en la unidad para realizar la instalación.
Otra solución para gente más experta para ver lo que puede estar provocando el error es utilizar un Monitor de Procesos para monitorear las acciones del instalador y ver exactamente lo que no pudo escribir. Sin embargo, como le indico esto es muy complejo y se necesita comprender perfectamente bien lo que estamos viendo en el programa.
Le añado a continuación una imagen de cómo se ve la información de accesos al registro y otras librerías y archivos en el programa Process Monitor de Microsoft, que puede descargar desde el siguiente enlace:
Process Monitor
Tendría que comprobar en la última columna en qué momento aparece un Access Denied o Denied Access (cuidado de no confundir con Desired Acces que aparece en la imagen), y comprobar en esa línea qué lo provoca exactamente. Aún así puede llegar a ser complejo encontrarle una solución al problema dependiendo del caso.
Imagen
Sin embargo, una herramienta más sencilla que podría utilizar para ver si tiene algún problema de acceso al escribir en el registro de Windows es Microsoft Fix it:
Solucionar problemas programas, no se puede instalar o desinstalar
Esta herramienta puede llegar a solucionar problemas que impiden que los programas se desinstalen completamente o que bloquean nuevas instalaciones y actualizaciones. No estoy seguro de que vaya a funcionarle con Java, pero podría probar a ver si encuentra algún error en el registro.
Por último, comentarle que en ocasiones cuando se pierde demasiado tiempo intentando solucionar un error y no se puede después de intentarlo de varias formas, es mejor abandonar y formatear el equipo.
En estos casos ayudaría que Oracle, ayudara a los usuarios a resolver estos problemas ya que ellos sabrán mejor que nosotros cómo está desarrollado Java y podrían asesorar mejor sobre este asunto"
Bueno, si sabes chino, por favor, dime algo, ... gracias