¿Por qué se usa el directorio Windows/Temp en lugar del usuario local Temp cuando se usa %TEMP%?

¿Por qué se usa el directorio Windows/Temp en lugar del usuario local Temp cuando se usa %TEMP%?

Después de instalar mi sistema en una nueva temporada de trabajo, se debe crear un mecanismo para actualizar el mismo. Este mecanismo de esta línea de comando:

schtasks /CREATE /SC onstart /DELAY 0015: 00 /TN "AppName Update" /TR "cmd /c bitsadmin /transfer My Download/Download/ PRIORITY HIGH ftp.link.com/MyApp.exe %TEMP%\MyApp.exe & %Temp%\MyApp.exe " /ru SYSTEM

Aquí el instalador debe crear una tarea programada para todo el tiempo que el sistema operativo comience a descargar y ejecutar el instalador del paquete.

Pero después de reiniciar el sistema operativo y ejecutar la tarea, la descarga se realiza pero no se guarda en C:\Users\User\AppData\Local\Temp\sino en C:\Windows\Tempy, por lo tanto, se refleja en el resto de la instalación.

He leído la documentación de msdn schtasks.exe, pero no me quedó muy claro. pero creo que el problema de este parámetro aquí: /ru SYSTEM.

Si alguien pudiera dar alguna explicación de por qué sucede esto.

Respuesta1

Su tarea se ejecuta como sistema, una cuenta especial que no tiene su propio perfil de usuario y su variable %temp%, apunta a c:\windows\temp

Debería utilizar un usuario diferente para ejecutar la tarea, el sistema es demasiado potente.

información relacionada