Windowsに コンピューターにDLLがないためプログラムを開始できない と表示された場合は、何かを再インストールする前にDLL名を確認してください。「DLLがない」という表示は、必ずしもそのDLLファイルをダウンロードすべきという意味ではありません。そのファイルはMicrosoft Visual C++やDirectXなど、より大きなランタイムまたはソフトウェアパッケージの一部である可能性があります。個別のファイルを置き換えるよりも、そのDLLを提供するパッケージを修復するほうが通常は安全です。このガイドでは、DLLの提供元、アプリ、Windowsシステムファイル、ガイド付きスキャンの順に4つの修復方法を紹介します。

MSVCR100D.dllがないためプログラムを開始できないというエラー

症状

このメッセージはアプリまたはゲームの起動時に表示され、 VCRUNTIME140.dll 、 d3dx9_43.dll 、 XINPUT1_3.dll などのファイル名が示されることがあります。通常、プログラムは終了するか、起動画面に到達しません。

  • 1つのアプリだけが失敗する場合: そのアプリのインストールまたは共有依存関係が原因である可能性が高いです。
  • 関連のない複数のアプリが失敗する場合: Windowsコンポーネントまたは保護されたシステムファイルの修復が必要な可能性があります。
  • 中断された更新またはインストールの後にエラーが始まった場合: アプリを再インストールする前に、表示されたDLLを特定して提供元を修復してください。

簡易診断チェックリスト

  • ダイアログに表示されたDLL名を正確に控え、以下の表を使用してください。ランタイムを示す場合は、方法1に進みます。
  • アプリ固有の名前である場合、または依存関係に対処した後も1つのアプリだけが失敗する場合は、方法2に進みます。
  • ダイアログにWindowsシステムDLLが示される場合、または関連のない複数のアプリが失敗する場合は、方法3に進みます。
  • 依存関係の提供元が不明で、検出可能なDLLおよびWindowsシステムの問題に対するガイド付きスキャンを利用したい場合は、方法4に進みます。

まず不足しているDLLを特定する

不足しているDLL 通常の提供元 最初に確認すること
VCRUNTIME*.dll 、 MSVCP*.dll 、 MSVCR*.dll Visual C++ ランタイム 該当するMicrosoft Visual C++ Redistributableを修復またはインストールします。
d3dx9_*.dll 旧式のDirectXランタイム サポートされているDirectXランタイムをインストールします。
XINPUT1_3.dll DirectX/XInput ゲームのDirectXと前提条件インストーラーを確認します。
アプリ固有のDLL アプリケーション アプリケーションを修復または再インストールします。
WindowsシステムDLL Windows DISMを実行してからSFCを実行します。

Windowsに新しいDirectXコンポーネントがあっても、古いゲームが要求する旧式のサイドバイサイドファイルまで含まれるとは限りません。Microsoftは、一部のゲームで d3dx9_*.dll などのファイルを提供するためにDirectX End-User Runtimeが必要になると説明しています。

方法の簡易比較

方法 最適なケース 効率 ユーザーの作業量
提供元ランタイムの修復 Visual C++またはDirectXのDLL名が示される場合 提供元が明確な場合は高い 低~中
アプリの修復または再インストール アプリ固有のDLLまたは不完全なアプリファイル 影響を受けたアプリが1つの場合は高い 低~中
DISMとSFC Windows DLLまたは複数の影響を受けたアプリ Windowsコンポーネントとシステムファイルの修復に高い 中
Fionn DLL Fixer ガイド付きスキャンが必要で、依存関係の提供元が不明な場合 ガイド付きのスキャン、修復、再確認 低

方法1:不足しているDLLを提供するランタイムを修復する

使用するタイミング

ダイアログにVisual C++またはDirectX関連のDLLが示される場合に、この方法を使用します。たとえば、 VCRUNTIME140.dll は一般にVisual C++ Redistributableの依存関係を示し、 d3dx9_*.dll は旧式のDirectX依存関係を示します。

手順

  1. DLL名と影響を受けたプログラムを記録します。
  2. 識別表で名前を提供元に対応付けます。
  3. 該当するインストーラーまたは修復オプションを、 Microsoft Visual C++ Redistributableのドキュメント または DirectX End-User Runtimeインストーラー から入手します。
    Visual C++ Redistributableのインストール画面
  4. インストーラーを実行し、修復またはインストールの指示を完了します。
  5. 求められた場合はWindowsを再起動します。

確認方法

影響を受けたプログラムを開きます。同じDLL名のダイアログが表示されなくなっているはずです。表示が続く場合は、DLLを個別に入手するのではなく、方法2に進んでください。

方法2:影響を受けたアプリを修復または再インストールする

使用するタイミング

アプリ固有のDLLの場合、または該当するランタイムをすでに修復しても1つのアプリだけが失敗する場合に、この方法を使用します。DLLを手動でコピーせずに、そのアプリのインストール済みファイルを復元できます。

