VC++ランタイムがないときのエラー

Visual C++ 2005 は、デフォルトでは Visual C++ ランタイム ライブラリをスタティックリンクしません。そのため、ランタイムが導入されていない環境では実行時エラーとなってしまいます。

Windows XP では次のようなエラーになります。

このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。アプリケーションを再度インストールすることにより問題が解決する場合があります。

Windows Vista では次のようなエラーになります。

このアプリケーションのサイド バイ サイド構成が正しくないため、アプリケーションを開始できませんでした。詳細については、アプリケーションのイベント ログを参照してください。

このエラーを解決するためには、クライアントにランタイムを導入する必要があります。例えば、Visual C++ 2005 再頒布可能パッケージ (x86) がそれです。2005 SP1 用には SP1 用のランタイムがあるようです。

現実的には、スタティックリンクしておいたほうが混乱は少ないでしょう。(ファイルサイズは増えてしまいますが…)

スタティックリンクするには次のようにします。

  1. プロジェクトのプロパティを開く。
  2. 左側のツリーから「プロパティ」→「C/C++」→「コード生成」を選択する。
  3. 「ランタイムライブラリ」の項目を、「DLL」を含まないものにする。
    (例) マルチスレッド デバッグ DLL → マルチスレッド デバッグ

2007-2009 CO-CONV,Corp

ブログ内に記載されている社名および製品名は各社の商標または登録商標です。