web-dev-qa-db-fra.com

Installation de PostgreSQL 9 sous Windows: "Impossible d’écrire dans le chemin de l’environnement TEMP."

J'essaie d'installer PostgreSQL 9 (postgresql-9.0.3-1-windows.exe) sur mon ordinateur WinXP et j'obtiens le message d'erreur suivant au début:

Unable to write inside TEMP environment variable path.

Certaines recherches sur Google ont donné des conseils suggérant que Windows Scripting Host pourrait être désactivé . J'ai vérifié et WSH est définitivement activé, donc ce doit être autre chose. La question est quoi?

Je peux voir qu'un fichier appelé prerun_checks.vbs est créé dans% TEMP% et lorsque j'essaie de l'exécuter manuellement, j'obtiens les informations suivantes:

enter image description here

Ce qui ressemble à une erreur d'autorisations. Cependant, je suis un administrateur et je me suis donné le plein contrôle du dossier temporaire et il ne fonctionne toujours pas.

Toute aide appréciée.

22
Charles Roper

Alors que je finissais ma question ci-dessus, notre responsable informatique s'est présenté et a immédiatement compris le problème: il s'agit de McAfee. Cela empêche rien de s'exécuter dans un dossier TEMP, y compris les scripts Windows Scripting Host. Désactiver McAfee pendant la durée de l'installation a résolu le problème pour moi.

Donc, si vous voyez ce problème, essayez de désactiver votre anti-virus.

7
Charles Roper

Dans mon cas, la solution consistait à utiliser NotePad++ comme application par défaut pour ouvrir les fichiers .vbs. Si vous avez la même situation, voici une solution élaborée:

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

En résumé, dans le registre, vous devez accéder à HKEY_CLASSES_ROOT\.vbs et redéfinir l'entrée (Default) sur la chaîne VBSFile.

32
Zach-M

La réponse à la page suivante m'a aidée. http://forums.enterprisedb.com/posts/list/3040.page

  1. lancer-> regedit et sauvegarder le registre en utilisant export 
  2. HKEY_LOCAL_MACHINE-> LOGICIEL-> Classes-> CLSID-> B54F3741-5B07-11cf-A4B0-00AA004A55E8} -> InprocServer32
  3. Modifiez l'entrée de registre avec la nouvelle valeur en tant que C:\Windows\System32\vbscript.dll 

En fait, j'ai trouvé 3 entrées de HKEY_LOCAL_MACHINE-> LOGICIEL-> Classes-> CLSID-> B54F3741-5B07-11cf-A4B0-00AA004A55E8} et définissez le premier comme ci-dessus, cela fonctionne.

5
steven.yang

Si quelqu'un d'autre recherche des informations à ce sujet et n'a aucune chance ici, vous voudrez peut-être regarder:

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

Pour le suivi de la liste de diffusion, veuillez lire:

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

3
Craig Ringer

Eh bien, dans mon cas, rien n’a fonctionné et la désactivation de McAffee nécessitait un ticket spécial avec l’équipe de sécurité de mon entreprise pour le faire ... donc j’ai installé à l’aide des fichiers binaires, en suivant ce guide Guide utile .

En résumé, téléchargez le fichier binaire à partir de ici , décompressez-le, accédez au dossier pgsql, créez-y les répertoires log et data, puis ouvrez une invite de commande, accédez au dossier pgsql\bin et exécutez initdb -U postgres -A password -E utf8 -W -D POSTGRESQL_ROOT\data.

Vous pouvez démarrer et arrêter le serveur en exécutant 

"POSTGRESQL_ROOT/bin/pg_ctl" -D "POSTGRESQL_ROOT/data" -l "POSTGRESQL_ROOT/log/pgsql.log" start

et

"POSTGRESQL_ROOT/bin/pg_ctl" -D "POSTGRESQL_ROOT/data" -l "POSTGRESQL_ROOT/log/pgsql.log" stop

où POSTGRESQL_ROOT est le chemin complet du dossier pgsql

2
adinutzyc21

Mon problème était Smad-Av qui empêchait l'exécution des scripts Windows, Je ne m'en souvenais plus. J'ai juste cliqué avec le bouton droit sur l'icône Smad-Av et sélectionné Autoriser Windows-Script & Office-Macro (Permanent) .

1

Pour éviter d'autres problèmes, vous devez également exclure le répertoire de données (où Postgres place ses données) de l'analyse de votre antivirus.

1

J'ai eu ce problème en essayant d'installer la version 32 bits sur Windows 7 64 bits.

