- PR -

ProgramFilesの下に作ったフォルダのセキュリティ権限

投稿者投稿内容
IIJIMAS
ベテラン
会議室デビュー日: 2006/12/06
投稿数: 77
投稿日時: 2007-07-12 10:50
引用:

今まではマニュアルに、パス名を「C:Program Files〜data」と統一して記述することができました。
ところがこれからは、その箇所を
XPの場合は「C:Documents and Settings(ユーザ名)My Documents〜data」
Vistaの場合は「C:Users(ユーザ名)Documents〜data」


マニュアルにたとえば「%appdata%\data」
と書くとかどうでしょうか。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2007-07-12 10:53
引用:

yuさんの書き込み (2007-07-12 10:22) より:
ちなみに、XPでもVistaでもパス名が変わらない、ユーザが書き込めるフォルダに保存するということは可能でしょうか?


理想論を言うと、アクセス権限はユーザーが任意に設定可能なものだし、フォルダ名はユーザーが任意に変更可能なものです。したがって、そんなものは存在しません。もちろんインストール時にそういうフォルダを作ることは可能でしょうけど。

よりユーザフレンドリーにしたいなら、そもそもフォルダを入力する必要が無いように修正したらよいでしょう。

#現実的な選択肢としては%ALLUSERSPROFILE%かなぁ。マルチユーザの問題は残るけど。
_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-07-12 12:01
IIJIMASさん:
開発者が相手なら、ね。対象者によっては余計に混乱させるでしょう。


みか星さん(漢字が出ないのごめん):
マルチユーザーの前にマルチタスクな問題があるようです。


本題
All Users/Application Data

あらかじめ、権限変更は必要


ユーザーに見せなければならないなら、共有ドキュメント
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2007-07-12 12:48
引用:

yuさんの書き込み (2007-07-12 10:22) より:
みなさまどうもありがとうございました。とても勉強になりました。

ProgramFilesの下に作ったフォルダに権限を与えるべきでないというのはうすうす分かっていたのですが・・・。
プログラムの中でテキストファイルを作成しているのですが、そのファイルを別のアプリで使用します。
そのため、テキストファイルが作成されるフォルダを別のアプリに対してフルパスで指定する必要があるのですが、
今まではマニュアルに、パス名を「C:Program Files〜data」と統一して記述することができました。
ところがこれからは、その箇所を
XPの場合は「C:Documents and Settings(ユーザ名)My Documents〜data」
Vistaの場合は「C:Users(ユーザ名)Documents〜data」
と、OSのバージョンに分けて書かないといけなくなるということになってしまうことになると思うんです。
対象がパソコンに不慣れな方たちなので、とても混乱させてしまうことが予想されたため、乱暴な方法だとは思いましたが、
ProgramFilesの下のフォルダに権限をつけることができないかと考えてしまいました。



出力先の path を copy できるような機能を設ければそれで終わりじゃないですか?

それから、その file は他の user も扱う必要があるものですか?
扱う必要が無ければ、当然その user profile に保存すべきです。

引用:

ちなみに、XPでもVistaでもパス名が変わらない、ユーザが書き込めるフォルダに保存するということは可能でしょうか?



Vista で実体の path は変わっていますけど、従来の名前の folder は junction, symbolic link として実装されています。

ということでまったく使えないというのは誤りです。

ただ、そういう互換性は用意されていても新たに作成する application はそれを利用してはいけません。API を使って取得するべきです。

なお、互換性のために用意された junction を explorer ひとつずつたどった場合には、対象にたどりつけないため注意が必要です。ただし、junction の先も含めた path を一度に与えればたどり着けます。

"C:\Documents and Settings" は NG
"C:\Documents and Settings\(ユーザ名)" は OK
_________________
yu
会議室デビュー日: 2006/08/03
投稿数: 8
投稿日時: 2007-07-12 13:30
みなさまどうもありがとうございます。

出力先のパスをコピーできるような機能をつける方法、私も先ほど思いつきました。
それで、パスの問題はひとまず解決したとして、もうひとつ、

引用:

それから、その file は他の user も扱う必要があるものですか?
扱う必要が無ければ、当然その user profile に保存すべきです。



他のユーザも扱えるほうがよいです。
できれば、これからもユーザ間で共有したいのですが、エクスプローラなどでユーザが共有フォルダを作らないといけない、
というのであれば、とにかくユーザにはそういう作業はさせたくないので、共有はあきらめます。

スキルアップ/キャリアアップ(JOB@IT)