Out of Memory

ごめん、忘れてた。

目次

Blog 利用状況

ニュース

2008年7月1日
Microsoft MVP for Developer Tools - Visual C++ を再受賞しました。
2008年2月某日
MVPアワードがVisual C++に変更になりました。
2007年10月23日
blogタイトルを変更しました。
2007年7月1日
Microsoft MVP for Windows - SDKを受賞しました!
2007年6月20日
スキル「ニュース欄ハック」を覚えた!
2006年12月14日
記念すべき初エントリ
2006年12月3日
わんくま同盟に加盟しました。

カレンダー

中の人

aetos

顔写真

埼玉を馬鹿にする奴は俺が許さん。

基本的に知ったかぶり。興味を持った技術に手を出して、ちょっと齧りはするものの、それを応用して何か形にするまでは及ばずに飽きて放り出す人。

Microsoft MVP for Windows SDK July 2007 - February 2008, Microsoft MVP for Visual C++ February 2008 - June 2009
Microsoft MVP for Windows SDK
July 2007 - February 2008
Microsoft MVP for Visual C++
February 2008 - June 2009

アクセサリ

あわせて読みたい

e-Words

アフィリエイト

記事カテゴリ

書庫

日記カテゴリ

VisualStudio 2005 on Windows Vista

さて、我が家のPCもようやくVistaの使用準備が整って、(たまにハングするという問題さえなければ)日常的に使えるようになったわけですが。

悩みの種はVisualStudio。

当然、VisualStudio 2005にはSP1とUpdate for Vistaを当てているわけですが、それでもなお「管理者として実行を推奨」と言われる。
常に管理者権限で実行するように設定しておいて、起動の度にパスワードを入力するのなんか、もう慣れっこだからよしとしましょう。

我慢ならないのは、管理者として実行するということは、管理者の権限だけでなく、管理者のユーザーコンテキストで実行するということ。
要するに、レジストリや設定ファイルの保存先が、全部管理者のそれになってしまうということ。

大抵の場合、Vistaで管理者としての実行を要するのは、マシングローバルな設定をする時でしょう。だから許せた。
VisualStudioのこの仕打ちはあんまりです。

ところで、Update for Vistaによって、一体何が解決されたのかがよくわかんないわけですが、修正点の一覧とかはどこかで見られるんでしょうか?

あ、あと、VisualStudio 2008 では、標準ユーザー権限でも完全な使用が可能になってるかどうかも重要なポイントですね。

ついでに各種リンク。
最後の2つの「問題点の一覧」はSP1公開前からあるわけだが、これ、Update for Vistaに合わせて内容は更新されてんのかな?

投稿日時 : 2007年6月23日 17:10

Feedback

# re: VisualStudio 2005 on Windows Vista 2007/06/23 17:37 ちゃっぴ

UAC 環境だと SeDebugPrivilege filter されちゃいますからねぇ。。。

# re: VisualStudio 2005 on Windows Vista 2007/06/23 17:41 シャノン

SeDebugPrivilegeがないと、CreateProcess( ..., DEBUG_PRTOCESS, ... ) ができないんだっけ?
調べてみようっと。

# re: VisualStudio 2005 on Windows Vista 2007/06/23 17:51 ちゃっぴ

> あ、あと、VisualStudio 2008 では、標準ユーザー権限でも完全な使用が可能になってるかどうかも重要なポイントですね。

可能性としては、VS 自体は管理者で起動して、
別の制限された user で program を動作させるのが
現実的かな?

そこら辺の初期設定を行っておけば、
自動的にできるみたいな。。。

って、これ 2005 でも add-in とかで出来ないんですかね?

# re: VisualStudio 2005 on Windows Vista 2007/06/23 19:08 NyaRuRu

私の場合,Web 開発を一切しないせいですかね.Visual Studio 2005 SP1 ですが,一般ユーザで使用していて特に困ったことはないです.
# まあパフォーマンスカウンタ読めるようにグループ追加はしてますが

ところで,素朴な疑問なんですが,

>我慢ならないのは、管理者として実行するということは、管理者の権限だけでなく、管理者のユーザーコンテキストで実行するということ。
>要するに、レジストリや設定ファイルの保存先が、全部管理者のそれになってしまうということ。

具体的に,どういう場面で,どこに記録してほしいデータが,実際にはどこに記録されるという事例でしょうか?
なんか半分ぐらい勘違いが混ざっていそうな予感.

