2009-10-17 20 views
11

Visual C++ 2005 Korzystam z mojego systemu, używając bibliotek DLL CRT w wersji 8.0.50727.4053. Uważam, że jest najnowszy i został automatycznie zaktualizowany przez system Windows.vcredist_x86.dll i wersja 8.0.50727.4053

W systemach użytkownika ta wersja biblioteki DLL nie została znaleziona. Użyłem vcredist_x86.exe w przeszłości jako część naszego instalatora, aby zainstalować biblioteki DLL środowiska wykonawczego. Kiedyś działało.

Mój problem polega na tym, że nawet najnowsza wersja vcredist_x86.exe ( Pakiet redystrybucyjny Microsoft Visual C++ 2005 SP1 (x86)) nie instaluje tej wersji biblioteki DLL.

Który plik vcredist_x86.exe jest mi potrzebny?

P.S. Czy wymuszenie przez moją aplikację połączenia z określoną wersją CRT rozwiąże problem? Czy w ogóle jest to preferowana metoda?

Dzięki,

Paul

UPDATE: Są też inne osoby, które zauważają, że vcredist_x86.exe ( Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)) nie instalować 8.0.50727.4053.

UPDATE2: Przynajmniej jedna osoba sugeruje wymuszenie używania poprzedniej wersji CRT (http://tedwvc.wordpress.com/). To jednak zwiększyłoby złożoność naszych projektów.

Odpowiedz

1

Firma Microsoft wydaje aktualizację (google for KB971090) zawierającą poprawkę zabezpieczeń środowiska wykonawczego VC. Istnieje odpowiednia aktualizacja do vcredist_x86.exe, ale nie mam linku. Jeśli masz zainstalowany KB971090, myślę, że powinieneś mieć zaktualizowany vcredist_x86.exe gdzieś na swoim komputerze.

W praktyce (IIRC) oznacza, że ​​pliki binarne zbudowane na maszynach, na których zainstalowano KB971090, mogą działać tylko na komputerach z odpowiednimi zaktualizowanymi środowiskami wykonawczymi VC, tj. Należy wysyłać i instalować nowe vcredist_x86.exe na komputerach klienckich.

2

Ok. Znalazłem rozwiązanie w forum MS:

Po zainstalowaniu aktualizacji zabezpieczeń wersja VCRedist 9.0.30729.4148 powinny być w folderze Windows SDK, zazwyczaj C: Program Files \ \ Microsoft SDK \ Windows \ v6.0A \ Bootstrapper \ Pakiety \ vcredist_x86 i C: \ Program Files \ Microsoft Zestawy SDK \ Windows \ v6.0A \ Bootstrapper \ Pakiety \ vcredist_x64.

Original thread

+0

wpadłem na ten sam problem, ale zainstalowanie v9.0.30729.4148 nie instalować DLL v8.0.50727.4053 :( –

0

Na moim komputerze znalazłem 8.0.50727.4053 redystrybucyjnego w \Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86

Ten w \Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x86 był dla VS2008.

-Greg

3

Uważam, że istnieje ważne rozróżnienie dla użytkowników VS/użytkowników profesjonalnych i użytkowników VS Express.W przypadku standardu VC++ c: \ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ BootStrapper \ Pakiety \ vcredist_x86 \ zawiera redystrybucyjną wersję 8.0.50727.4053 (po zainstalowaniu aktualizacji zabezpieczeń). Nie ma potrzeby osobnego instalowania pakietu SDK, więc (na przykład), nie mam nawet katalogu C: \ Program Files \ Microsoft SDKs \ na komputerze z zainstalowanym standardem VC++.

Używając VS 2005 Express, wykonaj odpowiedź od miketów i uzyskaj wersję aktualizacji bezpieczeństwa ATL. Potwierdziłem, że naprawili problem w moim przypadku.

+0

+1: działało idealnie po długim wyszukiwaniu: Wysłałem plik vcredist_x86.exe do klienta, który napotkał ten problem za pomocą mojej aplikacji. – Asaf

0

Uwaga: Instalacja "Microsoft Visual C++ 2005 z dodatkiem Service Pack 1 aktualizacji Pakiet redystrybucyjny ATL Bezpieczeństwo" wspomniany przez mikets powyżej może również rozwiązać następujący problem:

błąd 0xc0150004 Po uruchomieniu devenv.exe (Visual Studio 2005) lub read_sl.exe (Autostart programu Acrobat Reader).

Powód, dla którego naprawiono uszkodzoną instalację powyższych Zespołów. (Prawdopodobnie uszkodzony przy instalacji Windows Update/Service Pack).

1

Mam nadzieję, że to może być przydatna informacja:

Plik szukasz (2.0.50727.4053) ma rozmiar 2.705.744 bajtów (2.707.456 bajtów na dysku).

0

Rozumiem, że firma Microsoft nie wydała pliku vcredist_x86.exe dla tej wersji. Jednakże wydali moduły Merge z tą wersją, więc powinieneś je pobrać i dołączyć do swojego instalatora. To, skąd je masz, to także dobre pytanie, ale w jakiś magiczny sposób je dostałem, prawdopodobnie dzięki aktualizacji InstallShield.