何となく Blog by Jitta
Microsoft .NET 考

目次

Blog 利用状況
  • 投稿数 - 761
  • 記事 - 18
  • コメント - 36166
  • トラックバック - 222
ニュース
  • IE7以前では、表示がおかしい。div の解釈に問題があるようだ。
    IE8の場合は、「互換」表示を OFF にしてください。
  • 検索エンジンで来られた方へ:
    お望みの情報は見つかりましたか? よろしければ、コメント欄にどのような情報を探していたのか、ご記入ください。
It's ME!
  • はなおか じった
  • 世界遺産の近くに住んでます。
  • Microsoft MVP for Visual Developer ASP/ASP.NET 10, 2004 - 9, 2011
広告

記事カテゴリ

書庫

日記カテゴリ

ギャラリ

その他

わんくま同盟

同郷

 

以前のエントリで、Program Files フォルダ以下への書き込みや、レジストリの HKLM/SOFTWARE 以下への書き込みは、アカウント毎に仮想化された領域へ書き込まれるので、他のアカウントからは見えない、と書きました。

ところが、実際には、アカウント A で書き込んだものが、アカウント B で見えるんですね。不思議ですね。

ローカル セキュリティ ポリシーを見ると、「ユーザー アカウント制御:各ユーザーの場所へのファイルまたはレジストリへの書き込みエラーを各ユーザーの場所に仮想化する」という項目がありました。「書き込みエラーを各ユーザの場所に仮想化する」、ですって?ということは、エラーになった場合だけ、仮想化されたところへ書き込まれる?

ん???

Program Files へ書き込もうとすると(というか、新規作成がフォルダしかないのですが)、「対象のフォルダへのアクセスは拒否されました」と出るんですけど?これって、失敗したんじゃないの?そのダイアログには[(シールド アイコン)続行][スキップ][キャンセル]とあって。。。スキップとキャンセルが同じように見えるんだけど、たぶん、複数やったときに違うんだろうな。で、[続行]をすると昇格ダイアログが表示され、承認すると作成できてしまうんですけど?で、それは他のアカウントでも、見えるんですけど?もちろん、Users グループの場合も同様。

ベータ版では出来たのかな?RTM 版では、メモ帳からファイルを保存しようとすると、「この場所に保存するアクセス許可がありません。管理者に連絡してアクセス許可を取得してください。代わりに[ドキュメント]フォルダに保存しますか?」と、尋ねてきた。[いいえ]だと、どこにも保存されない。

う~~~~~~~~~ん、わからん。

投稿日時 : 2007年1月31日 6:35
コメント
  • # re: Vista 仮想化されなくなった?
    Hata
    Posted @ 2007/01/31 8:52
    ちょっと今 Vista が手元にないので確かめてませんが、メモ帳は UAC aware (≒ requestedPrivileges を manifest にも持っている)なので、以前から仮想化は効かなかったような。違ったらごめんなさい。
  • # re: Vista 仮想化されなくなった?
    Hata
    Posted @ 2007/01/31 8:55
    すみません、訂正。
    > manifest にも持っている

    > manifest に持っている

    あと、昇格して Program Files に書き込んだのが他のユーザーにも見える件。それは、昇格して書き込んだということは、仮想化されてない実体ファイルを書き込んだということであり、グローバルに見えるべきものだと思います。
  • # re: Vista 仮想化されなくなった?
    えむけい
    Posted @ 2007/02/01 0:26
    Hataさんの言うとおりです。manifestが付いているとそのプログラムはVista向けに作成されているとみなされ、フォルダの仮想化やらプログラム互換性アシスタントやらインストーラ検出やらのおせっかい機能が働かなくなります。
    たとえばここに解説があります。
    http://msdn.microsoft.com/msdnmag/issues/07/01/UAC/default.aspx?loc=jp
    > バイナリにアプリケーション マニフェストが含まれる場合、またはバイナリが 64 ビット用にネイティブにコンパイルされている場合、これらのテクノロジが無効になることに注意してください。これらのテクノロジがデザインされたのは、標準ユーザーを意識してデザインされていない従来のアプリケーションの互換性を単に支援するためです。
    また昇格している間はProgram Filesに書き込めるので仮想化も働きません。
  • # re: Vista 仮想化されなくなった?
    Jitta
    Posted @ 2007/02/01 21:40
    Hataさん、えむけいさん、コメントありがとうございます。

    > manifest に持っている
    > たとえばここに解説があります。
     なるほど。ありがとうございます。
     MSDN マガジンは、未チェックでした。UAC チームのブログや、ベータ プログラム中の記事は目を通していたのですが。

    > 昇格して Program Files に書き込んだのが他のユーザーにも見える件。
    すみません、これは、理解しています。私の表現力不足です。
タイトル
名前
Url
コメント