C:WindowsSystem32 フォルダは、OS やアプリのターゲットCPU (x86 or x64) によって、見えているものが違います。
具体的には、x64 Windows の 32bit モードで動作するアプリで C:\Windows\System32 を参照すると、C:\Windows\SysWOW64 が見えます。
多くの場合、問題は出ませんが、たとえば 32bit モードで動作しているアプリから msg.exe を呼ぶと失敗します。
これは、C:\Windows\SysWOW64 に msg.exe がないからです。
この事態を回避するためには、C:\Windows\Sysnative というフォルダにアクセスします。このフォルダは C:\Windows\System32 を見ているため、msg.exe を見つけることができます。
しかし、この C:\Windows\Sysnative は x64 Windows の 32bit モードでしか使用できないので、x86 Windows や x64 Windows の 64bit モードでこのフォルダをアクセスしようとすると失敗します…
…なんと難儀な(汗
- cmd.exe (32bitモード, c:\Windows\SysWOW64\cmd.exe) で msg.* を検索した視た結果
C:\Windows\Sysnative でのみ msg.exe が見つかる。
- cmd.exe (64bit モード) で msg.* を検索した視た結果
C:\Windows\System32 で msg.exe が見つかるが、C:\Windows\Sysnative にはアクセスできない。