Переменная среды TEMP иногда меняет свое значение
У меня Windows 7 Pro x64.
В течение прошлой одной или двух недель мне иногда случается, что различные приложения не могут писать во временный каталог. Я обнаружил, что это потому, что переменная среды TEMP установлена в системное значение (C:\Windows\TEMP
как правило, он у меня установлен по-другому), а не на значение пользователя (B:\Users\%USERNAME%\Temp
в моем случае). Так же explorer.exe
процесс имеет неправильно установленный TEMP, когда возникает эта проблема.
Первоначально я думал, что неправильное значение TEMP устанавливается во время winlogon, но оказывается, что это не всегда так. Также важно сказать, что это происходит с несколькими профилями пользователей на одном компьютере, а не только с моим собственным профилем.
Вчера, когда это случилось снова, я перезагрузил компьютер, вошел в систему и проверил, что explorer.exe
process has this TEMP variable set correctly. Then I started several other applications, all have TEMP set correctly too. But today, after waking up the notebook from sleep, explorer.exe
has incorrect TEMP value again, and hence every other newly started application inherits it! Its evidently still the same process as yesterday, as its a parent process for most applications, including those that were started yesterday and still have TEMP set correctly! I'm perplexed:-(.
Questions: How can anything like this happen? What can this strange behaviour be caused by? How to solve the problem?
The problem is frustrating as I always have to close everything and perform logout&login.
Примечания:
- I use ProcessExplorer to see how the current environment of individual processes looks like.
- I don't thing the memory gets corrupted. Because then TEMP would be filled with a nonsense, not with the valid system TEMP value.
- There's plenty of space on the disks.
- Nor I think that my profile is corrupted. Because the same I have notices with other profiles as well, and it doesn't happen always.