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

c0000007bX
アプリケーションを 64bitに移植したら、なぜか 『アプリケーションを正しく起動できませんでした(0xc000007b)。[OK]をクリックしてアプリケーションを閉じてください。』が出るようになった。

英語版は
The application was unable to start correctly (0xc000007b). Click OK to close the application.


c0000007b
Dependency Walker で動作するアプリと動作しないアプリ比べてみたら comctl32.dll で
Error: Modules with different CPU types were found.が出てるもよう。

COMCTL32.dllってことは XPの ルナスタイルを指定した、マニフェスト付のアプリケーションでよく見かけるやつですね

c0000007bY
マニフェストを見てみたら、 processorArchitecture="X86"になっていた。

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

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です