アプリケーションの 64bit移植で 0xc000007b に悩まされるの巻

アプリケーションを 64bitに移植したら、なぜか 『アプリケーションを正しく起動できませんでした(0xc000007b)。[OK]をクリックしてアプリケーションを閉じてください。』が出るようになった。
英語版は
The application was unable to start correctly (0xc000007b). Click OK to close the application.

Dependency Walker で動作するアプリと動作しないアプリ比べてみたら comctl32.dll で
Error: Modules with different CPU types were found.が出てるもよう。
COMCTL32.dllってことは XPの ルナスタイルを指定した、マニフェスト付のアプリケーションでよく見かけるやつですね

マニフェストを見てみたら、 processorArchitecture=”X86″になっていた。
MSDNにはマニフェストをプロセッサごとに分けるように書いてあるけど、 processorArchitecture=”*” にすることで解決した ・ω・


Comments