あるとき, VC++ (2005) で作ったアプリケーションを VC++ を入れてない PC (X) で動かそうとしました. 出来たバイナリを X にコピーして実行すると, 「このアプリケーションは構成が正しくないため, アプリケーションを開始できませんでした. 」と出ます.
MSVCR80.dll 等のランライブラリが無いためです. プロジェクトの設定をスタティックライブラリに直して, 再コンパイルするのが解決策としては王道ですが, もろもろの事情から, 今回は共有 DLL を使うままにしたいと思いました. 幸い, 今回は実行する PC は X のみと決まっているため, ランライブラリ を入れて解決を図りました. が改善されません. ヤケになって 2008 とか 2005 SP無 の ランライブラリも入れてみたのですがダメです.
イベントビューワを見ると,
悩みながらネットをさまようと ここに解決策があるのを見つけました. まとめると
本当はコンパイラをいじるのでなく, 実行環境側をいじるのが正解かと思います. 具他的には %WINDOWS%WinSxS の下にある x80_Microsoft.VC80 で始まる ディレクトリのどれかをコピーすればいいような気もしますが, 面倒なのでパスしました.