Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows上安装PostgreSQL 9:“;无法写入内部临时环境路径。”;_Windows_Postgresql_Installation - Fatal编程技术网

在Windows上安装PostgreSQL 9:“;无法写入内部临时环境路径。”;

在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

我试图在我的WinXP计算机上安装PostgreSQL 9(PostgreSQL-9.0.3-1-windows.exe),开始时出现以下错误:

一些谷歌搜索得到了一些建议。我已经检查过了,WSH肯定是启用的,所以它一定是其他东西。问题是,什么

我可以看到一个名为prerun_checks的文件。vbs是在%TEMP%中创建的,当我尝试手动运行此文件时,会得到以下结果:

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

下页中的答案对我有帮助。

  • 运行->regedit并使用导出备份注册表
  • HKEY_LOCAL_MACHINE->SOFTWARE->Classes->CLSID->B54F3741-5B07-11cf-A4B0-00AA004A55E8}->InprocServer32
  • 使用新值C:\Windows\System32\vbscript.dll修改注册表项

  • 事实上,我发现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