コンピューターにapi-ms-win-crt-runtime-l1-1-0.dllがないため、プログラムを開始できません


9

Windows 7で特定のプログラムを起動すると、次のエラーメッセージが表示されます。

コンピューターにapi-ms-win-crt-runtime-l1-1-0.dllがないため、プログラムを開始できません

ここに画像の説明を入力してください

[OK]をクリックするとダイアログが閉じ、ソフトウェアは問題なく実行できますが、次回ソフトウェアを実行するときにエラーが繰り返されます。

残念ながら、ソフトウェアを再インストールしても問題は解決しません。

これは非常に迷惑です。どうすれば解決できますか?

回答:


12

このエラーの原因と修正方法を教えてください。

これは、Windows 10 SDKを使用して構築されたアプリケーションが以前のバージョンのWindowsで実行されたときに発生します。

これにより、Windows 10 Universal CRT(Cランタイム)への依存関係が作成されます

これを修正するには、WindowsにユニバーサルCランタイムのアップデートをインストールします

Windows 10 Universal CRTは、WindowsオペレーティングシステムでCRT機能を有効にするWindowsオペレーティングシステムコンポーネントです。この更新により、Windows 10 Universal CRTリリースに依存するWindowsデスクトップアプリケーションを以前のWindowsオペレーティングシステムで実行できるようになります。

Microsoft Visual Studio 2015は、Windows 10ソフトウェア開発キット(SDK)を使用してアプリケーションを構築するときに、ユニバーサルCRTへの依存関係を作成します。この更新プログラムを以前のWindowsオペレーティングシステムにインストールすると、これらのアプリケーションを正しく実行できます。


参考文献


単純なHello WorldがVS2017でコンパイルされる場合、実行可能ファイルはに依存しますapi-ms-win-crt-runtime-l1-1-0.dllが、mingwでコンパイルされる場合はに依存しmsvcrt.dllます。どうして?
Biswapriyo 2017

@Biswaわかりません。私はVisual Studioを使用したことがありません...しかし、VSはWindows 10 SDKを使用し、mingwは使用していないと思います。
DavidPostill

3
@ビスワ:それは愚かであるMinGWです。それが依存するDLLは、事実上、Windows 95の日より前のVisual C 4.2ランタイムです(そうです、今では10バージョン以上古いものです)。誰もが頼りにすべきライブラリではありません。
Joey

2
@ edc65ライブラリは実行可能ファイルにコンパイルされていますが、実際には使用されていない可能性があります。このライブラリを必要とするソフトウェアの機能を使用していない可能性もあります。
RobertSF 2017

1
@ジョーイ:私はあなたがVisual C ++ 4.2 Cランタイムを意味すると思います。Microsoft C 4.xコンパイラがありましたが、「ビジュアル」というモニカを搭載しておらず、32ビットバージョンはありませんでした。その間、MSVCRT.DLLはバグ修正と夏時間ルールなどの更新により度も更新されていますが、お勧めの
Ben Voigt
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.