2009-10-17 86 views
11

Visual C++ 2005 Tôi xây dựng trên hệ thống của mình sử dụng phiên bản CRT DLL phiên bản 8.0.50727.4053. Tôi tin rằng đây là phiên bản mới nhất và được Windows tự động cập nhật.vcredist_x86.dll và phiên bản 8.0.50727.4053

Trên hệ thống người dùng, không tìm thấy phiên bản DLL này. Tôi đã sử dụng vcredist_x86.exe trong quá khứ như là một phần của trình cài đặt của chúng tôi để cài đặt thời gian chạy DLL. Nó được sử dụng để làm việc.

Vấn đề của tôi là ngay cả phiên bản mới nhất của vcredist_x86.exe ( Microsoft Visual C++ 2005 SP1 gói Redistributable (x86)) không cài đặt phiên bản DLL này.

Vậy tôi cần dùng tập tin vcredist_x86.exe nào?

P.S. Việc buộc ứng dụng của tôi liên kết đến phiên bản CRT cụ thể có giải quyết được sự cố không? Nó là một phương pháp được ưa thích hơn?

Cảm ơn,

Paul

UPDATE: Có những người khác, những người quan sát vcredist_x86.exe đó ( Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)) không cài đặt 8.0.50727.4053.

CẬP NHẬT 2: Ít nhất một người đề xuất buộc sử dụng phiên bản CRT trước đó (http://tedwvc.wordpress.com/). Tuy nhiên, điều này sẽ thêm một sự phức tạp đáng kể cho các dự án của chúng tôi.

Trả lời

1

Microsoft phát hành bản cập nhật (google cho KB971090) có chứa bản sửa lỗi bảo mật cho thời gian chạy VC. Có bản cập nhật tương ứng với số vcredist_x86.exe, nhưng tôi không có liên kết. Nếu bạn đã cài đặt KB971090, tôi nghĩ bạn nên cập nhật vcredist_x86.exe ở đâu đó trên máy của mình. Trong thực tế (IIRC), có nghĩa là các tệp nhị phân được xây dựng trên các máy có cài đặt KB971090 chỉ có thể chạy trên các máy có thời gian chạy VC được cập nhật tương ứng, tức là bạn cần gửi và cài đặt vcredist_x86.exe mới trên máy khách.

2

Ok. Tôi tìm thấy giải pháp trong MS Diễn đàn:

Nếu bạn cài đặt bản cập nhật an ninh, phiên bản 9.0.30729.4148 của vcredist phải ở trong thư mục Windows SDK của bạn, thường là C: \ Program Files \ Microsoft SDK \ Windows \ v6.0A \ Bootstrapper \ Gói \ vcredist_x86 và C: \ Program Files \ Microsoft SDK \ Windows \ v6.0A \ Bootstrapper \ Gói \ vcredist_x64.

Original thread

+0

Tôi chạy vào cùng một vấn đề, nhưng cài đặt v9.0.30729.4148 không cài đặt các file DLL v8.0.50727.4053 :( –

0

Trên máy tính của tôi, tôi tìm thấy 8.0.50727.4053 phân phối trong \Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86

Một trong \Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x86 đã cho VS2008.

-Greg

3

Tôi nghĩ có sự khác biệt quan trọng đối với người dùng VS/người dùng chuyên nghiệp và người dùng VS Express.Đối với VC++ Standard, c: \ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ BootStrapper \ Packages \ vcredist_x86 \ chứa 8.0.50727.4053 redistributable (sau khi cập nhật bảo mật được cài đặt). Không cần phải cài đặt riêng một SDK, vì vậy (ví dụ), tôi thậm chí không có thư mục C: \ Program Files \ Microsoft SDK \ trên máy tính có cài đặt VC++ Standard.

Khi sử dụng VS 2005 Express, hãy làm theo câu trả lời của mikets và nhận phiên bản cập nhật bảo mật ATL. Tôi xác nhận những vấn đề này khắc phục sự cố trong trường hợp của tôi.

+0

+1: hoạt động hoàn hảo sau một tìm kiếm dài: Tôi đã gửi vcredist_x86.exe cho một khách hàng, những người gặp sự cố này khi sử dụng ứng dụng của tôi. – Asaf

0

Lưu ý: Cài đặt "Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update" được đề cập bởi mikets trên cũng có thể giải quyết vấn đề sau:

Lỗi 0xc0150004 khi bắt đầu devenv.exe (Visual Studio 2005) hoặc reader_sl.exe (Tự khởi động của Acrobat Reader).

Lý do sửa lỗi cài đặt bị hỏng của các cụm trên. (Có thể bị hỏng với bản cập nhật Windows/gói dịch vụ cài đặt).

1

Tôi hy vọng điều này có thể là một thông tin hữu ích:

Các tập tin bạn đang tìm kiếm (2.0.50727.4053) có kích thước 2.705.744 byte (2.707.456 byte trên đĩa).

0

Sự hiểu biết của tôi là Microsoft đã không phát hành vcredist_x86.exe cho phiên bản này. Họ đã làm, tuy nhiên, phát hành Merge Modules với phiên bản này, vì vậy bạn nên tải chúng và đưa chúng vào trình cài đặt của bạn. Bây giờ, nơi bạn có được những điều này cũng là một câu hỏi hay, nhưng tôi bằng cách nào đó kỳ diệu đã nhận chúng, có lẽ thông qua cập nhật InstallShield.

Các vấn đề liên quan