232,516 |
Yesterday: 23 Today: 5
connected: via IPv4
Win32-x86 上で作成したバイナリを実行すると「このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。アプリケーションを再度インストールすることにより問題が解決する場合があります。」 とダイアログが表示されて実行できない。
リモートデバッグ上では「このアプリケーションの構成が正しくないため、アプリケーションの開始に失敗しました。マニフェストファイルを参照して原因を調べてください。アプリケーションを再インストールすることで、この問題が解決する可能性があります。...」 とダイアログが表示されて実行できない。
VC8 beta2 でプロジェクトのオプションに「リンカオプション」=>「マニフェスト ファイル」の以下の項目を変更してリビルドしてください。
マニフェストの作成:はい => いいえ自動作成されるマニフェストがクロスに対応していないのか、「type='win32' processorArchitexture='x86'」などと、たわけたものを作成します。
Win32-x64 と Win32-x86 がごちゃ混ぜになっていて実行できないバイナリになるのが原因です。
Win32-x86 の DLL をロードしようとしていないか確認してください。特に MSVCRT.DLL, msvcp60.dll などが問題になります。
LoadLibrary でファイルを検索するパスすべてに Win32-x86 の DLL が転がっていないか確認してください。
実行ファイルと同じ場所に Win32 の DLL をおいていないか?環境変数「PATH」に Win32 の DLL が入っているパスが含まれていないか?システムディレクトリ、Windows ディレクトリなどなどWin32-x64 から Win32-x86 の DLL が読み込めないのが原因です。
Win32-x64 上で作成したバイナリを実行すると「ms*.dll が見つからないため、このアプリケーションを開始できませんでした。アプリケーションを再度インストールすることにより問題が解決される場合があります。」 とダイアログが表示されて実行できない。
リモートデバッグ上に「デバッガ:: ハンドルされていない続行不可の STATUS_DLL_NOT_FOUND 例外がプロセスの読み込み中にスローされました」の行が表示される
VC8 のランタイムが Win32-x64 環境に入っていない
Win32-x86 環境のシステムディレクトリ( WinXP であれば x:WINDOWS\WinSxS\amd64_* フォルダに含まれている DLL 郡を実行ファイルと同じ場所においてください。これらの DLL は現在配布禁止だと思われますので配布しないでください。(Go-Live ライセンスが必要?)Visual C++ 2005 Runtime Libraries Beta 2 を x64 環境にインストールしてください。beta 版を Microsoft から入手してください。
Visual C++ 2005 Runtime Libraries Beta 2(Microsoft)Visual Studio 2005 beta 2 Go-Live ライセンス 2005-05-23 現在
last update at 2010/11/09 19:17:07