手順

  1. 影響を受けたプログラムとそのランチャーを閉じます。
  2. 設定 を開き、 アプリ を選択して、影響を受けたアプリを探します。
  3. 利用可能な修復オプションを選択します。
  4. 修復で解決しない場合、または修復オプションがない場合は、アプリをアンインストールします。
  5. 元の発行元、ストア、またはランチャーから再度インストールします。 Windowsの設定でインストール済みアプリを修復する画面

確認方法

通常のショートカットからアプリを起動します。DLL不足エラーなしで通常の起動画面まで進むはずです。

方法3:DISMとSFCでWindowsシステムファイルを修復する

使用するタイミング

関連のない複数のアプリケーションでDLLエラーが表示される場合、またはメッセージにWindowsシステムDLLが示される場合に、この方法を選択します。DISMはWindowsコンポーネントストアを修復し、その後SFCが保護されたシステムファイルを確認します。

手順

  1. 開いている作業内容を保存し、アプリケーションを閉じます。
  2. コマンド プロンプト を管理者として開きます。
    管理者として実行するメニュー
  3. 以下のコマンドを実行し、完了するまで待ちます。
    DISM /Online /Cleanup-Image /RestoreHealth
          
    DISM RestoreHealthコマンドを実行する画面
  4. DISMの完了後、次のコマンドを実行します。
    sfc /scannow
          
  5. SFCの完了後にWindowsを再起動します。

確認方法

再起動後、エラーが発生したプログラムを開きます。そのアプリだけがまだ失敗する場合は、方法2に戻ってください。保護されたWindowsシステムファイルの問題ではない可能性があります。

方法4: Fionn DLL Fixer で問題を診断・修復する

使用するタイミング

提供元が不明な場合に推奨: DLLまたは依存関係の提供元が不明で、検出可能なDLLおよびWindowsシステムの問題に対するガイド付きスキャンを利用したい場合は、 Fionn DLL Fixer を使用してください。依存関係の読み込みと起動に関する問題をスキャンし、修復と再確認の手順を提供できます。

手順

  1. Fionn DLL Fixerを起動し、スキャン結果が表示されるまで待ちます。 Fionn DLL Fixerを起動する画面
  2. スキャンが完了したら、 Repair をクリックします。 スキャン完了後にRepairをクリックして修復を開始する画面
  3. ボタンに Fixing と表示されている間は待ちます。 修復の進行中画面
  4. 完了ダイアログで Ok をクリックし、求められた場合は再起動します。 修復完了後に確認ダイアログでOkをクリックする画面
  5. 再起動後もエラーが続く場合は、 Recheck をクリックして、もう一度スキャンし、新たに検出された問題を修復します。 問題が続く場合にRecheckをクリックして再スキャンする画面

確認方法

修復と必要な再起動の後、影響を受けたアプリケーションを開きます。エラーが続く場合は、アプリケーション開発元またはFionnサポートへ問い合わせる際に、再確認結果と正確なダイアログ文言を使用してください。

確認チェックリスト

  • 影響を受けたアプリケーションが、通常のショートカットからDLL不足のメッセージなしで開きます。
  • アプリケーションが通常の開始画面またはメインウィンドウに到達します。
  • Windowsの再起動後、以前に影響を受けた他のアプリケーションも開きます。
  • 修復したプログラムの起動中に、新しいDLLエラーが表示されません。

まとめ

単体のダウンロードではなく、まずDLL名から始めてください。ファイルがそのランタイムに属する場合はMicrosoft Visual C++またはDirectXを修復し、アプリ固有の場合は影響を受けたアプリを修復または再インストールします。Windows DLLの場合、または複数のプログラムでエラーが出る場合は、DISMの後にSFCを使用してください。提供元が不明な場合は、 Fionn DLL Fixer がガイド付きのスキャン、修復、再確認の手順を提供します。再起動後に元のプログラムを開き、結果を確認してください。問題が残る場合は、完全なエラー文とDLL名を添えて、プログラム開発元または公式サポートに問い合わせてください。

よくある質問

不足しているDLLファイルを個別にダウンロードできますか?

通常はできません。アプリまたはDLLを提供するランタイムパッケージを修復してください。単体のファイルは必要なバージョンやアーキテクチャと一致しない可能性があります。

VCRUNTIME140.dllがないとはどういう意味ですか?

一般に、アプリケーションにMicrosoft Visual C++ Redistributableが必要であることを示します。アプリケーションを再インストールする前に、対応するサポート対象のRedistributableを修復またはインストールしてください。

新しいバージョンのWindowsでも、ゲームがd3dx9_*.dllを必要とするのはなぜですか?

一部の古いゲームは、旧式のDirectXサイドバイサイドコンポーネントを使用します。新しいDirectXバージョンがこれらの旧式ファイルを提供するとは限らないため、サポートされているDirectX End-User Runtimeが必要になる場合があります。

SFCの前にDISMを実行すべきですか?

Windowsシステムファイルの修復方法では、まずDISMを実行してからSFCを実行してください。

問題が残る場合、公式サポートには何を送るべきですか?

正確なエラー文、DLLファイル名、影響を受けたプログラム名、すでに試した修復方法を送ってください。