Не удалось произвести запись в выходной файл
Вы также можете попробовать перезапустить regiis.
Эта ошибка возникает, когда я использую bat-файл для удаления временных файлов. Вероятно, он удаляет сам каталог, и данные разрешения исчезают. Так что их надо как-то восстанавливать.
Самый простой способ - предоставить всем полный контроль над следующими каталогами:
C : \ Windows \ Temp
У меня есть разрешения, но я начинаю получать эту ошибку. "перезагрузить машину" работает для меня
Я начал получать эту ошибку слишком недавно в корпоративной среде после того, как компания внедрила различные меры безопасности, которые отняли права администратора у пользователей.
Для разработчиков компания разрешила создание учетных записей, которые можно было бы использовать, и нам пришлось добавить их в группу администраторов ПК, а затем изменить идентификатор пула приложений, чтобы использовать учетную запись.
ПРИМЕР (Windows 10)
Учетная запись создана для разработчиков: домен \ разработчик
Кто-то с правами администратора на ПК должен будет сделать следующее:
- Перейдите в Панель управления \ Учетные записи пользователей \ Управление учетными записями пользователей.
- Перейдите на вкладку «Дополнительно» и нажмите кнопку «Расширенное управление пользователями».
- На странице lusrmgr щелкните папку Группы в левом столбце, чтобы отобразить группы на центральной панели.
- Затем повторно щелкните группу «Администраторы» и выберите «Добавить в группу . »
- На панели "Администраторы" нажмите кнопку "Добавить . ".
- Откроется диалоговое окно «Выбор пользователей, компьютеров, учетных записей служб или групп». Добавьте учетную запись (в этом примере домен \ разработчик)
- Затем нажмите кнопку ОК (эта кнопка будет отключена, если у вас нет прав администратора)
Теперь настройте пул приложений:
- Откройте диспетчер IIS, выберите пулы приложений.
- Щелкните нужный пул приложений, чтобы он был выделен, затем щелкните «Дополнительные настройки . » на панели «Действия» справа.
- В разделе «Модель процесса» щелкните параметр «Идентификация» и нажмите кнопку с многоточием.
- В диалоговом окне «Удостоверение пула приложений» выберите «Пользовательская учетная запись» и нажмите кнопку «Установить».
- Введите учетную запись и пароль
На этом этапе я смог закрыть все, перезапустить IIS и затем запустить приложение. Затем он мог получить доступ к временным папкам, которых не мог раньше.
В моем случае, когда я меняю «Загрузить профиль пользователя» на «Истина» («Пул приложений» -> «Расширенные настройки» -> «Загрузить профиль пользователя» -> устанавливаю значение «Истина»), он работает.
Таким образом, похоже, что такая же ошибка иногда отображается, когда пользователь пула приложений не имеет доступа к папке% TMP% /% TEMP%.
Вам потребуется предоставить IIS_IUSRS доступ для чтения и изменения к временной папке пользователя, от имени которого запущен пул приложений .
Это может быть временная папка в профиле пользователя пула приложений, например c:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp или системная временная папка в c:\windows\temp .
Установка этого решила проблему для меня.
В Windows 8 / Server 2012 больше нет поддержки aspnet_regiis. Я попытался переустановить с помощью функций Windows: не удалось. Я попытался переустановить IIS: не удалось. Я попытался переустановить через WebPI: не удалось.
Я решил проблему, установив ACL в каталоге Windows Temp.
Вот PowerShell, который выполняет эту работу:
Вам нужно сделать 3 шага:
Ошибка решена
Вы также можете попробовать перезапустить regiis. "% windir% \ Microsoft.NET \ Framework [связанная платформа] \ aspnet_regiis -i"
Этот KB решил это для меня, похоже, что путь к временному файлу не существовал в переменных среды ОС.
• Встроенная учетная запись IUSR заменяет учетную запись IUSR_MachineName.
• Встроенная группа IIS_IUSRS заменяет группу IIS_WPG.
Спасибо Dommer за предложение временной папки windows и zcrar70 за красивое описание и ссылку с подробным описанием.
Для меня решение было комбинацией исправлений, описанных здесь. Мне пришлось передать учетной записи NETWORK_SERVICE полный контроль над
C : \ Windows \ Temp
А также измените идентификатор пула приложений на NetworkService.
Также не забудьте перезапустить IIS после того, как вы передадите полный контроль NETWORK_SERVICE над папками Temp.
Иногда файлы Temp могут быть заблокированы другим процессом на рабочей станции. В качестве первого шага перезагрузите рабочую станцию и проверьте приложение.
На Windows 8 у меня абсолютно ничего не работало. Однажды пулы приложений внезапно решили, что они больше не хотят работать под учетной записью NetworkService.
Я решил проблему, изменив пул приложений для работы под моей учетной записью. Я знаю не лучшее решение, но оно сработало.
похоже, что учетная запись, под которой работает служба WCF, не имеет доступа для записи в "Временный ASP.NET файлы" каталог.
вы также можете попробовать повторно запустить regiis.
в целом, кажется, что та же ошибка иногда отображается, когда пользователь пула приложений не имеет доступа к папке %TMP%/%TEMP%.
вам нужно предоставить iis_iusrs доступ для чтения и изменения по папке temp пользователя пул приложений работает как.
Это может быть папка Temp в профиле пользователя пула приложений, например, c:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp , или системная Временная папка в c:\windows\temp .
настройка этого разрешила проблему для меня.
в Windows 8 / Server 2012 больше нет поддержки aspnet_regiis. Я попытался переустановить с помощью функций windows: сбой. Я попытался переустановить IIS: сбой. Я попытался переустановить через WebPI: fail.
Я решил проблему, установив ACL в каталоге Windows Temp.
вот powershell, который выполняет эту работу:
есть 3 шага, чтобы сделать:
Ошибка Решена
вы также можете попробовать повторно запустить regiis. "%windir%\Microsoft.NET\Framework[связанная структура]\aspnet_regiis-i"
этот КБ разрешил его для меня, похоже, что путь к временному файлу не существовал в переменных среды ОС.
•встроенная учетная запись IUSR заменяет учетную запись IUSR_MachineName.
•встроенная группа IIS_IUSRS заменяет группу IIS_WPG.
спасибо Dommer для предложения папки Windows temp и zcrar70 для приятного лета и ссылки с подробным описанием.
для меня решение было комбинацией исправлений, описанных здесь. Я должен был дать учетной записи NETWORK_SERVICE полный контроль над
а также измените идентификатор пула приложений на NetworkService.
также не забудьте перезапустить IIS после того, как вы дадите полный контроль NETWORK_SERVICE на Temp папки
несколько раз временные файлы могут быть заблокированы другим процессом на рабочей станции. В качестве первого шага перезагрузите рабочую станцию и проверьте приложение.
на Windows 8 абсолютно ничего не работало для меня. Однажды пулы приложений внезапно решили, что больше не хотят работать под учетной записью NetworkService.
Я решил проблему, изменив пул приложений для работы под моей учетной записью пользователя. Не лучшее решение, я знаю, но оно сработало.
эта ошибка возникает, когда я использую файл bat для удаления временных файлов. Вероятно, он удаляет сам каталог, и данные разрешения исчезли. Поэтому вы должны как-то их восстановить.
самый простой способ-предоставить полный контроль над следующими каталогами для всех:
У меня есть разрешения, но я начинаю получать эту ошибку. "перезагрузка машины" работает для меня
поэтому в течение некоторого времени у меня продолжает возникать эта проблема:
[неустранимая ошибка] не удается создать выходной файл " project1.EXE-файл"
Я понятия не имею, что вызывает эту. Я погуглил для получения дополнительной информации, но я не мог найти решение.
есть два обходных пути: либо подождите минуту, либо два, или удалить project1.exe вручную. Излишне говорить, что это неосуществимо.
У меня нет антивируса, и вирусов нет. Иметь полный доступ к соответствующим папкам. Запустите все как администратор.
Я нашел решение. Похоже, что отключение службы "Application Experience" вызвало это. При отключении задачи " система "будет блокировать" любой " исполняемый файл в течение некоторого времени.
повторное включение "опыт применения" - это решение.
У меня такое чувство, что при попытке перестроить приложение, project1.exe все еще работает. Может, это займет больше времени, чем нужно, чтобы закрыться. Вы можете легко проверить, открыв Диспетчер задач и посмотреть, если процесс проект1.exe остается активным после закрытия приложения.
Я на XE7 и иногда испытываю "не удалось создать выходной файл проблема", f2039. Используя проводник процессов sysinternals, я обнаружил процесс отладки android (adb.exe) имел залог на скомпилированный двоичный файл. Не знаю почему; в этом конкретном проекте win32, который я создаю, нет Android config. Во всяком случае, убил АБР.и все было хорошо.
некоторые моменты. Целевые выходные каталоги никогда не индексировались. "Приложение Опыт", упомянутый в другом месте этой темы, работал все время. И большую часть времени я мог вручную удалить выходной двоичный файл, несмотря на жалобы XE7. Однако в какой-то момент я заметил, что не могу удалить двоичный файл через оболочку, которая предоставила возможность найти оскорбительный adb.exe через Process Explorer.
Попробуйте удалить Castalia, если вы используете его. Я потратил 3 дня, пытаясь решить эту проблему, все, что я мог думать. права доступа к файлам, просмотр дескрипторов файлов с помощью process explorer. Если я устанавливаю Castalia 2013.3.4, проблема возникает (у меня есть шаги для воспроизведения), и удаление ее устраняет проблему.
кроме того, IDE аварийно завершит работу, если у вас установлен "рабочий стол отладки по умолчанию", и попробуйте запустить под отладчиком, используя любой другой сохраненный макет. (авария происходит на переключателе на рабочий стол debug).
в моем случае это было связано с выходную папку, которая не существует.
Итак, вы можете попробовать перейти к Project-> Options и на вкладке "каталоги" изменить выходной каталог на существующую папку и повторить попытку.
в моем случае проблема решена путем исключения папки проекта из антивирусной защиты в режиме реального времени.
можете ли вы удалить EXE-файл вручную?Если нет, proccess находится в memroy, Откройте Диспетчер задач, выберите проект, завершить задачу . у вас есть ошибка в коде, которая предотвращает завершение приложения.
Если он не находится в списке процессов, попробуйте:
1-исключить папку из индексации windows или сторонних приложений поиска файлов, индексирующих файлы
2-в windows семь активировать приложение experince service
3-исключить папку проекта из антивирусной защиты в реальном времени
обновление
Я заметил ,что даже если вы делаете все, что я сказал выше, вы можете получить эту ошибку несколько раз в Windows 7 случайным образом.особенно, когда вы компилируете проект много раз. первые компиляции будут в порядке, но через десять или более раз эта проблема возникнет
Я щелкнул Правой Кнопкой Мыши приложение (в окне группы проектов), а затем выбрал очистить.
затем я смог скомпилировать приложение.
Я столкнулся с той же проблемой и решил ее . Кажется, что в некоторых неизвестных случаях приложение exe остается запущенным .
Решение простое . Вы должны просто выполнить следующие шаги:
- откройте Диспетчер задач Windows
- перейдите на вкладку 'Процессы'
- нажмите "Показать процессы от всех пользователей" , и ваш exe появится
- выберите его и нажмите кнопку "Завершить процесс"
и все будет хорошо.
иногда Microsoft Security Essentials держит файл после его сборки в Delphi, и вам нужно отключить защиту в реальном времени.
чтобы проверить, какой процесс содержит файл, используйте Sysinternals Process Explorer:ссылке. Используйте "найти дескриптор" и введите имя exe.
кажется, я исправил его, установив режим совместимости с XP SP3. Это также исправило еще одно раздражение, которое заставило Alt-P не открывать меню проекта.
EDIT: мне не нужно было повторно включать мой опыт работы с приложениями. Все еще мертв, где он должен быть:)
щелкните правой кнопкой мыши на Delphi short-cut, Properties, затем выберите вкладку Совместимость. Выберите Запустить программу в режиме совместимости для Windows XP (пакет обновления 3).
(I также установите флажок запускать эту программу как администратор, но вы можете этого не делать.)
(Это для Delphi 7, согласно вопросу OP, а не для XE7, хотя это может сработать и для этого.)
поэтому я продолжаю получать эту ошибку при попытке скомпилировать код C++ с помощью CodeBlocks.
не удается открыть выходной файл [filename.exe] разрешение отказано
Это началось только сегодня, и это спорадически и непоследовательно. Обычно это уходит, если я закрываю CodeBlocks и перезапускаю проект, но не всегда. Иногда это даже уходит, когда я просто нажимаю F9 (build & run) несколько раз. Я всегда проверяю Диспетчер задач, но их никогда не бывает .Бывшие бега с именем моего файла или чем-то, что с ним связано.
Я также заметил, что если эта проблема возникает, и я затем пытаюсь удалить .EXE вручную или иным образом взаимодействовать с ним, Windows говорит мне, что мне нужно разрешение администратора для этого (это частный компьютер, и, насколько я знаю, я администратор на нем).
в первый раз, когда это произошло, единственное, что я добавил в код помимо того, что было в предыдущей версии, был отчет об отладке, отправленный в cout-вряд ли что-нибудь тайный. Иногда это происходит, даже если код не был изменен с предыдущей версии.
Что это может быть? Это еще не нарушение правил игры, но это раздражает, и я бы не хотел, чтобы стало хуже.
EDIT: это уже старый, но на всякий случай, если у кого-то еще есть подобные проблемы, обходной путь, который я сейчас использую, - это просто последовательно удалить [filename.exe] перед попыткой снова запустить код. Это позволяет избежать проблемы, хотя и раздражает.
проверьте, что " имя файла.exe " не работает, я думаю, вы используете Microsoft Windows, в этом случае вы можете использовать либо Диспетчер задач, либо Process Explorer:http://technet.microsoft.com/en-us/sysinternals/bb896653 убить " имя файла.exe", прежде чем пытаться сгенерировать его.
Я столкнулся с той же проблемой у вас есть. Я обнаружил, что это может иметь некоторое отношение к тому, как вы заканчиваете свой результат запуска. Когда вы запускаете свой код, имеет ли он распечатку, отладчик вызовет консоль, которая печатает " нажмите любую клавишу, чтобы продолжить. ". Если вы завершаете консоль нажатием клавиши, все в порядке; если вы делаете это, нажав кнопку Закрыть, проблема возникает, как вы описали. Когда вы завершаете его последним способом, вам нужно подождать несколько минут, прежде чем вы сможете перестроить свой код.
эта ошибка обычно возникает, когда у IDE есть проблема из-за сбоя или другого сбоя, и она по-прежнему удерживает EXE, предотвращая перезапись / удаление EXE пользователем во время перестроения.
Привет я понимаю, что этот пост старый, но вот мое мнение в любом случае. Эта ошибка возникает при закрытии окна вывода консоли с помощью значка закрыть вместо нажатия кнопки "любая клавиша для продолжения"
проблема связана с ответом Sams:
"столкнулись с той же проблемой у вас есть. Я обнаружил, что, возможно, некоторые отношения с тем, как вы завершаете результат выполнения. Когда вы Запустите свой код, имеет ли он распечатку, отладчик вызовет консоль, которая печатает " нажмите любую клавишу, чтобы продолжить. ". Если вы прекращаете консоль, нажав клавишу, это нормально; если вы это сделаете, нажмите кнопку Закрыть Баттон, проблема в том, что ты описал. Когда вы прекратить его в последний путь, вы должны ждать несколько минут, прежде чем вы можете перестроить свой код."
избегайте процессов убийства, и у нас есть два варианта, подождите, пока процесс не выпустит .EXE-файл или эта проблема будет решена быстрее перезапуска IDE.
однако я избавился от него, нажав кнопку "Завершить" в самой верхней правой части окна консоли (красная кнопка) и после этого "удалить все завершенные запуски" (два x'ES прямо рядом с кнопкой завершения). Это, кажется, закрывает запущенную программу и все работает нормально после:) надеюсь, это может помочь кому-нибудь
вы можете использовать process explorer из sysinternals, чтобы найти, какой процесс имеет открытый файл.
попробуйте перезапустить IDE. У меня получилось. Хотя я попытался завершить процесс в диспетчере задач, процесс никогда не был убит.
я переустановил C:: B на диске D, тогда как моя папка program files находится на диске C
Я не знаю причину, но она работает:)
ДЛЯ ОС LINUX. перейдите в файл, где u R создал файл.тогда обычно . имя_проекта/bin/Debug / имя_проекта.исполняемый файл здесь для этого исполняемого файла у вас не будет разрешения execute, а затем разрешения execute.Либо щелкните правой кнопкой мыши, Если вы не можете изменить разрешение, а затем используйте open terminal (command promt) для изменения разрешения. сначала перейдите в этот исполняемый файл с помощью команды "cd", затем используйте" chmod u+x", затем разрешение изменится.затем перейдите в c:: b открыть и выполнить вы будете сделать вывод.
единственное, что для всех файлов u нужно сделать.
проблема в том, что у вас нет прав администратора для доступа к нему, поскольку запуск или компиляция чего-то выполняется на базовом диске C. Чтобы устранить эту проблему, запустите devcpp.exe как администратор. Вы также можете изменить разрешение из свойств и разрешить доступ read write modify etc для системы и системы.
ну, как только у меня была та же проблема, и после отслеживания процесса, который получал файл в использовании, я обнаружил, что это был антивирус (PANDA) . я просто открыл файл и просто работал. ну для моего опыта я использовал Unlock 1.9.2 . попробовать ий из ..
У меня была такая же проблема, и это сводило меня с ума:
Windows7 64 бит, MinGW, Eclipse, CDT
разрешение отказано в ошибках, исполняемый файл исчезает, ld.exe ошибки. Однажды это сработает, но больше никогда. Утверждения типа: "не удается открыть выходной файл ***.ехе: отказано в доступе"
Проверьте антивирусное программное обеспечение. Как только я выключил антивирусное программное обеспечение в workspace, затем очистил рабочее пространство и запустил проект снова, у меня никогда не было опять проблема.
обязательно запустите 7zip в "режиме администратора" для извлечения в программные файлы.
кроме того, временное отключение защиты от вирусов работало для некоторых людей в прошлом.
основной причиной этого (который я недавно), если у вас есть это, например, флэш-накопитель.
вы можете разрабатывать и делать все, но в большинстве систем это останавливает вас от запуска .EXE файл оттуда, будь то отладка или версии.
Я попробовал то, что сказал @willll, и это сработало. Я у didint найти именно ту .exe назван в честь моего проекта, но я убил некоторые странные задачи (после проверки в интернете они не были критическими), и это сработало.
Я попытался получить вывод после завершения IDE задачи из Диспетчера задач. Позже очистите все временные файлы с вашего диска. Начало вашей IDE. Теперь твоя .ехе работает хорошо.
В этой статье мы будем использовать следующие способы для устанения ошибки "Ошибка записи в файл":
- Способ 1: Запуск инсталлятора с правами администратора
- Способ 2: Устранение проблем с совместимостью
- Способ 3: Установка разрешений на запись
- Способ 4: Отключение UAC
- Способ 5: Отключение антивируса
- Способ 6: Проверка состояния жесткого диска
3. Установка разрешений на запись
Если предыдущие методы не помогли устранить ошибку, возможно, дело в разрешениях на изменение содержимого целевого каталога. Рекомендуется проверить существующие параметры и изменить их в случае необходимости, в чём вам поможет этая инструкция.
5. Отключение антивируса
Нельзя исключать и вмешательство защитного ПО: нередко некоторые устаревшие компоненты инсталляторов помечены в их алгоритмах как небезопасные, антивирус блокирует их, вследствие чего и возникает ошибка записи в файл. Для проверки можно приостановить защиту и выполнить запуск проблемного инсталлятора. Но стоит иметь в виду, что такое решение небезопасно, и пользоваться им лучше лишь в случае крайней необходимости.
4. Отключение UAC
Иногда причиной ошибки может быть система контроля учётных записей Windows (UAC): из-за бага или сбоев в настройках безопасности инсталлятору запрещено изменение файловой системы. Для решения этой проблемы можно временно отключить UAC, установить желаемый софт и активировать контроль аккаунтов обратно. На нашем сайте уже есть инструкции по проведению этой процедуры, ознакомьтесь с ними.
6. Проверка состояния жесткого диска
Самой редкой, но и самой неприятной причиной рассматриваемой проблемы являются сбои в работе жесткого диска: не исключено, что в нём присутствуют плохие и/или нестабильные секторы, запись в которые невозможна, о чём и сигнализирует система. Поэтому если ни один из вышеприведённых способов не принёс должного эффекта, следует проверить накопитель. Как проверить SSD и M2 жесткие диски на ошибки, а так же обычные диски читаем здесь и здесь.
1. Запуск инсталлятора с правами администратора
Наиболее часто рассматриваемая ошибка возникает, когда установочный файл не может получить доступ к определённому месту для записи данных, например, при инсталляции софта на системный диск. В такой ситуации должно помочь открытие исполняемого файла с правами админа: кликните по нему правой кнопкой мыши, затем выберите параметр «Запуск от имени администратора».
2. Устранение проблем с совместимостью
Нередко причина появления ошибки заключается в проблемах с совместимостью: например, установочный файл, предназначенный, скажем, для Windows XP, запускается на Windows 10 последних редакций. В такой ситуации стоит воспользоваться встроенным в ОС средством устранения неполадок совместимости.
Попробуйте снова установить приложение, на этот раз рассматриваемая проблема больше не появится.
Читайте также: