ソフトやゲームの使用中に「Runtime Error」が表示され、プログラムが強制終了した経験はありませんか。このエラーは、Visual C++ランタイムの破損・不足、アプリの不具合、システムファイルの破損、ソフトの競合などが原因として考えられます。本記事では主な原因を整理したうえで、システムファイルの修復からVisual C++の確認・再インストールまで、今すぐ試せる8つの対処法を順を追って紹介します。

ランタイムエラーとは?

Windowsランタイムエラー(runtime error)とは、特定の不具合を指す言葉ではなく、プログラムの実行中に発生するあらゆる種類のエラーの総称です。プログラムの起動直後に発生することもあれば、特定の操作をした瞬間に突然表示されることもあります。

発生すると、エラーコードと影響を受けたアプリ名を含むメッセージウィンドウが表示され、プログラムがフリーズしたり自動的に終了したりすることがあります。中でも代表的なのがMicrosoft Visual C++ランタイムに関連するエラーで、Windowsエクスプローラーなどのシステムコンポーネント呼び出しの失敗に関連しているケースが多く見られます。

Microsoft Visual C++ランタイムエラーの画像

Windowsでランタイムエラーが発生する主な原因

ランタイムエラーには様々な種類がある一方で、その発生原因も多岐にわたります。原因を理解しておくことで、どの対処法から試すべきかを素早く判断できます。以下に代表的な原因を紹介します。

原因説明
ソフトウェアの競合互換性のない複数のプログラムが同時に同じシステムリソースへアクセスし、互いに干渉してクラッシュを引き起こす
インストールの不完全停電やエラーによってインストールが中断し、重要なファイルが破損・欠落する
システムファイルの破損Windowsのコアシステムファイルが壊れ、複数のプログラムでエラーが頻発する
Visual C++ランタイムライブラリの問題アプリが依存するRedistributableが古い・欠落・破損している
マルウェア・ウイルス感染システムコンポーネントの改ざんや、実行中のプロセスの強制終了を引き起こす
ドライバーの古さ・不具合特にグラフィックドライバーがソフトの命令に正しく応答できない
システムリソースの不足メモリやディスク容量が不足し、プログラムが実行領域を確保できない
WindowsやドライバーがOS最新版に未対応既知の不具合が修正されないまま残っている

なお、マルウェアやウイルス感染の兆候については、こちらの解説記事もあわせてご確認ください。

Windowsランタイムエラーを修正する方法

上記の原因を踏まえて、ここからはランタイムエラーを解決するための8つの方法を紹介します。上から順に試しましょう。

#1. 基本的なトラブルシューティング手順を試す

複雑なシステム修復を行う前に、まず以下の簡単な操作を試してください。これらの手順だけで、一時的な競合によるほとんどのエラーが解消される場合があります。

  • パソコンを再起動するメモリキャッシュがクリアされ、異常な状態のシステムプロセスがリセットされます。
  • 不要なバックグラウンドプロセスを終了する:Ctrl + Shift + Escキーでタスクマネージャーを開き、不要なアプリを終了してリソース競合を解消します。
  • 問題のあるソフトを再インストールする:エラーが特定のプログラムに限定される場合は、アンインストール後に再インストールするのが最も直接的な修復方法です。

#2. 破損したシステムファイルをチェック・修復する(SFC・DISM)

システムファイルの破損はランタイムエラーの主な原因の一つです。Windows標準搭載のSFC(システムファイルチェッカー)とDISM(展開イメージサービスと管理)を使って、問題のあるファイルを検出・修復できます。

まずSFCで個別のシステムファイルを修復し、それでも解決しない場合はDISMでSFCが参照する土台となるシステムイメージ自体を修復するという順番で進めるのがポイントです。

ステップ1:検索バーに「cmd」と入力し、「コマンドプロンプト」を右クリックして「管理者として実行」を選択します。

ステップ2:現れた黒いウィンドウに「sfc /scannow」と入力し、Enterキーを押します。このコマンドは、保護されているすべてのシステムファイルをスキャンし、破損した部分を自動的に修復します。

コマンドプロンプトで「sfc /scannow」を実行している画面

ステップ3:SFCで問題が解決しない場合は、続けて「DISM /Online /Cleanup-Image /RestoreHealth」と入力し、Enterキーを押します。このコマンドはインターネット経由で正常なシステムイメージを取得し、SFCが土台とするシステムファイル自体を置き換えて修復します。SFC単独では直らなかった問題も、この手順であわせて解消できるケースがあります。

