Visual C++が入っていないPCで実行させる方法 概略

Visual C++ で作成したWin32(Windows SDK)アプリケーションを、Visual C++ がインストールされていないパソコンで実行しても、「コンポーネントがみつかりません」のウインドウに、下記のエラーメッセージが表示されます。

コンピュータに MSVCR***.dll (***は数字) がないため、プログラムを開始できません。
この問題を解決するには、プログラムを再インストールしてみてください。
MSVCR***.dll (***は数字) が見つからなかったため、アプリケーションを開始できませんでした。
アプリケーションをインストールし直すとこの問題が解決する場合があります。

VC2010VISTA VC2010XP

Visual C++ 2008で作成したアプリケーションを、Visual C++ がインストールされていないパソコンで実行しても、エラーメッセージが表示されます。

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

VCWin32アプリケーション1

これは、実行しているPCに

  • msvcr140.dll (Visual C++ 2015の場合)
  • msvcr120.dll (Visual C++ 2013の場合)
  • msvcr110.dll (Visual C++ 2012の場合)
  • msvcr100.dll (Visual C++ 2010の場合)
  • msvcr90.dll (Visual C++ 2008の場合)

がインストールされていないためです。

  • Visual Studio 2015 の Visual C++ 再頒布可能パッケージ
  • Visual Studio 2013 の Visual C++ 再頒布可能パッケージ
  • Visual Studio 2012 の Visual C++ 再頒布可能パッケージ
  • Microsoft Visual C++ 2010 再頒布可能パッケージ
  • Microsoft Visual C++ 2008 再頒布可能パッケージ

をユーザー側がインストールすれば、エラーメッセージが表示されずに、アプリケーションを実行できます。

それでは、ユーザー側に手間がかかるため、ここでは、Visual C++ がインストールされていないパソコンで実行できるように、プロジェクトの設定を変えます。

プロジェクトの設定

ここで紹介する方法は、Win32(Windows SDK)アプリケーションに限定したものであり、C++/CLI (.NET Framework)で作成したアプリケーションの場合は、この方法を使えません。
「コマンドラインオプション '/MTd' と '/clr:pure' は同時に指定できません」というエラーになります。

1.

「ソリューション エクスプローラー」で、フォルダを選択した状態、もしくは、プロジェクト名が選択された状態で、

プロジェクト(P)」 - 「プロパティ(P)...」(「ソリューション エクスプローラー」で、プロジェクト名が選択した状態の場合)
または、「プロジェクト(P)」 - 「[プロジェクト名]のプロパティ(P)...」(「ソリューション エクスプローラー」で、フォルダを選択した状態の場合)
を選択。

「ソリューション エクスプローラー」で、ファイルを選択した状態、もしくは、一番上の「ソリューション'[プロジェクト名]'(1プロジェクト)」が選択された状態では、 これ以降で解説する設定が表示できません。

プロジェクトプロパティ

2.

左のメニューから、「構成プロパティ」-「C/C++」-「コード生成」を選択して、 右側の「ランタイムライブラリ」を
「マルチスレッド DLL (/MD)」から「マルチスレッド (/MT)」に、もしくは
「マルチスレッド デバッグDLL (/MDd)」から「マルチスレッド デバッグ (/MTd)」に変える。

マルチスレッド デバッグ

3.

これで設定は完了です。ビルドできることを確認してください。