|
■No65112 (クンマー さん) に返信 > 一つのPCの全ユーザーでデータを共有するため、ソフトを最初に起動したときに > ProgramDataフォルダに指定のフォルダを作り、ここに初期データを格納するようにしたのですが、 > 別ユーザーでソフトを実行すると、このファイルへのアクセスが拒否され、 > ここに格納したデータを上書きすることが出来なくなりました。 > どうやって作成しましたか?
> おそらく、最初にこのソフトを起動した時に格納したデータファイルの書き込み等のアクセス権限が、 > その時のユーザ以外の標準ユーザーには割り当てられていないためだと思いますが、 このメッセージを見たほぼすべての人が確認する手段を持たないため「おそらく」では 適切な回答をもらうことはできないと思ってください。 実際の事象を確認できるのは質問者本人だけです。
> 初期データファイル格納時にこのファイルに対して全員がフルアクセス可能にするにはどうすれば > いいのでしょうか? > 対象OSはWindows XP, Vista, 7です(Windows 8も同様かもお聞かせ頂けるとありがたいです)。 適切な権限を設定した、DiretorySecurity オブジェクトを利用して System.IO.Directory.CreateDirectory( string, System.Security.AccessControl.DirectorySecurity ); メソッドで作成すればよいと思います。
何が適切な権限になるかは、何一つ情報がないのでわからないので、自分なりに調べてください。
アクセス権の問題は、非常にデリケートで作成方法や手順によっては、うまく設定できないことがあります。
また、質問する際に、ユーザーアカウントの詳細やフォルダの詳細などを記載してしまうとどこからかアタックを受ける可能性もあります。 そういうことに注意して、適度にはぐらかして質問するようにしてください。
なお、OSによって、アクセス制御は異なる可能性があります。 また、デフォルトのアクセス権も異なります。ですので、OSごとにきちんと動作を確認してください。
Windows 8 が同様か?という点ではおそらく Windows 7 と同じだと思いますが、確認をとっていないのでわかりません。
|