#3. Visual C++ランタイムライブラリを確認・修復・再インストールする

エラーがVisual C++ Runtime Libraryに関連している場合は、まず対象アプリが必要とするVisual C++ Redistributableのバージョン・アーキテクチャ(x86/x64)を確認したうえで、該当するものを修復または再インストールしてください。

該当するVisual C++バージョンを確認する方法

ステップ1:エラーメッセージに記載されたバージョン情報(例:Visual C++ 2015-2022)を確認します。記載がない場合は、対象アプリの公式サイトやヘルプページで必要なランタイムを確認します。

ステップ2:Windowsキー + Iキーで「設定」を開き、「アプリ」>「インストールされているアプリ」(Windows 10では「アプリと機能」)に進み、一覧から「Microsoft Visual C++ <バージョン> Redistributable」を検索して、現在インストール済みのバージョンとアーキテクチャを確認します。

ステップ3:エラーメッセージや対象アプリが要求するバージョンと、インストール済みのバージョンを照合し、不足・不一致があれば以下の修復または再インストール手順に進みます。

修復する手順

ステップ1:上記の「インストールされているアプリ」の一覧で、対象の「Microsoft Visual C++ <バージョン> Redistributable」を選択します。

ステップ2:「変更」をクリックし、ダイアログボックスで「修復」を選択します。

提示:
2012年より前のバージョンでは「修復」オプションが表示されない場合があります。その場合は次の再インストール手順に進んでください。
Windows設定でMicrosoft Visual C++ redistributableの「Repair」をクリックしている画面

ステップ3:修復が完了したら、動作を確認します。改善しない場合や、対象バージョンに「修復」オプションがない場合は、以下の再インストール手順を試してください。

再インストールする手順

修復がうまくいかない場合は、再インストールを試してください。

ステップ1:先ほどの一覧画面で、確認済みの対象Visual C++パッケージを選択し、「アンインストール」をクリックします。

ステップ2:MicrosoftのVisual C++ 再頒布可能パッケージのダウンロードページにアクセスし、対象アプリが必要とするバージョンに対応する最新のVisual C++ランタイムインストーラーをダウンロードします。

ステップ3:ダウンロードしたインストールファイルを実行し、画面の指示に従ってインストールを完了させ、エラーが解消されたか確認します。

#4. Windowsシステムとドライバーを更新する

OSのバージョンが古い、またはドライバーに不具合があると、ランタイムエラーが発生しやすくなります。オペレーティングシステムとグラフィックカードのドライバーを最新の状態に保ってください。

Windows 11の場合:

ステップ1:「設定」>「Windows Update」を開きます。

ステップ2:「更新プログラムのチェック」をクリックし、更新プログラムが利用可能な場合は「ダウンロードしてインストール」をクリックします。

Windows 10の場合:

ステップ1:「設定」>「更新とセキュリティ」>「Windows Update」を開きます。

ステップ2:同様に「更新プログラムのチェック」から更新を実行します。

Windows更新画面で「更新プログラムのチェック」と「ダウンロードしてインストール」ボタンが強調表示されている様子

グラフィックカードのドライバーを更新する手順:

ステップ1:Windowsキー + Xキーで「デバイスマネージャー」を選択します。

ステップ2:「ディスプレイアダプター」を展開し、グラフィックカードのドライバーを右クリックして「ドライバーの更新」を選択します。

ステップ3:「ドライバーを自動的に検索」を選択し、画面の指示に従います。

グラフィックカードドライバー更新画面で「ドライバーを自動的に検索」を選択している様子

更新が失敗する場合は、ドライバーを右クリックして「デバイスのアンインストール」を選択し、パソコンを再起動してください。Windowsが自動的にドライバーを再インストールします。

#5. 十分なストレージ容量を確保する

Windowsシステムが正常に動作するには十分なディスク容量が必要です。システムドライブの空き容量が不足していると、ランタイムエラーが発生する場合があります。

容量不足の解決には、ディスクパーティション管理ツール「MiniTool Partition Wizard」の使用がおすすめです。隣接する未割り当て領域の結合だけでなく、別のパーティションから容量を割り当てることも可能です。

パーティション拡張:連続していない未割り当て領域まで拡張したい場合や、他のパーティション(Dドライブなど)に空き容量がある場合に適しています。

それでは、以下のボタンからMiniTool Partition Wizardをダウンロードしてインストールし、次にパーティションを拡張してください。

