Установка PostgreSQL 9 в Windows: "невозможно записать путь к среде TEMP."

Я пытаюсь установить PostgreSQL 9 (postgresql-9.0.3-1-окна.exe) на моей машине WinXP и получить следующую ошибку в начале:

Unable to write inside TEMP environment variable path.

некоторые googling вокруг дали некоторые советы, которые предложили Windows Scripting Host может быть отключен. Я проверил, и WSH определенно включен, поэтому это должно быть что-то еще. Вопрос в том, что?

Я вижу файл с названием prerun_checks.vbs создается в %TEMP% и когда я пытаюсь запустить это вручную, я получаю следующее:

enter image description here

что выглядит как ошибка разрешений. Тем не менее, я администратор, и я дал себе полный контроль над временной папкой, и она все еще не работает.

любая помощь ценится.

19 ответов


в моем случае решение было связано с NotePad++ являясь приложением по умолчанию для открытия .vbs файлы. Если у вас такая же ситуация, вот сложное решение:

http://igordcard.blogspot.co.il/2012/03/unable-to-write-inside-temp-environment.html

в двух словах, в реестре, вам нужно перейти к HKEY_CLASSES_ROOT\.vbs и выберите (Default) запись обратно в строку VBSFile.


когда я заканчивал свой вопрос выше, наш ИТ-парень появился и сразу понял, в чем проблема: это McAfee. Это предотвращает ничего от запуска во временной папке, включая сценарии Хоста сценариев Windows. Отключение McAfee на время установки исправило проблему для меня.

поэтому, если вы видите эту проблему, попробуйте отключить антивирус.


ответ на следующей странице helpped меня. http://forums.enterprisedb.com/posts/list/3040.page

  1. run - > regedit и резервное копирование реестра с помощью export
  2. HKEY_LOCAL_MACHINE->программное обеспечение->классы->CLSID->B54F3741-5B07-11cf-A4B0-00AA004A55E8} - > InprocServer32
  3. изменить запись реестра с новым значением как C:\Windows\System32\vbscript - ... dll файлы

на самом деле, я обнаружил, что есть 3 записи HKEY_LOCAL_MACHINE->программное обеспечение->классы->CLSID->B54F3741-5B07-11cf-A4B0-00AA004A55E8} и установите первый, как указано выше, он работает.


Если кто-то еще ищет информацию об этом и не повезло здесь, вы можете посмотреть на:

http://wiki.postgresql.org/wiki/Troubleshooting_Installation

для прослеживания в список рассылки читайте:

http://wiki.postgresql.org/wiki/Guide_to_reporting_problems


Ну, в моем случае ничего не сработало,и отключение McAffee нуждалось в специальном билете с командой безопасности моей компании... поэтому я установил с помощью двоичных файлов, следуя этому руководству Полезное Руководство.

в общем, загрузите двоичный файл из здесь, распакуйте его, зайдите внутрь создать 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-полный путь к .


чтобы предотвратить дальнейшие проблемы, вы также должны исключить каталог данных (где Postgres помещает свои данные) от сканирования вашим вирусом-сканером


в моем случае это было другое приложение, которое вызвало проблему. Не Блокнот++. Для других, кто сталкивается с этой проблемой, вы можете диагностировать ее, сначала удалив все файлы в C:\Documents and Settings\UserName\Local Settings\Temp, Так что вы сможете найти bitrock_installer.log легко, когда вы пытаетесь установить postgresql снова и просмотреть инструкции в нем. Изменение ключа (по умолчанию) в HKEY_CLASSES_ROOT, .vbs раздел реестра для VBSFile решил его.


У меня была эта проблема при попытке установить 32-битную версию на Windows 7 64 бит.

попытка установить комплект для 64 бит не представила ошибок, но решения, представленные другими, также действительны.


в моем случае я downloded McAfee removal tool MCPR (McAfee удаление потребительских товаров) который очистил некоторые хвосты после удаления 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


все вышеперечисленное не сработало для меня. Я получал ошибку, как:

результат работы скрипта : Ошибка CScript: на этом компьютере отключен доступ к узлу сценария Windows. Для получения дополнительной информации обратитесь к администратору.

Итак, после пары поисков в гугле я нашел решение: Перейдите к следующей клавише:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows скрипт хост\настройки

в правой панели, вы увидите включена. Если вы видите запись 0, это означает, что доступ к хосту сценария Windows отключен на вашем компьютере Windows.

дважды щелкните по нему и дайте ему значение Data 1, чтобы включить его.

значение 1 позволит Windows Script Host Значение 0 отключит узел сценария Windows.

для Windows 10, перейдите к

HKEY_CURRENT_USER\Software\Microsoft\Windows скрипт хост\настройки


