- PR -

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

投稿者投稿内容
yu
会議室デビュー日: 2006/08/03
投稿数: 8
投稿日時: 2007-07-11 18:53
VB.NETでセットアッププロジェクトを使ってmsiを作成しました。
これをVistaにインストールすると、Program Filesの下にインストールできるますが、
そのアプリの中でログファイルを書き込む処理があるのですが、
ログファイルが別のフォルダに書き込まれてしまいます。
(〜\AppData\Local\VirtualStore\Program Files\〜)

なので、対象フォルダ(C\Program Files\〜)にセキュリティ権限を与えたいのですが、
可能でしょうか?
orcaを使ってできそうな気がするのですが、いろいろ検索しても
なかなか情報を見つけることができなくて・・・。

ちなみに、
・インストールしたあと、手動で対象のフォルダの権限を変える
・インストール先をアクセス権限のあるフォルダにする
という方法も考えていますが、これらはできれば使いたくない手段です。

どなたかご存知の方、教えていただけるとたいへん助かります。
よろしくお願いします。
れい
ぬし
会議室デビュー日: 2005/11/01
投稿数: 346
投稿日時: 2007-07-11 19:06
http://bitwiz.jp/tabid/56/BlogID/9/Default.aspx
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2007-07-11 21:09
というか、そういう処理は行うべきではありません。

%APPDATA% とか %LOCALAPPDATA% とかに出力するようにしましょう。
_________________
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-07-11 21:15
引用:

yuさんの書き込み (2007-07-11 18:53) より:

なので、対象フォルダ(CProgram Files〜)にセキュリティ権限を与えたいのですが、
可能でしょうか?
orcaを使ってできそうな気がするのですが、いろいろ検索しても
なかなか情報を見つけることができなくて・・・。


UAC を無効にしたり、管理者として実行したりすれば可能ですが、ちゃっぴさんのおっしゃる通り行うべきではありません。
また、VisualStudio2008(Orcas)で作ろうと変わりません。
_________________
かるあ のメモスニペット
とっちゃん
大ベテラン
会議室デビュー日: 2005/07/19
投稿数: 203
投稿日時: 2007-07-11 22:38
ORCA(msiのエディットツール)とOrcas(VS2008)は違いますよ。>かるあさん

えっと、本題ですが...
すでに皆さんが書いてる通り、権限を与えてできるようにするのではなく
そんなところに書かないようにすべきです。


ちなみに...
msi でフォルダのアクセス権を変更することは可能です(限定はされますけどね)。
見つけられなかったのは探した範囲か、探し方の問題だと思います。

_________________
// とっちゃん(高萩 俊行)@わんくま同盟
// とっちゃん’Blog
// MS-MVP for Developer Tools - Visual C++
// WindowsInstallerの話題はhttp://www.freeml.com/msiまで
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-07-12 01:31
引用:

とっちゃんさんの書き込み (2007-07-11 22:38) より:

ORCA(msiのエディットツール)とOrcas(VS2008)は違いますよ。>かるあさん


うぁ恥ずかしい(汗
ありがとうございます。

yu さんごめんなさい。
_________________
かるあ のメモスニペット
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2007-07-12 02:58
%PROGRAMFILES% に書き込んではいけない理由について説明したのでご参照ください。

なぜ %PROGRAMFILES% に書き込んではいけないか?
_________________
yu
会議室デビュー日: 2006/08/03
投稿数: 8
投稿日時: 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の下のフォルダに権限を与えるのはやめます。

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