September 23,2021

Dlaczego wszystkie pakiety redystrybucyjne Visual C ++?

by Kolbowicz Marek

Podczas czyszczenia zainstalowanych programów w Panelu sterowania / Programy / Programy i funkcje (Windows 7: Programy i funkcje) zauważysz całą serię zainstalowanych obiektów o nazwach takich jak „Microsoft Visual C ++ 2008 Redistributable” z różnymi datami. Z jednej strony irytują częściowo stare numery lat, z drugiej strony nie podoba ci się również to, że wiele z nich wydaje się istnieć dwa razy. Ale oprzyj się swojemu odruchowi, aby posprzątać tutaj! Wyjaśniamy dlaczego.

Jaki jest (podobno) starożytny bałagan? $ ('. magnificPopup'). magnificPopup ({
typ: 'obraz'
});

Skąd oni pochodzą?

Każdy, kto tworzy oprogramowanie, korzysta ze środowiska programistycznego (Integrated Development Environment, w skrócie IDE). Mówiąc prościej, jest to aplikacja, w której piszesz kod programu i kompilujesz go do postaci programu wykonywalnego.

Microsoft Visual C ++ jest szeroko rozpowszechniony wśród programistów Windows. Kiedy programista skompiluje w nim swoją pracę (przygotowuje ją do użycia) i dołączy ją do programu instalacyjnego, proces ten zawsze dodaje do programu wszystkie wymagane biblioteki wykonawcze. Podczas późniejszej instalacji na komputerze użytkownika są one również instalowane i manifestują się w postaci wpisów Visual C++.

Dlaczego kilka lat?

Podobnie jak w przypadku innych produktów, co kilka lat dostępna jest wersja środowiska programistycznego. Nie każdy programista przez cały czas otrzymuje najnowsze IDE. Dlatego niektórzy programiści pracują ze starszymi wersjami Visual C ++. Ponadto istnieją programy, które nie są rozwijane znacznie dalej od kilku lat, ponieważ funkcje nie są potrzebne lub programista nie ma czasu.

Jeśli używasz takiego programu, ten na twoim komputerze nadal będzie potrzebował odpowiednich starszych bibliotek wykonawczych.

W przeciwieństwie do Javy (JRE): Czy Twoje żądanie oczyszczenia wynikało z Twoich doświadczeń z Javą? Jest tu duża różnica między Visual C++ a Javą. W przeciwieństwie do środowiska Java Runtime Environment (JRE, które służy tym samym celom dla programów Java), biblioteki Visual C++ nie są kompatybilne wstecz. Oznacza to, że: Jeśli program został napisany w Visual C++ 2008, zależy to od plików z pakietu redystrybucyjnego Microsoft Visual C++ 2008. Jeśli został napisany w Visual C++ 2013, to potrzebuje bibliotek programowych 2013 - i tak dalej. W przypadku programów Java wystarczy, aby użytkownik końcowy miał na pokładzie najnowsze środowisko JRE (patrz także rozdział «Marnowanie miejsca?»).

Czy to nie jest niebezpieczne?

Mniej niebezpieczne niż myślisz! Dzieje się tak, ponieważ firma Microsoft kontynuuje dystrybucję aktualizacji starszych bibliotek Visual C++. Na przykład właśnie pojawiła się aktualizacja, a nawet dodatek Service Pack dla Microsoft Visual C ++ 2008.

Aktualizacje systemu Windows są również dostępne dla wersji 2008 Microsoft Visual C ++ Redistributables $ („. MagnificPopup”).
typ: 'obraz'
});

Dopóki używasz starszych programów lub programów, które zostały napisane w starszej wersji środowiska programistycznego firmy Microsoft, nadal będziesz potrzebować różnych wersji bibliotek wykonawczych Visual C++.

Marnowanie miejsca?

Można by przypuszczać, że tak wiele wersji środowiska uruchomieniowego marnuje sporo miejsca. Ale w rzeczywistości nie jest tak źle.

Przyjrzyj się sam Przeciągnij kolumny na liście programów w Panelu sterowania nieco szerzej, aby zobaczyć także kolumnę „Rozmiar”. Jeśli go nie ma: Można go wyświetlić, klikając prawym przyciskiem myszy tytuł kolumny i zaznaczając go raz. Każda z zainstalowanych wersji Visual C++ porusza się tylko w zakresie od 10 do 23 megabajtów. Więc razem tutaj trochę ponad 150 megabajtów.

Poszczególne pakiety z bibliotekami wykonawczymi Visual C++ nie są tak duże $ ('.MagnificPopup').
typ: 'obraz'
});

W systemie Windows 10 nowsze wersje są dołączane automatycznie. A starsze są instalowane tylko wtedy, gdy aplikacja ich potrzebuje lub przynosi ze sobą.

Java - tylko dla porównania: Jeśli spojrzysz na to samo z Javą, zobaczysz, że jej pliki środowiska wykonawczego potrzebują więcej miejsca. Nawet pobranie wersji 32-bitowej i 64-bitowej dla środowiska wykonawczego Java „waży” łącznie 142 megabajty; po zainstalowaniu, nawet 227 megabajtów. To znacznie więcej niż 150 MB dla pakietów Microsoftu. Jednym z powodów może być kompatybilność wsteczna.

Dlatego z pewnością może mieć zalety zarządzanie bibliotekami wykonawczymi w różnych pakietach wersji, tak jak robi to Microsoft z bibliotekami C ++.

Ale dlaczego wszystkie dwa razy?

Przyjrzyj się bliżej nazwom poszczególnych obiektów Visual C++ w Panelu sterowania / Programy / Programy i funkcje. W systemie 32-bitowym zazwyczaj będziesz mieć tylko jedną kopię rocznie. W systemie 64-bitowym (większość obecnie) masz oba warianty na wersję. Dzieje się tak, ponieważ wiele programów nadal działa w systemie 64-bitowym z 32 bitami. Czasami istnieją nawet programy 64-bitowe, które mają kilka komponentów 32-bitowych. Dlatego lepiej jest zachować oba warianty w systemie.

Odinstalować czy nie?

Nie rób tego! Prawie nie zyskujesz miejsca, odinstalowując pakiety redystrybucyjne Microsoft Visual C ++, ale ryzykujesz, że programy nagle przestaną działać.

Oczywiście możliwe jest, że starsza wersja bibliotek Microsoft Visual C++ czasami pozostaje nieużywana na dysku twardym. Może się to zdarzyć, na przykład, jeśli odinstalujesz dołączony do niego program. Deinstalator oprogramowania usuwa tylko sam program, ale nie biblioteki Visual C++, które zostały z nim „przeniesione”. Większość deinstalatorów programów nie może zdecydować, czy inny program zależy od tych bibliotek wykonawczych.

  • Kolbowicz Marek
  • September 23,2021

Leave a Reply