在Windows上安装PostgreSQL 9:“;无法写入内部临时环境路径。”;
我试图在我的WinXP计算机上安装PostgreSQL 9(PostgreSQL-9.0.3-1-windows.exe),开始时出现以下错误: 一些谷歌搜索得到了一些建议。我已经检查过了,WSH肯定是启用的,所以它一定是其他东西。问题是,什么 我可以看到一个名为prerun_checks的文件。vbs是在%TEMP%中创建的,当我尝试手动运行此文件时,会得到以下结果:在Windows上安装PostgreSQL 9:“;无法写入内部临时环境路径。”;,windows,postgresql,installation,Windows,Postgresql,Installation,我试图在我的WinXP计算机上安装PostgreSQL 9(PostgreSQL-9.0.3-1-windows.exe),开始时出现以下错误: 一些谷歌搜索得到了一些建议。我已经检查过了,WSH肯定是启用的,所以它一定是其他东西。问题是,什么 我可以看到一个名为prerun_checks的文件。vbs是在%TEMP%中创建的,当我尝试手动运行此文件时,会得到以下结果: Executing cscript //NoLogo "C:\Users\MyUser\Local Settings\po
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".
这看起来像是权限错误。然而,我是一名管理员,我已经完全控制了临时文件夹,但它仍然不工作
感谢您的帮助。当我完成上面的问题时,我们的IT人员出现了,并立即知道问题所在:是McAfee。它阻止任何东西在临时文件夹中运行,包括Windows脚本主机脚本。在安装期间禁用McAfee修复了我的问题
因此,如果您发现此问题,请尝试禁用您的防病毒功能。为了防止进一步的问题,您还应该将数据目录(Postgres放置其数据的地方)排除在病毒扫描程序的扫描之外。如果其他人正在搜索此信息,但在这里没有任何运气,您可能需要查看: 有关邮件列表的后续信息,请阅读:
在我的例子中,解决方案与
NotePad++
有关,它是打开.vbs
文件的默认应用程序。如果您遇到同样的情况,这里有一个详细的解决方案:
简而言之,在注册表中,您需要转到
HKEY\U CLASSES\U ROOT\.vbs
,并将(默认)
项设置回字符串VBSFile
下页中的答案对我有帮助。
事实上,我发现HKEY_LOCAL_MACHINE->SOFTWARE->Classes->CLSID->B54F3741-5B07-11cf-A4B0-00AA004A55E8}有3个条目,并将第一个条目设置为如上所述,它可以工作。检查系统临时目录中的日志(前提是安装程序能够写入)。 有很多关于错误的信息 我的问题是VBS文件与文本编辑器关联(可能是反病毒软件造成的) 在这里,您可以找到一些reg edit脚本以恢复默认行为:
干杯在我的例子中,是另一个应用程序导致了问题。不是记事本++。对于遇到此问题的其他人,您可以先删除
C:\Documents and Settings\UserName\Local Settings\Temp
中的所有文件,以便在再次尝试安装postgresql时可以轻松找到bitrock\u安装程序。log
,并查看其中的说明。将注册表的HKEY\U CLASSES\U ROOT
,.vbs
部分中的(默认)项更改为VBSFile解决了此问题。我在尝试在64位Windows 7上安装32位版本时遇到此问题
尝试64位安装工具包不会出现错误,但其他人提供的解决方案也是有效的。在我的例子中,我下载了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好吧,在我的情况下,什么都不起作用,禁用McAffee需要我公司的安全团队提供一张特殊的罚单才能真正做到。。。因此,我按照本指南使用二进制文件进行安装 总之,从下载二进制文件,解压缩它,进入
pgsql
文件夹,在其中创建log
和data
目录,然后打开命令提示符,导航到pgsql\bin
文件夹所在的位置,然后运行initdb-U postgres-a密码-E utf8-W-D POSTGRESQL\U ROOT\data
您可以通过运行来启动和停止服务器
"POSTGRESQL_ROOT/bin/pg_ctl" -D "POSTGRESQL_ROOT/data" -l "POSTGRESQL_ROOT/log/pgsql.log" start
及
其中POSTGRESQL_ROOT是
pgsql
文件夹的完整路径 当记事本++关联.vbs文件类型时会发生这种情况。
您可以打开记事本+->首选项->文件关联
从已注册的exts中删除.vbs。
关闭记事本++。请再次尝试安装Postgres。我的问题是Smad Av,它使Windows脚本无法运行, 经过这条线,我才记起。
我刚刚右键单击Smad Av图标并选择了允许Windows脚本和Office宏(永久)以上所有操作对我都不起作用。我得到了一个错误,比如: 脚本输出: CScript错误:此计算机上已禁用Windows脚本主机访问。有关详细信息,请与管理员联系 因此,在谷歌搜索了几次之后,我找到了解决方案: 导航到以下键: HKEY\ U本地\计算机\软件\ Microsoft\Windows脚本主机\设置 在右侧面板中,您将看到已启用。如果看到条目0,则表示Windows计算机上已禁用Windows脚本主机访问 双击它并给它值Data 1以启用它 值为1将启用Windows脚本主机 值为0将禁用Windows脚本主机 对于windows 10,请导航到 HKEY\ U当前\用户\软件\ Microsoft\Windows脚本主机\设置
在我的例子中,将注册表的HKEY_CLASSES_根.vbs部分中的(默认)键更改为VBSFile解决了这个问题。BlueFish是grab.vbs文件关联 我的解决方案类似于#5,解释了McAfee如何以及为什么会破坏您的vbscript注册 显然,当我
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".
REG DELETE "HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /f
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled /f