debugsqlModerate
Error: Unable to write inside TEMP environment variable path
Viewed 0 times
patherrortempunablewriteenvironmentvariableinside
Problem
I am installing
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:
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
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:
- Disabled all anti-virus software. I have also stopped everything in the startup.
- Checked file associations for
.VBSscripts. Nothing irregular (Windows Script Host registered)
Windows Script Hostis Enabled.
- I've tried installing as Administrator and other users that have admin rights.
- I have created the key
HKLM\SOFTWARE\PostgreSQL\Installationsmanually and give it full rights.
- I have given
Everyonefull access toC:\Users\[username]\AppData\Local\Tempandc:\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
Solution
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:
Which mentioned an interesting detail:
So, I picked up another file from the TEMP folder, the actual script used by the installer:
And tried to run it through the console using cscript:
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
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.logWhich 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.vbsAnd 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.Context
StackExchange Database Administrators Q#50273, answer score: 11
Revisions (0)
No revisions yet.