Estoy experimentando un problema muy extraño en una máquina con Windows 7 x64. Trataré de explicar lo mejor que pueda, para que no sea breve. Muchas gracias de antemano por su paciencia.
Entonces gana 7 x64. Estoy trabajando con una cuenta de derechos de administrador y tengo UAC habilitado. Lo que sucede es que cuando un programa necesita elevación para realizar una tarea, y sabe cómo solicitarla, no hay ejecutables antiguos, si se ejecuta desde la carpeta -user- temp, simplemente no la solicita y luego falla .
Supongo que no está claro, así que echemos un vistazo paso a paso a lo que sucede cuando ejecuto un programa que necesita elevación desde cualquier directorio. Si intento iniciar, f.ex., TrueCrypt, lo ejecuto, detecta automáticamente que necesita elevación y no lo tiene, por lo que lo solicita (mensaje UAC, haga clic en Sí, el programa se ejecuta normalmente) .
Ahora echemos un vistazo a un programa que se ejecuta desde temp. Elegiré un instalador NSIS como Firefox uno. Lo ejecuto, se descomprime automáticamente en temp y luego setup.exe se inicia desde temp. Este ejecutable de setup.exe debe pedir elevación, pero no lo hace, solo intenta ejecutarse en el contexto actual y luego el proceso muere. Es como si, en el momento de verificar la elevación, decidiera que ya lo ha hecho cuando esto no es cierto.
Pero si inicio el instalador NSIS directamente con derechos administrativos, se descomprime en la misma carpeta temporal, luego setup.exe hereda la elevación y se ejecuta correctamente.
Otra nota extraña que debo agregar es que los servicios de actualización automatizados, como el de Mozilla, o por ejemplo el de Google Chrome, tampoco instalan las actualizaciones. Y esto es aún más extraño porque estos servicios se ejecutan con privilegios administrativos y, afaik, descargan las actualizaciones y luego inician los instaladores con derechos administrativos. Pero lo que sucede es lo mismo que en el primer caso, el servicio lanza el setup.exe y automáticamente el proceso muere.
El sistema operativo ha estado instalado durante un año y funciona bien hasta hoy; Por supuesto, no me importa reinstalar mi estación de trabajo, pero me encantaría entender lo que está sucediendo aquí. El problema comenzó a suceder un día normal, no he instalado nada extraño recientemente.
Respuestas:
Bueno, finalmente descubrí lo que estaba sucediendo, algunos permisos se habían perdido (incomprensiblemente) bajo mi directorio temporal, para el grupo "Usuarios". Los permisos de lectura y escritura seguían intactos, pero los "directorio de recorrido" y "ejecutar" estaban deshabilitados. Esto estaba causando que los procesos intentaran elevar otro ejecutable para que se bloquee.
Ahora estoy tratando de averiguar qué está cambiando mis permisos (quizás malwre), pero esta es otra historia.
fuente