アプリケーションをビルドして実行しようとしたら、突然「アプリケーションを正しく起動できませんでした(0xc000007b)」と言われて、アプリケーションが実行できなくなりました。
バージョン管理システムで、プロジェクトを別ディレクトリに展開したばかりで、どこかプロジェクトの設定に問題がありそうですが、なかなか原因がわかりませんでした。
原因は、リソースのRT_MANIFEST/IDR_MANIFESTにありました。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="Microsoft.Windows.GisMaintenance" type="win32" /> <description>アプリケーションの説明をここに挿入します。</description> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="1234a56789bcdeff" language="*" /> </dependentAssembly> </dependency> </assembly>
processorArchitecture="x86" とありますが、プロセッサ変わる事があるので
processorArchitecture="*" に変更します
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="Microsoft.Windows.GisMaintenance" type="win32" /> <description>アプリケーションの説明をここに挿入します。</description> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="1234a56789bcdeff" language="*" /> </dependentAssembly> </dependency> </assembly>
古いプロジェクトだと、x86 が入っていたりするので、注意が必要です。書いとかないと、同じ事が起こった時にまた調べる事になりそうで・・・
0 件のコメント:
コメントを投稿