Visual Studio 2010 を使用してアンマネージ C++ で記述したドライバーがあります。64 ビット Windows 7 で DLL をコンパイルする場合、ビルド後の手順は次のとおりです。
echo Copying $(TargetFileName) to the OS's 64-bit system folder ...
xcopy $(TargetPath) $(SystemRoot)\System32\. /Y /Q
ただし、dll は代わりに $(SystemRoot)\SysWOW64\ にコピーされます。これは、32 ビット アセンブリにのみ発生すると思われます。
しかし!Windows エクスプローラーを使用するか、コマンド シェルから xcopy を使用して dll を System32 にコピーすると、dll は System32 フォルダーに正しく配置されます。私は何を間違っていますか?Visual Studio が 32 ビット プログラムであり、POST-BUILD イベントがその 32 ビット プロセスのコンテキストで実行されるためですか?