fc2ブログ

トップ  >  パソコン豆知識  >  VirtualStoreの悲劇(拡張子)

VirtualStoreの悲劇(拡張子)

2010年11月05日

Windous Vista/7/8で導入されている[VirtualStore]ですが色んな悲劇があるようです。[VirtualStoreの悲劇]では[VirtualStore]で起こる悲劇をジャンル別に紹介します。

VirtualStoreとは何か、、、
基本的な事を[VirtualStoreの悲劇(ファイル操作)]に書いています。

今回は[新規作成(出力/保存)出来ないファイル(拡張子)がある]と言う不思議な現象について紹介します。

例えば、[C:\Program Files]に[Test]というフォルダを作って、テストプログラム[a.exe]をコピーします。このテストプログラム[a.exe]はカレントのディレクトリに[b.txt]というファイルを作成する仕様だとします。

このテストプログラム[a.exe]を[管理者では無い状態]で実行すると、[C:\Users\UserName\AppData\Local\VirtualStore\Program Files]というフォルダに[b.txt]というファイルが作成されます。

しかし、このテストプログラム[a.exe]を[b.bat]というファイルを作成するように仕様変更すると、実行時に[アクセスが拒否されました]というメッセージのエラー(例外)が発生します。

拡張子[txt]は良いけど拡張子[bat]はダメという事です。[アクセス拒否]される拡張子は[bat]以外に[exe]も同様です。

セキュリティ的なガードで安心なのかもしれませんが、この事実を知らないプログラマーには恐ろしい悲劇が待っているかもしれません。

ちなみに、このテストプログラム[a.exe]を[管理者として実行]すれば、[C:\Program Files\Test]に[b.bat]が正常に作成されてエラーは発生しません。また、このテストプログラム[a.exe]をシステムフォルダ(C:\WindowsやC:\Program Files等)以外で実行すれば、カレントディレクトリに[b.bat]が正常に作成されてエラーは発生しません。

※<参考>VirtualStoreのPATH
C:\Users\UserName\AppData\Local\VirtualStore\Program Files
C:\Users\UserName\AppData\Local\VirtualStore\ProgramData
C:\Users\UserName\AppData\Local\VirtualStore\Windows
※<参考>UserNameはログインユーザ名

その他の[VirtualStoreの悲劇]関係の情報はこちらです。
VirtualStoreの悲劇(アップグレード)

スポンサーサイト



監視ファイル実行(ツール) | トップページへ戻る | VirtualStoreの悲劇(ファイル操作)

このページのトップに戻る

コメント

名前
題名
メールアドレス
WEBサイト
 
コメント
パスワード
  管理者にだけ表示を許可する

このページのトップに戻る

トラックバック

このページのトップに戻る