- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:環境変数TEMPを使用するアプリがアクセスエラー)
環境変数TEMPのアクセスエラーについて
このQ&Aのポイント
- Windows7で動作している.NET Framework2.0のアプリが、環境変数TEMPにアクセスエラーでファイルが書き込めない問題が発生しています。
- エラーメッセージによると、TEMPディレクトリへのアクセス権がないため、XmlSerializerが動作しているIDに必要なアクセス許可が与えられていません。
- 問題の原因として考えられるのは、ユーザーアカウントがTEMPディレクトリへのアクセス権限を持っていないため、コンパイルができないことです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- chie65536(@chie65535)
- ベストアンサー率44% (8755/19867)
回答No.3
>パス 'C:\Users\hogehoge\AppData\Local\Temp\null.txt' へのアクセスが拒否されました。 C:\Users\hogehoge\AppData\Local\Temp\null.txtを作成したりオープンしたり出来るのは「ユーザー名hogehogeのユーザーのみ」です。 テストプログラムが「hogehoge」以外のユーザーで実行されている場合は、一切、アクセス出来ません。 XmlSerializerも同様で、XmlSerializerを実行しているユーザーがhogehogeじゃない(ID '{0}'のユーザー)場合は、コンパイルできません。 「環境変数TEMPにアクセスできない」のではなくて「環境変数TEMPで示されるフォルダにアクセスできない」のです。 ぶっちゃけ「C:\TEMP\ってフォルダを作って、そのフォルダを、誰でも読み書き可能にして、環境変数TEMPの値をC\TEMP\にしておく」のが、一番楽です。 大昔の古いアプリの中には、環境変数TEMPで示すフォルダの「パス名の長さ」が「32文字以内」である事を想定しているアプリもあるんで「C:\Users\hogehoge\AppData\Local\Temp\」などと言う長いパス名が設定してあったら、色々と問題が起きます。
- fenglu
- ベストアンサー率43% (317/735)
回答No.2
Vistaが出回りだした頃、ユーザーアカウント制御を無効にするとTEMPにアクセスできなくなるという例がいくつかありましたが……。 Win7で同じかどうかは分かりません。