アプリケーションをビルドして実行しようとしたら、突然「アプリケーションを正しく起動できませんでした(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 件のコメント:
コメントを投稿