Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I am installing PostgreSQL 9.2.4-1-windows.exe on Windows 7 64 with Service Pack 1.

I get the following, rather famous it seems, error:

There has been an error.

Unable to write inside TEMP environment variable path.

This occurs immediately upon launching. I see the postgresql splash, then this error occurs.

Everything I have found on the interwebs so far, i have tried. It includes:

  1. Disabled all anti-virus software. I have also stopped everything in the startup.
  2. Checked file associations for .VBS scripts. Nothing irregular (Windows Script Host registered)
  3. Windows Script Host is Enabled.
  4. I've tried installing as Administrator and other users that have admin rights.
  5. I have created the key HKLM\SOFTWARE\PostgreSQL\Installations manually and give it full rights.
  6. I have given Everyone full access to C:\Users\[username]\AppData\Local\Temp and c:\temp

Basically everything in the top 10 google hits.

I am working with the 32 bit version, but the 64 bit version install fails with the same error. I'm able to install successfully on other machines with similar config.

What else can I try?

Install log file:

Log started 09/20/2013 at 11:55:16 Preferred installation mode : qt Trying to init installer in mode qt Mode qt successfully initialized Executing C:\Users\chad\AppData\Local\Temp/postgresql_installer_67b274715d/temp_check_comspec.bat Script exit code: 0

Script output: "test ok"

Script stderr:

Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2 Data Directory. Setting variable iDataDirectory to empty value Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2 Base Directory. Setting variable iBaseDirectory to empty value Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2 Service ID. Setting variable iServiceName to empty value Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2 Service Account. Setting variable iServiceAccount to empty value Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2 Super User. Setting variable iSuperuser to empty value Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2 Branding. Setting variable iBranding to empty value Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2 Version. Setting variable brandingVer to empty value Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2 Shortcuts. Setting variable iShortcut to empty value Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2 DisableStackBuilder. Setting variable iDisableStackBuilder to empty value [11:55:21] Existing base directory: [11:55:21] Existing data directory: [11:55:21] Using branding: PostgreSQL 9.2 (x86) [11:55:21] Using Super User: postgres and Service Account: NT AUTHORITY\NetworkService [11:55:21] Using Service Name: postgresql-9.2 Executing cscript //NoLogo "C:\Users\chad\AppData\Local\Temp\postgresql_installer_67b274715d\prerun_checks.vbs" Script exit code: 1

Script output: Input Error: There is no script engine for file extension ".vbs".

Script stderr: Program ended with an error exit code

Error running cscript //NoLogo "C:\Users\chad\AppData\Local\Temp\postgresql_installer_67b274715d\prerun_checks.vbs" : Program ended with an error exit code

share|improve this question
3  
Not an answer, but I would focus on this: There is no script engine for file extension ".vbs". looks like a good culprit! –  Daniel Vérité Sep 20 '13 at 20:56

1 Answer 1

up vote 3 down vote accepted

I was having this issue on Windows 7 64-bit and the following solution is what worked for me (via http://igordcard.blogspot.com/2012/03/unable-to-write-inside-temp-environment.html):

Why
To understand why this error was happening, I went to my TEMP folder and read the log from the PostgreSQL installer: C:\Users\myuser\AppData\Local\Temp\bitrock_installer.log

Which mentioned an interesting detail:
Input Error: There is no script engine for file extension ".vbs".

So, I picked up another file from the TEMP folder, the actual script used by the installer:
C:\Users\myuser\AppData\Local\Temp\prerun_checks.vbs

And tried to run it through the console using cscript:
Input Error: There is no script engine for file extension ".vbs".

I researched a bit more and discovered that the type of file associated with the vbs extension had been changed. In my case, by Notepad++. After I installed Notepad++, I associated some file extensions with it (including vbs), thus causing problems when detecting the type of the script (which shouldn't happen).

Solution
Run regedit, navigate to HKEY_CLASSES_ROOT\.vbs and change the (Default) key back to the string VBSFile. In my case it had been previously altered to Notepad++_file.

share|improve this answer
    
This really looks like the answer, but please include here the most important points of that post (and probably the findings of your own) so that this answer is safe from link rot. –  dezso Nov 27 '13 at 21:37
    
Thanks @dezso, I've added the important details from the referenced URL. –  bspkrs Dec 4 '13 at 15:57
    
Not sure when this question got moved to DBA, but this was the answer. Basically, vbs was completely jacked on the computer. This led me right to the problem. –  paqogomez Apr 8 at 17:54

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.