# re: VisualStudio 2005 on Windows Vista 2007/06/23 19:14 NyaRuRu

>全部管理者のそれ

あーもしかして,レガシアプリケーションの仮想化の話ですか?

# re: VisualStudio 2005 on Windows Vista 2007/06/23 19:29 NyaRuRu

> 常に管理者権限で実行するように設定しておいて、起動の度にパスワードを入力するのなんか

すいません,ここを見落としていました.
つまり,普段は管理者権限を持たないユーザーで使っているということですね.
そのため,「管理者承認モード (AAM)」ではなくて「肩越し (OTS: Over the Shoulder) 昇格」が必要になり,そのときにユーザプロファイルが変わってしまう,と.

私の場合,Vista は管理者権限有りのユーザーで常用しているので,昇格時にユーザーが変わる問題はありません.

http://www.microsoft.com/technet/technetmag/issues/2007/06/UAC/default.aspx?loc=jp#S8

> 昇格された AAM プロセスは、AAM ユーザーの標準権限プロセスと同じユーザー アカウントで動作し、ユーザーのプロファイルを共有するため、特に侵害を受ける可能性が高くなります。

# re: VisualStudio 2005 on Windows Vista 2007/06/23 20:02 ちゃっぴ

> SeDebugPrivilegeがないと、CreateProcess( ..., DEBUG_PRTOCESS, ... ) ができないんだっけ?

すでに NyaRuRu さんが hint を与えていますが、

> 私の場合,Web 開発を一切しないせいですかね.Visual Studio 2005 SP1 ですが,一般ユーザで使用していて特に困ったことはないです.

同じ資格情報下での debug は問題ないはずですよ。
別の資格情報を用いていなければ、その user に対して
process は full control の ACL を持つはずなので。

問題となるのは別の user で起動した process です。
# 詳細にちゃんと検証していないので間違っていたら
# 指摘してください。

# re: VisualStudio 2005 on Windows Vista 2007/06/23 20:02 ちゃっぴ

> SeDebugPrivilegeがないと、CreateProcess( ..., DEBUG_PRTOCESS, ... ) ができないんだっけ?

すでに NyaRuRu さんが hint を与えていますが、

> 私の場合,Web 開発を一切しないせいですかね.Visual Studio 2005 SP1 ですが,一般ユーザで使用していて特に困ったことはないです.

同じ資格情報下での debug は問題ないはずですよ。
別の資格情報を用いていなければ、その user に対して
process は full control の ACL を持つはずなので。

問題となるのは別の user で起動した process です。
# 詳細にちゃんと検証していないので間違っていたら
# 指摘してください。

# re: VisualStudio 2005 on Windows Vista 2007/06/23 20:03 NyaRuRu

追記.

「管理者承認モード (AAM)」で昇格中に作成したファイルのデフォルトの所有者は Administrators になってしまうようですね.

もちろん,Windows の場合,柔軟にファイルアクセス権が設定できるため,所有者でないことがすぐに問題に結びつくとは限りません.たとえばAAC 昇格中にファイルをデスクトップに作成しても,制限された状態で消したり編集したりできないものになるわけではありません.

とはいえ,AAC 昇格中に作成したファイルのデフォルトの所有者が通常とは異なるというのは,確かに注意しておくべきことなのかもしれませんね.

# re: VisualStudio 2005 on Windows Vista 2007/06/23 20:05 NyaRuRu

訂正.
上のコメント,AAC -> AAM です.

# re: VisualStudio 2005 on Windows Vista 2007/06/23 23:55 シャノン

> つまり,普段は管理者権限を持たないユーザーで使っているということですね.

そです。Jittaさんオススメの方法。
やってみたら案外苦でもなかったので。

ファイルの所有者というか、VisualStudio から見える Users フォルダや HKCU は管理者のになっちゃうわけじゃないですか。
試しに GetUserName でユーザ名を取得するプログラムを作って VS でデバッグしたら管理者名を表示してくれましたし。

# re: VisualStudio 2005 on Windows Vista 2007/06/24 2:00 NyaRuRu

>そです。Jittaさんオススメの方法。

参考までにお聞きしたいのですが,管理者権限を持ったユーザーで UAC オンのまま使うのに比べて,ユーザーを分けてしまうことの利点って何なのですか?

# Vista でも、「標準ユーザ」でログオンをデフォルトに? 2007/06/24 2:50 .COM -どっとこむ-

Vista でも、「標準ユーザ」でログオンをデフォルトに?

タイトル  
名前  
Url
コメント