Essayer le kit d’installation pour 64 bits ne présentait aucune erreur, mais les solutions présentées par d’autres sont également valables.

1
Valentin Despa

Dans mon cas, c'était une autre application qui causait le problème. Not Notadad ++. Pour les autres personnes rencontrant ce problème, vous pouvez le diagnostiquer en supprimant d’abord tous les fichiers dans C:\Documents and Settings\UserName\Local Settings\Temp afin de pouvoir retrouver facilement le bitrock_installer.log lorsque vous essayez à nouveau d’installer postgresql et d’afficher ses instructions. Changer la clé (par défaut) dans la section HKEY_CLASSES_ROOT, .vbs du registre en VBSFile l'a résolu.

1
Nav

Tout ce qui précède n'a pas fonctionné pour moi. Je recevais une erreur comme:

Sortie de script: Erreur CScript: l'accès à l'hôte de script Windows est désactivé sur cette machine. Contactez votre administrateur pour plus de détails.

donc après quelques recherches sur Google, j'ai trouvé la solution: Accédez à la clé suivante:

HKEY_LOCAL_MACHINE\Software\Microsoft\Hôte de script Windows\Paramètres

Dans le panneau de droite, vous verrez Activé. Si vous voyez l'entrée 0, cela signifie que l'accès à Windows Script Host est désactivé sur votre ordinateur Windows.

Double-cliquez dessus et donnez-lui la valeur 1 pour l'activer.

Une valeur de 1 activera Windows Script Host Une valeur de 0 désactivera Windows Script Host.

pour Windows 10 accédez à

HKEY_CURRENT_USER\Software\Microsoft\Hôte de script Windows\Paramètres

1
adongo

J'ai eu le même problème avec l'installation de PostgreSQL (impossible d'écrire dans le chemin d'accès à la variable d'environnement TEMP). Le problème venait de Windows Script Host qui était désactivé (consultez le fichier journal pour voir si c'est votre problème). activez-le avec l’éditeur de registre (run -> regedit) à cet emplacement Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows Script Host\Settings en définissant sa valeur sur 1

Pour plus de détails, consultez ce lien: http://1stopit.blogspot.com/2011/01/postgresql-83-and-84-fails-to-install.html

1
Saidoune

Dans mon cas, j'ai téléchargé l'outil de suppression McAfee MCPR (McAfee Consumer Product Removal) , Qui a nettoyé certains résidus après la désinstallation de McAfee.

Certaines entrées de registre qui avaient auparavant des valeurs InprocServer32 telles que 'c:\program files\common files\McAfee\systemcore\...' sont revenues à leurs valeurs d'origine:

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

Après cela, j'ai installé avec succès PostgreSQL 9.3 

1
Kerogi

Avant de commencer à jouer avec le registre, vérifiez si WSH est réellement désactivé ou non. Pour ce faire, exécutez wscript.exe dans la zone DOS.

Si vous voyez une boîte de dialogue appelée "Paramètres d'hôte de script Windows", WSH est activé et votre problème d'installation de PostgreSQL doit être lié à autre chose. Si vous obtenez un message d'erreur indiquant "L'accès à l'hôte de script Windows est désactivé sur cette machine. Contactez votre administrateur pour plus de détails ", WSH est désactivé et votre problème d'installation de PostgreSQL peut y être lié (ou ne pas l'être).

Pour moi, mon problème était lié au script Windows. J'ai résolu ce problème en cliquant avec le bouton droit de la souris sur l'icône smadav dans les icônes masquées de la barre des tâches et en cochant la case "Autoriser le script Windows et la macro Office (permanente)". Ensuite, double-cliquez à nouveau sur la configuration de PostgreSQL.

0
Lashe

Consultez le journal dans le répertoire TEMP du système (à condition que le programme d'installation puisse l'écrire). Il existe de nombreuses informations sur les erreurs.

Mon problème était que les fichiers VBS étaient associés à un éditeur de texte (le logiciel anti-virus est probablement le coupable).

Vous trouverez ici quelques scripts de reg edit pour rétablir le comportement par défaut: http://www.nilpo.com/2009/07/windows-xp/restoring-vbs-vbscript-script-file- associations de fichiers/# plus-107

À votre santé

0
qwlice

Ma solution est similaire au n ° 5, avec une explication de la façon dont McAfee détruit l'enregistrement de votre vbscript.