моей проблемой был Smad-Av, который отключает запуск сценариев Windows, Только пройдя через эту нить, я вспомнил. Я просто щелкнул правой кнопкой мыши значок Smad-Av и выбрал Разрешить Макрос Windows-Script & Office (Постоянный).


У меня была такая же проблема с установкой PostgreSQL (не удалось написать в пути переменной среды TEMP), проблема была в Хосте сценария Windows, который был отключен (проверьте файл журнала, чтобы узнать, является ли это вашей проблемой). включите его с помощью редактора регистров (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


Проверьте журнал в каталоге TEMP системы (при условии, что установщик может записывать в него). Есть много информации об ошибках.

моя проблема заключалась в том, что файлы VBS были связаны с текстовым редактором (вероятно, антивирусное программное обеспечение является виновником) .

здесь вы можете найти некоторые сценарии редактирования reg, чтобы вернуться к умолчанию поведение: http://www.nilpo.com/2009/07/windows-xp/restoring-vbs-vbscript-script-file-file-associations/#more-107

Ура


это происходит, когда Notepad++ ассоциируется .типы файлов vbs. вы можете открыть notepad++ - > настройки - > fileAssociation Уберите .vbs от зарегистрированных exts. Закройте Блокнот++. Попробуйте установить Postgres еще раз.


в моем случае изменение ключа (по умолчанию) в ключе HKEY_CLASSES_ROOT, .раздел VBS реестра для VBSFile решил его. Синяя рыба-это хватка .файл ассоциации ВБС.


мое решение аналогично #5, с объяснением того, как и почему McAfee разрушает вашу регистрацию vbscript.

по-видимому, когда у меня было антивирусное программное обеспечение McAfee на моем компьютере, он разбил vbscript.Регистрация dll, которую должен запустить узел сценариев Windows.VBS-файл.

В экспорт .Файл REG:

[HKEY_CLASSES_ROOT\CLSID{B54F3741-5B07-11cf-A4B0-00AA004A55E8}\InprocServer32] @="C:\Program Файлы\Общие Файлы\McAfee\SystemCore\ScriptSn.20120327211246.DLL-файл"

Это должно быть изменено обратно на "C:\Windows\System32\vbscript - ... dll файлы" теперь.

McAfee, по-видимому, устанавливает DLL, которая захватывает vbscript.dll файлы для того, чтобы попытаться защитить плохих скриптов. Когда я удалил McAfee в пользу Microsoft

Security Essentials, McAfee не восстановил пути реестра ("нет моя проблема"), и DLL McAfee, конечно же, была удалена из местоположения во время удалите, поэтому vbscript.Регистрация dll фактически указывала ни на что и ни на что.

должен быть лучший способ написать антивирусное программное обеспечение, чтобы оно не отключало операционную систему пользователя при ее удалении или когда функции выключаются, или заменяют регистрацию. См. следующее:

https://kc.mcafee.com/corporate/index?page=content&id=KB71660

У меня 64-разрядная ОС. Путь реестра был изменен в ряде места.

обычный идентификатор класса должен указывать на "C:\Windows\System32\vbscript - ... dll " 64-разрядный файл.

пути реестра "Wow6432Node" должны указывать на "C:\Windows\SysWOW64\vbscript - ... dll " 32-разрядный файл.

да, 64-разрядные находятся в папке "32", а 32-разрядные-в папке" SysWOW64". Корпорация Майкрософт не хотела изменять имя основной папки выполнения" System32 " при переносе в


в каталоге temp мой bitrock_installer.файл журнала имел следующее:

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 Настройки\Temp
  • C:\Users\cpetrie\AppData\Local\Temp

по какой-то причине мои пользовательские переменные "TMP" и "TEMP" ссылались на путь "локальные настройки" вместо пути "AppData". Изменение этого исправлена моя проблема установки.


прежде чем начать возиться с реестром, проверьте, действительно ли WSH отключен или нет. Для этого запустите wscript.exe в поле DOS.

Если вы видите диалоговое окно "настройки Хоста сценария Windows", WSH включен, и ваша проблема с установкой PostgreSQL должна быть связана с чем-то другим. Если вы получите сообщение об ошибке " доступ к хосту сценария Windows отключен на этом компьютере. Обратитесь к администратору за подробностями", WSH отключен, и ваша проблема с PostgreSQL установка может быть связана с ним (или не связана).

для меня моя проблема была связана со скриптом Windows. Я решил это, щелкнув правой кнопкой мыши значок smadav в скрытых значках на панели задач и проверил "Разрешить Windows-script и Office-Macro (постоянный)". Затем дважды щелкните по настройке PostgreSQL еще раз.


сначала перейдите в Редактор реестра, затем выберите HKEY_CURRENT_USER > software > Microsoft > Windows script host > setting > default > add value data to 1 и нажмите Ok. готово!