2016-08-08 5 views
-2

例外ログ(例:log.txt)を書き、 "C:\ Program Files(x86)\ App"という次のパスに書きたい\ログ"。私がそうすると、私はアクセスが拒否されたので、私はログと呼ばれるフォルダを作成することはできませんと同時に、log.txtを書くことができないと私はまた圧縮コードをlog.zip ?スタックオーバーフローのコードスニペットのいくつかを実り多いものではないように見せました。C#.NetでWindows7のCディレクトリにディレクトリを作成するには

どのようにこの問題を解決できますか?

よろしく、 ギブソン

+0

を許可を与えることができ – lordkain

+2

「管理者として実行」またはログをどこかに書いてください。 lse、ProgramFilesはログ用ではないためです。 –

+1

これらのディレクトリへの書き込みは、昇格した権限でのみ可能です。これらのログファイルをappdataフォルダに書き込む必要があります。 –

答えて

4

あなたが取得しているエラーは、通常のユーザーは、「Cの下にフォルダやファイルを作成する権限を持っていないという事実のために最も可能性が高いです:\プログラムファイル(x86の)\ "ディレクトリ。 これは目的のためです通常のユーザーではなく、そのディレクトリに書き込む必要があります。

アプリケーションは、管理者または権限の昇格したユーザーによってそのディレクトリの下にインストールされます。アプリケーションは、ログファイルをユーザーのプロファイルディレクトリの下の場所に書き込む必要があります。 "%appdata%"の下のどこかにあります。

私たちは、%PROGRAMFILES%ディレクトリの下のどこかにファイルを更新する必要があり、それは総悪夢の悪い書かれたベンダーのソフトウェアをサポートする必要がIT部門で働いています。ウィルスなどの悪意のあるソフトウェアがアプリケーションを秘密に改ざんする可能性があるため、一般的にそのフォルダに書き込む許可をユーザーに与えないようにします。しかし、私たちのウイルスソフトウェアでは例外を作らなければならず、残念なことに私たちのビジネスに依存しているこの逸脱したアプリケーションのために、フォルダに特別なセキュリティを常に維持しなければなりません。物語のポイントは:それをしないでください。それは悪い習慣であり、あなたの顧客は幸せではありません。 Windows 7の上のフォルダやファイルを作成

-1
  • は のみ許可されたユーザーは、ファイルやフォルダを作成することができます任意のユーザーのために開かれていない
  • あなたはフォルダを追加したい のメインディレクトリ上のすべての人に権限を与えることができますいずれかまたはあなたはまた、プロセスへのプログラムファイルのフォルダ/ファイルを作成するためのアクセス権を持っていけないということかもしれないアプリケーションプールでIISを開始している ユーザーをチェックして、メインフォルダに彼に
関連する問題