web-dev-qa-db-ja.com

エラー:TEMP環境変数パス内に書き込むことができません

PostgreSQL 9.2.4-1-windows.exeWindows 7 64Service Pack 1とともにインストールしています。

私は以下を取得します、かなり有名なようです、エラー:

エラーが発生しました。

TEMP環境変数のパス内に書き込むことができません。

これは、起動時にすぐに発生します。 postgresqlスプラッシュが表示され、このエラーが発生します。

これまでにインターウェブで見つけたすべてのものを試してみました。以下が含まれます:

  1. すべてのウイルス対策ソフトウェアを無効にした。また、スタートアップのすべてを停止しました。
  2. .VBSスクリプトのファイルの関連付けを確認しました。不規則なものはありません(Windows Script Hostが登録されています)
  3. Windows Script Hostが有効になっています。
  4. 管理者および管理者権限を持つ他のユーザーとしてインストールしてみました。
  5. キーHKLM\SOFTWARE\PostgreSQL\Installationsを手動で作成し、完全な権限を与えました。
  6. EveryoneC:\Users\[username]\AppData\Local\Tempc:\tempへのフルアクセスを付与しました

基本的に トップ10のGoogleヒットのすべて。

32ビットバージョンで作業していますが、64ビットバージョンのインストールが同じエラーで失敗します。同様の設定で他のマシンに正常にインストールできます。

他に何ができますか?

インストールログファイル:

ログは2013年9月20日11:55:16に開始しました優先インストールモード:qtモードでインストーラーを初期化しようとしていますqtモードqtは正常に初期化されました実行中C:\ Users\chad\AppData\Local\Temp/postgresql_installer_67b274715d/temp_check_comspec.batスクリプト終了コード:0

スクリプト出力:「test ok」

スクリプトstderr:

レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2 Data Directoryが見つかりませんでした。変数iDataDirectoryを空の値に設定レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2ベースディレクトリが見つかりませんでした。変数iBaseDirectoryを空の値に設定レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2サービスIDが見つかりませんでした。変数iServiceNameを空の値に設定レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2サービスアカウントが見つかりませんでした。変数iServiceAccountを空の値に設定レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2スーパーユーザーが見つかりませんでした。変数iSuperuserを空の値に設定レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2 Brandingが見つかりませんでした。変数iBrandingを空の値に設定レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2バージョンが見つかりませんでした。変数brandingVerを空の値に設定レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2のショートカットが見つかりませんでした。変数iShortcutを空の値に設定レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.2 DisableStackBuilderが見つかりませんでした。変数iDisableStackBuilderを空の値に設定[11:55:21]既存のベースディレクトリ:[11:55:21]既存のデータディレクトリ:[11:55:21]ブランドの使用:PostgreSQL 9.2(x86)[11:55:21]スーパーユーザーの使用:postgresおよびサービスアカウント:NT AUTHORITY\NetworkService [11:55:21]サービス名の使用:postgresql-9.2 cscript // NoLogo "C:\ Users\chad\AppData\Local\Temp\postgresql_installer_67b274715d\prerun_checksを実行します。 vbs "スクリプト終了コード:1

スクリプト出力:入力エラー:ファイル拡張子「.vbs」のスクリプトエンジンがありません。

スクリプトstderr:プログラムがエラー終了コードで終了しました

Cscript // NoLogo "C:\ Users\chad\AppData\Local\Temp\postgresql_installer_67b274715d\prerun_checks.vbs"の実行エラー:プログラムはエラー終了コードで終了しました

4
paqogomez

私はWindows 7 64ビットでこの問題を抱えていましたが、次の解決策が私にとってうまくいきました( http://igordcard.blogspot.com/2012/03/unable-to-write-inside-temp- environment.html ):

なぜ
このエラーが発生した理由を理解するために、TEMPフォルダーに移動し、PostgreSQLインストーラーからログを読みました:C:\Users\myuser\AppData\Local\Temp\bitrock_installer.log

これは興味深い詳細に言及しました:
Input Error: There is no script engine for file extension ".vbs".

そこで、TEMPフォルダーから別のファイルを選択しました。これは、インストーラーが使用する実際のスクリプトです。
C:\Users\myuser\AppData\Local\Temp\prerun_checks.vbs

そして、cscriptを使用してコンソールから実行しようとしました:
Input Error: There is no script engine for file extension ".vbs".

もう少し調べたところ、vbs拡張子に関連付けられているファイルの種類が変更されていることがわかりました。私の場合、Notepad ++によるものです。 Notepad ++をインストールした後、それにいくつかのファイル拡張子(vbsを含む)を関連付けたため、スクリプトのタイプを検出するときに問題が発生しました(これは発生しません)。

ソリューション
regeditを実行し、HKEY_CLASSES_ROOT\.vbsに移動して、(デフォルト)キーを文字列VBSFileに戻します。私の場合、以前はNotepad ++ _ fileに変更されていました。

9
bspkrs

Regedit-> HKEY_CURRENT_USER-> Software-> Microsoft-> Windows Script Host-> Settings-> Double Click in {Enabled Change Value Data from 0 to 1}-> Ok enter image description here

3
hailush