64bit環境でvcredist_x64.exeを入れても,MSVCR100.dllが有りませんのエラーが出る場合

VisualC++2010で作成したプログラムを実行するためには、実行環境にMSVCR100.dllが必要となります。このdllは、Microsoftより下記のパッケージを入れることでインストールされます。
Microsoft Visual C++ 2010 再頒布可能パッケージ (x86)
Microsoft Visual C++ 2010 再頒布可能パッケージ (x64)


32bitのOSで使用する場合は、x86のパッケージを入れることでプログラムが使えるようになるのですが、64bit版のwindowsを使用時は、x64のパッケージを入れても問題が解決しない場合があります。

これは、実行しているプログラムがx84用として作成(コンパイル)されている事が原因です。


この場合に問題を解決する方法ですが、64bit環境であっても、x86版のパッケージもインストールしてしまえばOKです。x64とx86版は、両方ともインストールしても構いません。
Windowsはなぜ動くのか
プログラムはなぜ動くのか



補足: 開発者さん向け情報
コンパイル時のオプションを、/MDではなく、/MTに変更すれば,ライブラリがスタティックリンクされるようになるので、msvcr100.dllが不要になります。スタティックリンクさせると、exeのサイズが大きくなってしまいますが、ユーザ側の作業が減る(ランタイムのインストールが不要になる)ので、PC初心者をターゲットにしたプログラムを作成する場合は、この方法を使用することを検討するのも良いかもしれません。

関連記事

コメントを残す

メールアドレスが公開されることはありません。