Apparemment, lorsque le logiciel antivirus McAfee était installé sur mon ordinateur, il bloquait l'enregistrement du fichier vbscript.dll qui obligeait Windows Scripting Host à exécuter les fichiers .VBS. 

Dans le fichier .REG exporté:

[HKEY_CLASSES_ROOT\CLSID {B54F3741-5B07-11cf-A4B0-00AA004A55E8}\InprocServer32] @ = "C:\Fichiers communs\Fichiers communs\McAfee\SystemCore\ScriptSn.201203272112246.dll"

Cela DEVRAIT être de nouveau remplacé par "C:\Windows\System32\vbscript.dll".

McAfee installe apparemment un DLL qui pirate le fichier vbscript.dll afin de tenter d'empêcher l'exécution de scripts défectueux. Quand j'ai désinstallé McAfee en faveur de Microsoft 

Security Essentials, McAfee n'a pas restauré les chemins d'accès au registre ("pas Mon problème") et la DLL McAfee, bien sûr, a été supprimée de l'emplacement au cours de la désinstallation. L'enregistrement vbscript.dll a donc été pointé vers NOWHERE et rien.

Il doit exister un meilleur moyen d'écrire un logiciel antivirus pour qu'il ne désactive pas le système d'exploitation de l'utilisateur lors de la désinstallation de celui-ci, lorsque les fonctionnalités Sont désactivées ou remplace l'enregistrement. Voir ce qui suit:

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

J'ai un système d'exploitation 64 bits. Le chemin d'accès au registre a été modifié à plusieurs endroits. 

L'ID de classe normal doit pointer vers le fichier 64 bits "C:\Windows\System32\vbscript.dll".

Les chemins de registre "Wow6432Node" doivent pointer vers le fichier 32 bits "C:\Windows\SysWOW64\vbscript.dll".

Oui, les 64 bits se trouvent dans le dossier "32" et les 32 bits dans le dossier "SysWOW64". Microsoft ne souhaitait pas modifier le nom du dossier d'exécution principal "System32" lors de la migration vers 64 bits.

HKEY_CLASSES_ROOT\CLSID {B54F3741-5B07-11cf-A4B0-00AA004A55E8} C:\Windows\System32\vbscript.dll

HKEY_CLASSES_ROOT\Wow6432Node\CLSID {B54F3741-5B07-11cf-A4B0-00AA004A55E8} C:\Windows\SysWOW64\vbscript.dll

HKEY_LOCAL_MACHINE\LOGICIEL\Classes\CLSID {B54F3741-5B07-11cf-A4B0-00AA004A55E8} C:\Windows\System32\vbscript.dll

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID {B54F3741-5B07-11cf-A4B0-00AA004A55E8} C:\Windows\SysWOW64\vbscript.dll

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID {B54F3741-5B07-11cf-A4B0-00AA004A55E8} C:\Windows\SysWOW64\vbscript.dll

0
Peter

Dans le répertoire temporaire, mon fichier bitrock_installer.log comportait les éléments suivants:

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".

Il s'avère que Windows a un lien symbolique entre les répertoires suivants:

  • C:\Utilisateurs\cpetrie\Paramètres locaux\Temp
  • C:\Users\cpetrie\AppData\Local\Temp

Pour certaines raisons, mes variables utilisateur "TMP" et "TEMP" faisaient référence au chemin "Paramètres locaux" au lieu du chemin "AppData". Changer cela a résolu mon problème d'installation.

0
Krys Petrie

Allez d'abord dans l'éditeur de registre, puis choisissez HKEY_CURRENT_USER> logiciel> Microsoft> hôte de script Windows> paramètre> par défaut> ajoutez des données de valeur à 1, puis cliquez sur OK. terminé!

0
yome

Dans mon cas, la modification de la clé (par défaut) dans HKEY_CLASSES_ROOT, la section .vbs du registre en VBSFile l'a résolue. BlueFish est une association de fichier grab .vbs. 

0
YOGESH C UGALE

cela se produit lorsque Notepad ++ associe des types de fichiers .vbs. vous pouvez ouvrir le bloc-notes ++ -> Préférences -> fileAssociation Supprimer le fichier .vbs des fichiers enregistrés. Fermez le bloc-notes ++. Essayez d’installer à nouveau Postgres.

0
Muthu

Après avoir désactivé Smad Av, cela ne fonctionnait toujours pas. J'ai donc cliqué avec le bouton droit de la souris sur l'icône de la barre des tâches de Smad Av et sélectionné "Autoriser Windows-Script & Macro Office (permanent)" et tout a fonctionné.

0
Rexben