[環境] System32 のねじれ

2014年12月11日

 C:WindowsSystem32 フォルダは、OS やアプリのターゲットCPU (x86 or x64) によって、見えているものが違います。
 具体的には、x64 Windows の 32bit モードで動作するアプリで C:WindowsSystem32 を参照すると、C:WindowsSysWOW64 が見えます。

 多くの場合、問題は出ませんが、たとえば 32bit モードで動作しているアプリから msg.exe を呼ぶと失敗します。
 これは、C:WindowsSysWOW64 に msg.exe がないからです。

 この事態を回避するためには、C:WindowsSysnative というフォルダにアクセスします。このフォルダは C:WindowsSystem32 を見ているため、msg.exe を見つけることができます。

 しかし、この C:WindowsSysnative は x64 Windows の 32bit モードでしか使用できないので、x86 Windows や x64 Windows の 64bit モードでこのフォルダをアクセスしようとすると失敗します…

 …なんと難儀な(汗

  • cmd.exe (32bitモード, c:WindowsSysWOW64cmd.exe) で msg.* を検索した視た結果

     C:WindowsSysnative でのみ msg.exe が見つかる。

  • cmd.exe (64bit モード) で msg.* を検索した視た結果

     C:WindowsSystem32 で msg.exe が見つかるが、C:WindowsSysnative にはアクセスできない。






カテゴリー: OS, Windows, 環境設定

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org