#Что означает проблема и когда применять инструкцию
Приложение выдаёт HRESULT при создании временного файла в Windows 11, хотя основные документы могут открываться. Возможные причины — недоступная временная папка конкретного пользователя, недостаток места, блокировка и неверное использование TEMP/TMP. Не предполагается очистка всего %TEMP%: в нём есть файлы работающих приложений. Ошибка может относиться к собственному временному каталогу программы, а не к системному TEMP.
#Возможные причины и как их различить
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Нет места на используемом томеВременные файлы создаются на заполненном диске или по квоте. | Ошибка возникает при экспорте/распаковке. | Проверить место и безопасную очистку. |
| Нет записи в временную папкуПуть указан несуществующий или запрещённый пользователю. | Создание маленького тестового файла не удалось. | Проверить переменные и права на конкретную папку. |
| Файл занят или заблокированАнтивирус или другой процесс держит временный файл. | Ошибка возникает только при повторном запуске программы. | Закрыть приложение и проверить его журнал. |
#Пошаговая диагностика и устранение
- Уточните точный HRESULT и операцию, на которой он появляетсяПовторите действие «ошибка появляется при попытке записать временный файл» не более одного раза на безопасных тестовых данных. Запишите название и версию программы, дату и время сбоя, полный код в шестнадцатеричном виде (например,
0x80070005, только если он действительно показан) и точную фразу на экране. HRESULT — семейство кодов, поэтому по одному слову «HRESULT» нельзя определить причину. Если код отсутствует, ищите его в официальном журнале программы; не придумывайте значение. - Подготовьте возможность безопасного откатаСохраните открытые документы и сделайте копию пользовательских данных, относящихся к проблемному приложению. Не предполагается очистка всего
%TEMP%: в нём есть файлы работающих приложений. Ошибка может относиться к собственному временному каталогу программы, а не к системному TEMP. Сначала выполняйте проверки, не изменяющие настройки. Если устройство управляется организацией, не отключайте политики безопасности, не расширяйте права на системные папки и согласуйте изменения с администратором. - Определите реальный временный каталогОткройте Win+R, введите
%TEMP%и нажмите Enter. Если папка не открылась, запишите ошибку — это самостоятельный диагностический признак. Откройте PowerShell обычным пользователем и выполнитеWrite-Output $env:TEMP; не подставляйте в переменные неизвестные каталоги и не меняйте их сразу. - Проверьте свободное пространствоОткройте Проводник → «Этот компьютер» и посмотрите свободное место на томе, на котором расположена временная папка. В «Параметры» → «Система» → «Память» доступны штатные рекомендации очистки; перед удалением просмотрите список. Если места почти нет, освободите только свои ненужные файлы и проверьте повторно.
- Сделайте безопасную пробную записьВ PowerShell без прав администратора выполните команду создания уникального маленького файла в
$env:TEMPиз блока ниже; команда сама удаляет созданную проверочную копию.OKозначает запись для текущего пользователя; ошибкаAccess deniedтребует уточнения ACL именно этой папки, но не означает повреждения всей системы.Windows · PowerShellКомандаPowerShell обычного пользователя. Создаёт и удаляет только свой уникальный временный файл; при запрете доступа выводит ошибку. Не используется для проверки другого служебного пользователя.$f = Join-Path $env:TEMP ([guid]::NewGuid().ToString()+'.tmp'); 'test' | Set-Content -LiteralPath $f; if (Test-Path -LiteralPath $f) {'OK'; Remove-Item -LiteralPath $f} - Проверьте расхождение TEMP и TMPОткройте «Пуск», найдите «Изменение переменных среды для вашей учётной записи». В пользовательской части сравните
TEMPиTMP: обычно оба указывают на существующие доступные каталоги, но значения могут быть нестандартными. Запишите старые значения. Не меняйте системные переменные, если программа работает из другого служебного сеанса. - Определите, какой файл не удаётся создатьЕсли ошибка относится к программе, откройте её журнал и найдите путь проблемного временного файла. При необходимости администратор может снять короткую запись Process Monitor с фильтром по имени процесса и результату
ACCESS DENIED/PATH NOT FOUND. Эти события сами по себе не всегда означают неисправность; сравнивайте с моментом HRESULT. - Восстановите обычные условия и проверьтеЗакройте программу полностью, перезагрузите ПК после сохранения работы и повторите операцию на тестовом документе. Если ошибка ушла после освобождения места или исправления пути, убедитесь, что файл действительно создаётся. Если код остаётся, не удаляйте весь TEMP и не выдавайте полный доступ группе Everyone.
- Проверьте исправление и запишите остаточную ошибкуВерните изменённые ради проверки настройки, которые не повлияли на результат; повторите исходный сценарий «ошибка появляется при попытке записать временный файл» на одном тестовом объекте. Сравните исходный и новый HRESULT, а также итоговое действие (сохранённый документ, завершённая установка или работающий запуск). Если ошибка остаётся, передайте в поддержку приложения конкретные различия между проверками, время, лог и сведения о Windows 11; не выдавайте временное исчезновение окна за исправление.
#Когда нужен другой способ диагностики
Если в записи нет фактического HRESULT, используйте документацию конкретной программы и точный текст ошибки: сообщение может быть внутренним кодом программы, кодом Win32 или исключением, а не HRESULT. Один и тот же HRESULT может появляться по разным причинам; при недоказанном источнике не меняйте права системных каталогов и не переустанавливайте Windows.
#Проверка окончательного результата
Исправление подтверждено, если при повторении исходной операции «ошибка появляется при попытке записать временный файл» достигается ожидаемый результат, а прежний HRESULT больше не воспроизводится после повторного входа в Windows или перезапуска программы. Если остаётся другой код, зафиксируйте его отдельно: это новая диагностическая ветка.