MiniTool Partition Wizard Freeクリックしてダウンロード100%クリーン&セーフ

ステップ1:本ソフトのメイン画面に入り、空き容量が不足しているパーティションを右クリックし、ポップアップメニューから「拡張」を選択します。

MiniTool Partition Wizardのパーティション右クリックメニューから「拡張」を選択している画面

ステップ2:「以下の空き領域から」ドロップダウンリストで利用可能なパーティションまたは未割り当て領域を選択し、下のスライドハンドルを左または右に移して、現在のパーティションに割り当てる容量を決定します。

MiniTool Partition Wizardのパーティション拡張画面

ステップ3:「OK」をクリックしてメイン画面に戻り、変更内容をプレビューします。最後に、左下隅の「適用」をクリックして、すべての変更を確定します。

MiniTool Partition Wizardの「適用」をクリックしている画面

パーティションの移動/サイズ変更:対象パーティションの両側に未割り当て領域が隣接している場合に有効です。

ステップ1:ソフトのディスクマップから目標のパーティションを右クリックし、メニューから「移動/サイズ変更」を選択します。

MiniTool Partition Wizardパーティション右クリックメニューから「移動/サイズ変更」を選択している画面

ステップ2:次の設定画面でパーティションの枠のスライダーを左右にドラッグして、対象のパーティションのサイズと位置を調整します。

  • 未割り当て領域の方向にドラッグすると、容量を拡大できます。
  • 下部の数値入力欄に希望するパーティションサイズを直接入力することもできます。
MiniTool Partition Wizard「パーティション移動/サイズ変更」の設定画面

ステップ3:「OK」をクリックして確定し、続いてメイン画面の「適用」ボタンをクリックして変更を適用します。

MiniTool Partition Wizardの「適用」をクリックしている画面

#6. メモリ診断テストを実行する

PCメモリの不具合も、ランタイムエラーの一因となる場合があります。Windows標準の「メモリ診断」ツールで問題をトラブルシューティングできます。

ステップ1:検索バーに「Windows メモリ診断」と入力し、ツールを起動します。

ステップ2:「今すぐ再起動して問題の有無を確認する(推奨)」を選択します。

Windows メモリ診断ツールの「今すぐ再起動して問題の有無を確認する(推奨)」を選択している画面

テストが完了すると、パソコンは自動的に再起動します。

詳細な結果を表示するには、以下の手順に従ってください。

ステップ1:「スタート」アイコンを右クリックし、「イベントビューアー」を選択します。

ステップ2:「Windows ログ」>「システム」に移動し、右側のページで「検索」をクリックします。

ステップ3:検索ボックスに「MemoryDiagnostic」と入力して検索し、「次を検索」をクリックすると、ウィンドウの下部に結果が表示されます。

イベントビューアーの検索ツールで「MemoryDiagnostic」を検索している画面

診断ツールでエラーが検出された場合、通常はメモリモジュールの物理的な故障を示しています。以下の手順をお試しください。

  • メモリモジュールの抜き差し:パソコンの電源を切り、ケースを開けてメモリモジュールを取り外し、スロットにしっかりと差し込んでください。
  • メモリモジュールの交換:抜き差しを繰り返しても問題が解決しない場合は、故障したメモリモジュールを交換する必要があるかもしれません。

#7. マルウェアをスキャンして削除する

マルウェアはシステムファイルを改ざんしたり、プログラムの実行を妨害したりして、ランタイムエラーを引き起こす可能性があります。Windowsセキュリティでフルスキャンを実行しましょう。

ステップ1:「設定」>「更新とセキュリティ」> 「Windows セキュリティ」 > 「ウイルスと脅威の防止」の順に選択します。

ステップ2:「スキャンのオプション」をクリックし、希望するスキャン方法を選択します(フル スキャンを実行することをお勧めします)。その後、「今すぐスキャン」をクリックします。

Windows セキュリティで「フルスキャン」を実行している画面

#8. クリーンブートを実行する

クリーンブートは、最低限のシステムサービスとドライバーのみでWindowsを起動し、サードパーティ製ソフトウェアによる干渉を排除する機能です。

インストール済みのプログラムがVisual C++などと競合している場合、クリーンブートを実行することで問題のソフトを素早く特定できます。

クリーンブート状態でエラーが解消される場合、原因はサードパーティ製アプリにあると判断できます。その場合はスタートアップ項目を一つずつ有効化・無効化していき、競合の原因となっているアプリを特定したうえで、修復またはアンインストールしてください。

