Chương trình không thể bắt đầu vì thiếu api-ms-win-crt-runtime-l1-1-0.dll từ máy tính của bạn


9

Khi bắt đầu một số chương trình nhất định trên Windows 7, tôi nhận được thông báo lỗi sau:

Chương trình không thể bắt đầu vì thiếu api-ms-win-crt-runtime-l1-1-0.dll từ máy tính của bạn

nhập mô tả hình ảnh ở đây

Nhấp vào "OK" sẽ bỏ qua hộp thoại và cho phép phần mềm chạy mà không gặp sự cố nào, nhưng lỗi sẽ lặp lại lần sau khi tôi chạy phần mềm.

Thật không may, cài đặt lại phần mềm không khắc phục được sự cố.

Điều này đang trở nên rất khó chịu. Làm thế nào để tôi giải quyết điều này?

Câu trả lời:


12

Điều gì gây ra lỗi này và làm cách nào để khắc phục nó?

Nó xảy ra khi các ứng dụng được xây dựng bằng SDK Windows 10 được thực thi trên phiên bản Windows trước đó.

Điều này tạo ra sự phụ thuộc vào Windows 10 Universal CRT (C Runtime) .

Để khắc phục, hãy cài đặt Bản cập nhật cho Universal C Runtime trong Windows :

Windows 10 Universal CRT là thành phần hệ điều hành Windows cho phép chức năng CRT trên hệ điều hành Windows. Bản cập nhật này cho phép các ứng dụng máy tính để bàn Windows phụ thuộc vào phiên bản Windows 10 Universal CRT chạy trên các hệ điều hành Windows trước đó.

Microsoft Visual Studio 2015 tạo ra sự phụ thuộc vào Universal CRT khi các ứng dụng được xây dựng bằng cách sử dụng Bộ công cụ phát triển phần mềm (SDK) Windows 10. Bạn có thể cài đặt bản cập nhật này trên các hệ điều hành Windows trước đó để cho phép các ứng dụng này chạy chính xác.


đọc thêm


Nếu một Hello World đơn giản được biên dịch với VS2017, thì tệp thực thi phụ thuộc vào api-ms-win-crt-runtime-l1-1-0.dllnhưng nếu được biên dịch bằng mingw, thì nó phụ thuộc vào msvcrt.dll. Tại sao?
Biswapriyo

@Biswa Không có ý kiến. Tôi chưa bao giờ sử dụng Visual Studio ... tuy nhiên tôi đoán rằng VS sử dụng SDK Windows 10 và mingw thì không.
DavidPostill

3
@Biswa: Đó là MinGW thật ngu ngốc. DLL mà nó phụ thuộc có hiệu quảthời gian chạy Visual C 4.2 (vâng, hiện tại nó đã hơn 10 phiên bản) từ trước Windows 95 ngày . Đó không phải là một thư viện mà bất cứ ai cũng nên phụ thuộc vào.
Joey

2
@ edc65 Có thể thư viện được biên dịch thành tệp thực thi nhưng không thực sự được sử dụng. Cũng có thể bạn không sử dụng một tính năng trong phần mềm yêu cầu thư viện này.
RobertSF

1
@Joey: Tôi nghĩ bạn có nghĩa là thời gian chạy Visual C ++ 4.2 C. Có một trình biên dịch Microsoft C 4.x, nhưng nó không mang biệt danh "Visual" và không bao giờ có phiên bản 32 bit. Và MSVCRT.DLL đã được cập nhật nhiều lần trong thời gian này với các bản sửa lỗi và cập nhật cho các quy tắc Thời gian tiết kiệm ánh sáng ban ngày, nhưng như bạn đề xuất, nó vẫn tương thích ABI với Visual C ++ 4.2
Ben Voigt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.