VC2005 の「アプリケーションの構成を正しくする」

[戻る]

あるとき, VC++ (2005) で作ったアプリケーションを VC++ を入れてない PC (X) で動かそうとしました. 出来たバイナリを X にコピーして実行すると, 「このアプリケーションは構成が正しくないため, アプリケーションを開始できませんでした. 」と出ます.

MSVCR80.dll 等のランライブラリが無いためです. プロジェクトの設定をスタティックライブラリに直して, 再コンパイルするのが解決策としては王道ですが, もろもろの事情から, 今回は共有 DLL を使うままにしたいと思いました. 幸い, 今回は実行する PC は X のみと決まっているため, ランライブラリ を入れて解決を図りました. が改善されません. ヤケになって 2008 とか 2005 SP無 の ランライブラリも入れてみたのですがダメです.

イベントビューワを見ると,

と出ており, いかにもライライブラリが犯人と思われます.

悩みながらネットをさまようと ここに解決策があるのを見つけました. まとめると

という解決方法です. 自動 update にしていると, せっかく削除した KB971090 を入れようとするので, 適当に設定して自動的に入らないようにしなくてはダメです.

本当はコンパイラをいじるのでなく, 実行環境側をいじるのが正解かと思います. 具他的には %WINDOWS%WinSxS の下にある x80_Microsoft.VC80 で始まる ディレクトリのどれかをコピーすればいいような気もしますが, 面倒なのでパスしました.


2009.12