PostgreSQL 9 устанавливается в Windows: "Невозможно написать внутри пути среды TEMP".
Я пытаюсь установить PostgreSQL 9 (postgresql-9.0.3-1-windows.exe) на свой компьютер WinXP и получить следующую ошибку в начале:
![Unable to write inside TEMP environment variable path.]()
Некоторые поисковые запросы дали некоторые рекомендации, которые предложили Windows Scripting Host, возможно, отключен. Я проверил и WSH определенно включен, так что это должно быть что-то еще. Вопрос в том, что?
Я вижу, что в% TEMP% создается файл с именем prerun_checks.vbs, и когда я пытаюсь запустить его вручную, я получаю следующее:
![enter image description here]()
Это выглядит как ошибка разрешений. Тем не менее, я администратор, и я полностью контролировал временную папку, и она все еще не работает.
Любая помощь была оценена.
Ответы
Ответ 1
Как только я закончил мой вопрос выше, наш ИТ-глава появился и понял, что проблема была немедленно: это McAfee. Это предотвращает запуск любого из файлов в папке TEMP, включая сценарии Windows Scripting Host. Отключение McAfee на время установки исправило проблему для меня.
Итак, если вы видите эту проблему, попробуйте отключить антивирус.
Ответ 2
В моем случае решение было связано с NotePad++
, которое является приложением по умолчанию для открытия файлов .vbs
. Если у вас есть такая же ситуация, вот сложное решение:
http://igordcard.blogspot.co.il/2012/03/unable-to-write-inside-temp-environment.html
В двух словах, в реестре, вам нужно перейти в HKEY_CLASSES_ROOT\.vbs
и установить запись (Default)
обратно в строку VBSFile
.
Ответ 3
Ответ на следующей странице помог мне.
http://forums.enterprisedb.com/posts/list/3040.page
- run- > regedit и сделать резервную копию реестра с помощью экспорта
- HKEY_LOCAL_MACHINE- > ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ- > Классы- > CLSID- > B54F3741-5B07-11cf-A4B0-00AA004A55E8} → InprocServer32
- Изменить запись реестра с новым значением как C:\Windows\System32\vbscript.dll
Фактически, я обнаружил, что есть 3 записи HKEY_LOCAL_MACHINE- > SOFTWARE- > Classes- > CLSID- > B54F3741-5B07-11cf-A4B0-00AA004A55E8}, и установите первый, как указано выше, он работает.
Ответ 4
Если кто-то еще ищет информацию об этом и ему не повезло, вы можете посмотреть:
http://wiki.postgresql.org/wiki/Troubleshooting_Installation
Для последующих запросов к списку рассылки читайте:
http://wiki.postgresql.org/wiki/Guide_to_reporting_problems
Ответ 5
Ну, в моем случае ничего не получилось, и отключение McAffee потребовало специального билета с моей командой безопасности компании, чтобы на самом деле... поэтому я установил с помощью двоичных файлов, следуя этому руководству Полезное руководство.
В общем, загрузите двоичный файл из здесь, распакуйте его, зайдите в папку pgsql
, создайте log
и data
каталогов там, а затем откройте командную строку, перейдите туда, где находится папка pgsql\bin
, и запустите initdb -U postgres -A password -E utf8 -W -D POSTGRESQL_ROOT\data
Вы можете запустить и остановить сервер, запустив
"POSTGRESQL_ROOT/bin/pg_ctl" -D "POSTGRESQL_ROOT/data" -l "POSTGRESQL_ROOT/log/pgsql.log" start
и
"POSTGRESQL_ROOT/bin/pg_ctl" -D "POSTGRESQL_ROOT/data" -l "POSTGRESQL_ROOT/log/pgsql.log" stop
где POSTGRESQL_ROOT - полный путь к папке pgsql
.
Ответ 6
Все вышеизложенное не помогло мне. Я получал ошибку, например:
Script вывод:
Ошибка CScript: Windows Script Доступ к хосту отключен на этом компьютере. Обратитесь к администратору за подробной информацией.
поэтому после пары googling я нашел решение:
Перейдите к следующему ключу:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Script Host\Settings
На правой панели вы увидите Enabled. Если вы видите запись 0, это означает, что Windows Script Доступ к хосту отключен на вашей машине Windows.
Дважды щелкните по нему и дайте ему значение Data 1, чтобы включить его.
Значение 1 будет включать Windows Script Host
Значение 0 отключит Windows Script Host.
для Windows 10 перейдите к
HKEY_CURRENT_USER\Программное обеспечение \Microsoft\Windows Script Хост\Настройки
Ответ 7
Чтобы предотвратить дальнейшие проблемы, вы также должны исключить возможность сканирования каталога данных (где Postgres помещает свои данные) на ваш антивирус-сканер
Ответ 8
В моем случае это было другое приложение, вызвавшее эту проблему. Not Notepad ++. Для тех, кто сталкивается с этой проблемой, вы можете диагностировать ее, сначала удалив все файлы в C:\Documents and Settings\UserName\Local Settings\Temp
, чтобы вы могли легко найти bitrock_installer.log
, когда вы снова попытаетесь установить postgresql и просмотрите инструкции в нем. Изменение ключа (по умолчанию) в разделе HKEY_CLASSES_ROOT
, .vbs
реестра на VBSFile разрешило его.
Ответ 9
У меня возникла эта проблема при попытке установить 32-разрядную версию на 64-разрядной версии Windows 7.
Попытка установить установочный комплект на 64 бит не представила ошибок, но решения, представленные другими, также действительны.
Ответ 10
В моем случае я удалил инструмент удаления McAfee
MCPR (удаление продукта MacAfee)
который очистил некоторые хвосты после удаления McAfee.
Некоторые записи в реестре, которые ранее имели значения InprocServer32
, такие как 'c:\program files\common files\mcafee\systemcore\...'
, возвращались к исходным значениям:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{B54F3741-5B07-11cf-A4B0-00AA004A55E8}\InprocServer32\(default) = vbscript.dll
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{B54F3741-5B07-11cf-A4B0-00AA004A55E8}\InprocServer32\(default) = C:\Windows\SysWow64\vbscript.dll
После этого я успешно установил PostgreSQL 9.3
Ответ 11
Моя проблема была в Smad-Av, которая отключает запуск сценариев Windows. Только после прохождения этой темы я вспомнил. Я просто щелкнул правой кнопкой мыши значок Smad-Av и выбрал " Разрешить Windows-скрипт и офис-макрос" (постоянный).
Ответ 12
В моем случае Изменение ключа (по умолчанию) в разделе HKEY_CLASSES_ROOT,.vbs реестра на VBSFile решило его. BlueFish - это объединение файлов .vbs.
Ответ 13
У меня была та же проблема с установкой PostgreSQL (невозможно записать в пути переменной среды TEMP), проблема была в Windows Script Host, который был отключен (проверьте файл журнала, чтобы увидеть, если это ваша проблема). включите его с помощью редактора реестра (run--> regedit) на этом Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows Script Host\Settings
, установив для него значение 1
Для получения дополнительной информации проверьте эту веб-ссылку: http://1stopit.blogspot.com/2011/01/postgresql-83-and-84-fails-to-install.html
Ответ 14
Проверьте журнал в системном каталоге TEMP (если установщик может записать в него).
Там много информации об ошибках.
Моя проблема заключалась в том, что файлы VBS были связаны с текстовым редактором (вероятно, антивирусное программное обеспечение является виновником).
Здесь вы можете найти некоторые скрипты редактирования reg, чтобы вернуться к поведению по умолчанию:
http://www.nilpo.com/2009/07/windows-xp/restoring-vbs-vbscript-script-file-file-associations/#more-107
Приветствия
Ответ 15
это происходит, когда Notepad ++ связывает типы файлов .vbs.
вы можете открыть блокнот ++ → Настройки → fileAssociation
Удалите .vbs из зарегистрированных сообщений.
Закройте блокнот ++. Попробуйте снова установить Postgres.
Ответ 16
Мое решение аналогично # 5, с объяснением того, как и почему McAfee разрушает вашу регистрацию vbscript.
По-видимому, когда у меня было антивирусное программное обеспечение McAfee на моем компьютере, это привело к регистрации vbscript.dll, которую Windows Scripting Host должен запускать .VBS файлы.
В экспортированном файле .REG:
[HKEY_CLASSES_ROOT\CLSID {B54F3741-5B07-11cf-A4B0-00AA004A55E8}\InprocServer32]
@= "C:\Program Files\Common Files\McAfee\SystemCore\ScriptSn.20120327211246.dll"
СЛЕДУЕТ теперь вернуться к "C:\Windows\System32\vbscript.dll".
McAfee, по-видимому, устанавливает DLL, которая захватывает vbscript.dll, чтобы попытаться защитить плохие скрипты от запуска. Когда я удалил McAfee в пользу Microsoft
Security Essentials, McAfee не восстановил пути реестра ("not
моя проблема "), и McAfee DLL, конечно же, была удалена из местоположения во время удаления, поэтому регистрация vbscript.dll фактически указывала на NOWHERE и NOTHING.
Должен быть лучший способ написать антивирусное программное обеспечение, чтобы он не отключил пользовательскую операционную систему при ее удалении или когда функции
отключены или заменены. См. Следующее:
https://kc.mcafee.com/corporate/index?page=content&id=KB71660
У меня 64-разрядная ОС. Путь реестра был изменен в нескольких местах.
Обычный идентификатор класса должен указывать на 64-битный файл "C:\Windows\System32\vbscript.dll".
Пути к реестру "Wow6432Node" должны указывать на 32-битный файл "C:\Windows\SysWOW64\vbscript.dll".
Да, 64-разрядные файлы находятся в папке "32", а 32-бит находятся в папке "SysWOW64". Microsoft не хотела изменять имя основной папки "System32" при ее переносе на 64-разрядные.
HKEY_CLASSES_ROOT\CLSID {B54F3741-5B07-11cf-A4B0-00AA004A55E8}
C:\Windows\System32\vbscript.dll
HKEY_CLASSES_ROOT\Wow6432Node\CLSID {B54F3741-5B07-11cf-A4B0-00AA004A55E8}
C:\Windows\SysWOW64\vbscript.dll
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID {B54F3741-5B07-11cf-A4B0-00AA004A55E8}
C:\Windows\System32\vbscript.dll
HKEY_LOCAL_MACHINE\Software\Классы\Wow6432Node\CLSID {B54F3741-5B07-11cf-A4B0-00AA004A55E8}
C:\Windows\SysWOW64\vbscript.dll
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Классы\CLSID {B54F3741-5B07-11cf-A4B0-00AA004A55E8}
C:\Windows\SysWOW64\vbscript.dll
Ответ 17
В каталоге temp мой файл bitrock_installer.log имел следующее:
Executing cscript //NoLogo "C:\Users\MyUser\Local
Settings\postgresql_installer_1b4eec8be6\prerun_checks.vbs"
Script exit code: 1
Script output:
Input Error: Can not find script file "C:\Users\MyUser\Local
Settings\postgresql_installer_1b4eec8be6\prerun_checks.vbs".
Оказывается, что у Windows есть символическая ссылка между следующими каталогами:
- C:\Users\cpetrie\Local Settings\Temp
- C:\Users\cpetrie\AppData\Local\Temp
По какой-то причине мои пользовательские переменные "TMP" и "TEMP" ссылались на путь "Локальные настройки" вместо пути "AppData". Изменение этой исправленной проблемы с установкой.
Ответ 18
Прежде чем начать возиться с реестром, проверьте, действительно ли WSH отключен или нет. Для этого запустите wscript.exe в окне DOS.
Если вы видите диалоговое окно "Настройки хоста скрипта Windows", WSH включен, и ваша проблема с установкой PostgreSQL должна быть связана с чем-то другим. Если появляется сообщение об ошибке "Доступ к узлу Windows Script Host отключен на этом компьютере. Обратитесь к администратору для получения подробной информации", WSH отключен, и ваша проблема с установкой PostgreSQL может быть связана с ней (или может быть нет).
Для меня моя проблема была связана со скриптом Windows. Я решил эту проблему, щелкнув правой кнопкой мыши по значку smadav на скрытых значках на панели задач и выбрав "Разрешить Windows-скрипт и Office-Macro (постоянный)". Затем дважды щелкните по настройке PostgreSQL снова.
Ответ 19
Сначала перейдите в редактор реестра, затем выберите HKEY_CURRENT_USER> программное обеспечение> Microsoft> хост сценария Windows> настройки> по умолчанию> добавить значение в 1 и нажмите кнопку ОК. сделанный!
Ответ 20
После отключения Smad Av он все равно не работал. Итак, я щелкнул правой кнопкой мыши на значке Smad Av на панели задач и выбрал "Разрешить Windows-Script & Office-Macro (Постоянный)", и это сработало.
Ответ 21
У меня была та же проблема в Windows 10, и виновником было разрешение ОС, или, скорее, его отсутствие, на разрешение записи исполняемого файла в пользовательскую папку Temp.
Решил это, следуя моим указаниям и изменив папку User Temp на ту же, что и в системе: Win + Pause/Break, чтобы появилось окно "Свойства компьютера" (вы можете сделать это вручную, щелкнув правой кнопкой мыши значок "Компьютер" на рабочем столе → Свойства). → щелкните "Дополнительные параметры системы" на панели слева → щелкните "Переменные среды" и в разделе "Системные переменные" - переменные, найдите переменные TEMP и TMP и скопируйте их пути. Затем в разделе "Пользовательские переменные для администратора" - переменные, найдите переменные TEMP и TMP и вставьте пути. Это всегда всегда "C:\Windows\TEMP";)
Там этот сайт я читаю: https://www.askvg.com/where-does-windows-store-tevent-files-and-how-to-change-temp-folder-location/
Ответ 22
Это старый поток, но у меня только что была такая же проблема на Windows 10:
Невозможно записать внутри пути среды TEMP
Решите следующие шаги
- Убедитесь, что проблема связана с Windows Script Host.
- Из cmd запустить
wscript.exe
- Если вы получаете сообщение об ошибке Windows Script Host не включен, и вы можете решить ее, запустив из cmd
Исправить для текущего пользователя
REG DELETE "HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /f
Исправление для локальной машины
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /f
Нет, вы можете установить PSQL