トップ回答者
サイドバイサイド

質問
-
Windows Vista(32Bit)環境でVisual Studio 2005(VC++) SP2でMFCプログラムを作って、RC(64bit)環境で動かすと、Side by Sideのエラーメッセージが出ます。
出るプログラムと出ないプログラムがあるので、細かく調査したところ、MFCをスタテックリンクしたやつは出なくて、共有DLLをリンクは出るようです。
RC版をダウンロードしたときにWinSysのフォールダーは存在するようですが、対策はないでしょうか?- 移動 Yubo. Zhang 2012年10月1日 12:27 (移動元:Windows 7 ソフトウェア)
回答
-
単に、使用しているランタイムライブラリが無いだけですよね。
実行環境に使用するランタイムライブラリを配置しているのでしょうか。VS2005 以降は、ランタイムライブラリは side-by-side になっています。
共有 DLL を使うようにビルドしているプログラムであれば、使用するバージョンのランタイムライブラリを配置しなければ当然動きません。
作成したプログラムがどのバージョンのライブイラリを使っているのかは、マニフェストファイルを見ればわかるはずです。- 配置 (C++)
http://msdn.microsoft.com/ja-jp/library/zebw5zk9(VS.80).aspx - Visual C++ ファイルの再配布
http://msdn.microsoft.com/ja-jp/library/ms235299(VS.80).aspx
プログラム側で準備するのが面倒だったら、ダウンロードセンターから Visual C++ 2005 再頒布パッケージを
検索してインストールしてください。 - 配置 (C++)
-
えーと、この件なのですが、いろいろ実験してみてわかった事があります。
RC版をインストールしただけでは、実行可能なプログラムと実行不可能なプログラムがでます。
それで、Windows Updateをかけてみたのですが、全部かけてもダメでした。(2009/9のupdateだけになりますが、)
で、あきらめてRC版(64)にVC++2005Proをインストールしました。(この段階でも起こるのは実験してます。)
それで、Windows Updateをかけました。たくさんあって、SP1,for VistaSP1,・・・・出てくるの全部かけました。
すると、起きなくなりました。
だから、指摘のとおり、ランタイムライブラリだと思います。
エラーメッセージが下記でちょっと日本語の意味がわからないですね。
このアプリケーションはサイドバイサイドの構成が正しくないため、アプリケーションを開始できませんでした。詳細については、アプリケーションイベントログを参照するか、コマンドラインツールsxstrace.exeを使用してください。
どうもありがとうございました。- 回答としてマーク 必須フィールド 2009年10月3日 20:25
すべての返信
-
単に、使用しているランタイムライブラリが無いだけですよね。
実行環境に使用するランタイムライブラリを配置しているのでしょうか。VS2005 以降は、ランタイムライブラリは side-by-side になっています。
共有 DLL を使うようにビルドしているプログラムであれば、使用するバージョンのランタイムライブラリを配置しなければ当然動きません。
作成したプログラムがどのバージョンのライブイラリを使っているのかは、マニフェストファイルを見ればわかるはずです。- 配置 (C++)
http://msdn.microsoft.com/ja-jp/library/zebw5zk9(VS.80).aspx - Visual C++ ファイルの再配布
http://msdn.microsoft.com/ja-jp/library/ms235299(VS.80).aspx
プログラム側で準備するのが面倒だったら、ダウンロードセンターから Visual C++ 2005 再頒布パッケージを
検索してインストールしてください。 - 配置 (C++)
-
えーと、この件なのですが、いろいろ実験してみてわかった事があります。
RC版をインストールしただけでは、実行可能なプログラムと実行不可能なプログラムがでます。
それで、Windows Updateをかけてみたのですが、全部かけてもダメでした。(2009/9のupdateだけになりますが、)
で、あきらめてRC版(64)にVC++2005Proをインストールしました。(この段階でも起こるのは実験してます。)
それで、Windows Updateをかけました。たくさんあって、SP1,for VistaSP1,・・・・出てくるの全部かけました。
すると、起きなくなりました。
だから、指摘のとおり、ランタイムライブラリだと思います。
エラーメッセージが下記でちょっと日本語の意味がわからないですね。
このアプリケーションはサイドバイサイドの構成が正しくないため、アプリケーションを開始できませんでした。詳細については、アプリケーションイベントログを参照するか、コマンドラインツールsxstrace.exeを使用してください。
どうもありがとうございました。- 回答としてマーク 必須フィールド 2009年10月3日 20:25