- - PR -
ProgramFilesの下に作ったフォルダのセキュリティ権限
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-07-11 18:53
VB.NETでセットアッププロジェクトを使ってmsiを作成しました。
これをVistaにインストールすると、Program Filesの下にインストールできるますが、 そのアプリの中でログファイルを書き込む処理があるのですが、 ログファイルが別のフォルダに書き込まれてしまいます。 (〜\AppData\Local\VirtualStore\Program Files\〜) なので、対象フォルダ(C\Program Files\〜)にセキュリティ権限を与えたいのですが、 可能でしょうか? orcaを使ってできそうな気がするのですが、いろいろ検索しても なかなか情報を見つけることができなくて・・・。 ちなみに、 ・インストールしたあと、手動で対象のフォルダの権限を変える ・インストール先をアクセス権限のあるフォルダにする という方法も考えていますが、これらはできれば使いたくない手段です。 どなたかご存知の方、教えていただけるとたいへん助かります。 よろしくお願いします。 | ||||
|
投稿日時: 2007-07-11 19:06
http://bitwiz.jp/tabid/56/BlogID/9/Default.aspx
| ||||
|
投稿日時: 2007-07-11 21:09
というか、そういう処理は行うべきではありません。
%APPDATA% とか %LOCALAPPDATA% とかに出力するようにしましょう。 _________________ | ||||
|
投稿日時: 2007-07-11 21:15
UAC を無効にしたり、管理者として実行したりすれば可能ですが、ちゃっぴさんのおっしゃる通り行うべきではありません。 また、VisualStudio2008(Orcas)で作ろうと変わりません。 _________________ かるあ のメモ と スニペット | ||||
|
投稿日時: 2007-07-11 22:38
ORCA(msiのエディットツール)とOrcas(VS2008)は違いますよ。>かるあさん
えっと、本題ですが... すでに皆さんが書いてる通り、権限を与えてできるようにするのではなく そんなところに書かないようにすべきです。 ちなみに... msi でフォルダのアクセス権を変更することは可能です(限定はされますけどね)。 見つけられなかったのは探した範囲か、探し方の問題だと思います。 _________________ // とっちゃん(高萩 俊行)@わんくま同盟 // とっちゃん’Blog // MS-MVP for Developer Tools - Visual C++ // WindowsInstallerの話題はhttp://www.freeml.com/msiまで | ||||
|
投稿日時: 2007-07-12 01:31
うぁ恥ずかしい(汗 ありがとうございます。 yu さんごめんなさい。 _________________ かるあ のメモ と スニペット | ||||
|
投稿日時: 2007-07-12 02:58
%PROGRAMFILES% に書き込んではいけない理由について説明したのでご参照ください。
なぜ %PROGRAMFILES% に書き込んではいけないか? _________________ | ||||
|
投稿日時: 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の下のフォルダに権限をつけることができないかと考えてしまいました。 ちなみに、XPでもVistaでもパス名が変わらない、ユーザが書き込めるフォルダに保存するということは可能でしょうか? (質問の趣旨がずれてしまってすみません) とにかく、ProgramFilesの下のフォルダに権限を与えるのはやめます。 |