その他の種類のランタイムエラー

ランタイムエラーは発生する場面によって表示や原因が異なります。ここまでの対処法に加え、以下のような特定のパターンにも注意してください。

種類主な原因・特徴
AppModelランタイムエラー(57、87、490)イベントビューアーに記録されることが多く、Microsoft Storeアプリやシステムアップデートの異常に関連
NVIDIA GeForce Experience C++ランタイムエラーグラフィックカードドライバーの破損やウイルス対策ソフトとの競合が原因になりやすい
Excelランタイムエラー1004Excel固有のエラーで、VBAマクロの不具合やファイル権限の制限に関連
.NETランタイムエラー1026.NET Frameworkベースのアプリで未処理の例外が発生したことを示し、環境構成の問題を示唆する
Atibtmon.exeランタイムエラーAMDグラフィックカードの輝度監視プログラムに関連し、電源管理の競合時に発生しやすい
実行時エラー52/実行時エラー5主にVBAやレガシーアプリで見られる特定のランタイムエラーコードで、ファイル名の指定誤りやマクロ内の不正な呼び出しが原因になりやすい

特に「パッケージのランタイム情報が壊れています」というメッセージは、Windows Updateやストア経由でインストールされたアプリのパッケージ情報が破損している場合に表示されます。この場合は、まずDISM(DISM /Online /Cleanup-Image /RestoreHealth)でシステムイメージを修復したうえで、対象アプリをMicrosoft Storeから一度アンインストールし、再インストールすることで解消するケースが多く見られます。

改善しない場合は、Windows Updateのトラブルシューティングツールもあわせて実行してみてください。

まとめ

Windowsのランタイムエラーは、システムファイルの破損からVisual C++ライブラリの不具合、ディスク容量不足まで、さまざまな要因で発生します。本記事で紹介した8つの対処法を上から順に試すことで、多くのケースで問題を解消できるはずです。エラーの種類を見極め、該当する箇所から対処することが早期解決の近道です。

MiniTool Partition Wizardの使用中に何かご不明な点やご意見がございましたら、お気軽に[email protected]までご連絡ください。

Windowsランタイムエラーに関するFAQ

1. パソコンで頻繁に様々なランタイムエラーが発生するのはなぜ?
エラーが特定のプログラムに限定されない場合、システム環境のバランスが崩れている可能性があります。システムやドライバーを最新の状態に保つことに加え、仮想メモリの設定を定期的に確認することをお勧めします。
物理メモリが不足している状態で、仮想メモリが手動で無効化されているか、設定容量が小さすぎる場合、様々なランダムなランタイムエラーが発生しやすくなります。
2. ポップアップでエラーが表示された場合のみ、ランタイムエラーと見なされるのでしょうか?
必ずしもそうとは限りません。エラーによってはダイアログボックスが表示されず、プログラムがクラッシュしたり「応答なし」の状態になったりする場合があります。このような目に見えないエラーについては、Windowsのイベントビューアーで詳細なログを確認できます。
3. 特定のR6034エラーを迅速に解決するには?
エラーR6034は通常、プログラムが本来存在すべきでない場所に重複したC++ランタイムライブラリファイルを見つけた場合に発生します。ランタイムライブラリを再インストールする以外にも、プログラムのインストールディレクトリに余分なmsvcr*.dllファイルがないか確認してみてください。これらの競合するファイルをクリーンアップする方が、システムを再インストールするよりも効果的な場合が多いです。
4. 「ランタイムエラー 7(メモリ不足)」が発生した場合はどうすればよいですか?
これは通常、大規模なExcelスプレッドシートを扱っている際に発生します。十分な物理メモリがあっても、32ビット版のソフトウェアは4GB以上のメモリを使用できません。バックグラウンドプログラムを終了する以外にも、32ビット版のOfficeを64ビット版にアップグレードして、より多くのメモリ領域を確保するという解決策があります。
5. ウェブページを閲覧中に表示されるランタイムエラーとは何ですか?
この種のエラーは通常、お使いのパソコンのシステムファイルとは関係なく、多くの場合、ウェブサイト自体のスクリプトのエラーやブラウザのキャッシュとの競合が原因です。ブラウザのキャッシュやCookieを削除してみるか、Chromiumエンジンを搭載したブラウザ(EdgeやChromeなど)に切り替えて互換性を確認してみてください。
  • reddit