Vad är Microsoft Visual C++ omfördelbart och behöver du så många?

Ibland när du installerar ett program i Windows kan du bli ombedd att installera ytterligare ett program som heter Microsoft Visual C++ Redistributable. En dag när du tittar igenom dina installerade applikationer märker du att det här programmet installeras många gånger. Varje installation har olika storlek och installationsdatum. 

Vad är Microsoft Visual C++ Redistributable ? Varför finns det så många kopior installerade och kan du avinstallera någon av dem? Det finns mycket att gå igenom här, så vi börjar med grunderna.

Vad är Microsoft Visual C++ Redistributable ?

Innan vi kommer till C++-delen av förklaringen är det värt att prata om vad "omfördelbar" betyder. 

Programvaran(Software) distribueras antingen som ett lättviktigt onlineinstallationsprogram eller som ett vidaredistributionsbart. Onlineinstallatörer är väldigt små i storlek och det beror på att de faktiskt inte innehåller applikationsdata. När du kör dem laddas data ner från internet. Fördelen med detta tillvägagångssätt är att endast den data som din dator faktiskt behöver kommer att laddas ner.

En omdistribuerbar fil har å andra sidan all data som kan behövas under installationen. Den har den tydliga fördelen att den inte behöver en internetanslutning för att fungera. Redistributables är ofta paketerade i annan programvara som förlitar sig på dem och så är det med Visual C++.

Visual C++ är en kodkompilator för programmeringsspråksfamiljen C. Det inkluderar C, C++ och C++/CLI -kod. Många applikationer skrivna i C, särskilt de som skapats med Microsoft Visual Studios(Microsoft Visual Studio) utvecklarmiljö, förlitar sig på en standarduppsättning mjukvarubibliotek, utan vilka programvaran inte kan köras. 

Men eftersom de flesta som kommer att använda applikationen inte kommer att ha hela Visual Studio-utvecklarsviten(Visual Studio developer suite) installerad på sin dator, innehåller den omdistribuerbara de bibliotek som en given applikation behöver och kan buntas ihop med dess installationsprogram.

Vad är programvarubibliotek?

Så vi har fastställt att de omdistribuerbara C++ är programvarubibliotek som är buntade med applikationer skrivna med Microsoft Visual C++ Studio . Så vad är mjukvarubibliotek?

Det finns många vanliga funktioner och operationer i applikationer som används så ofta att det inte är vettigt för programmerare att handkoda dem varje gång. Mjukvarubibliotek(Software) är i huvudsak en samling förgjord programmeringskod som en mjukvaruutvecklare kan anropa i sin egen kod för att utföra specifika jobb. Detta sparar tid och hjälper till att standardisera aspekter av mjukvaruutveckling.

Programvarubiblioteken i fråga tillhör Microsoft , så utvecklaren kan inte bara kopiera och klistra in koden i sitt eget program. Den omdistribuerbara gör att programmet kan anropa de bibliotek det behöver på användarens dator.

Varför upprepas det omfördelbara så många gånger(Repeated So Many Times) ?

Om du är noga uppmärksam kommer du att märka att de olika C++ omdistribuerbara installationerna inte har exakt samma namn. De kommer att ha olika versionsnummer och olika år i sina titlar.

Det beror på att Microsoft Visual Studio i sig uppdateras över tid. Detta påverkar även standardprogrambiblioteken i varje version. En applikation som är skriven med en specifik version av Visual Studio skulle behöva biblioteket som kan omdistribueras för den versionen av utvecklarverktygen.

De omfördelbara är inte heller kumulativa. Så nyare innehåller inte alla bibliotek av versionerna som har kommit tidigare. Det beror på att vissa äldre bibliotek kommer att tas bort med tiden eller kommer att förändras och inte längre är kompatibla med äldre versioner. Om de var kumulativa skulle storleken på de omfördelbara ballongerna över åren och bli svåra att underhålla.

När du installerar en ny applikation som kräver en ny distribuerbar, kommer den att kontrollera om det biblioteket redan är installerat. Om inte läggs den till i listan. Så var och en av posterna du ser listade behövdes vid ett tillfälle av ett program som du installerade på din dator.

Ska jag ta bort någon av dem?

De omdistribuerbara biblioteken är delade. Det betyder att flera applikationer använder samma installation av standardbibliotek. Även om ett program kommer att installera saknade bibliotek vid sidan av sig själv, kommer det inte att avinstallera dessa bibliotek när du avinstallerar det. Det beror på att ett annat program kan ha installerats under tiden som också är beroende av de specifika biblioteken.

Vi rekommenderar inte att du tar bort någon Visual C++ omdistribuerbar, eftersom det kan göra att flera applikationer på din dator slutar fungera. Med tanke på(Given) hur lite utrymme de tar upp och hur brett de används, verkar det inte vara värt besväret att bråka med ditt nuvarande ekosystem av standardbiblioteksfiler.

Ta reda på vilka vidarefördelningar(Which Redistributables) du behöver

Om du, för argumentets skull, absolut var inställd på att ta bort Visual C++ redistributables som inte längre används av någon programvara på din dator, hur skulle du göra det? Det finns inget automatiserat sätt att avgöra vilka C++-biblioteksberoenden som finns på din dator.

Ett tillvägagångssätt kan vara att avinstallera alla omdistribuerbara filer och sedan installera om programvaran som du vet att du behöver. Dessa applikationer kommer sedan att installera om sina nödvändiga bibliotek. Du kan också uppnå samma effekt med en ren installation av Windows och bara dina nödvändiga applikationer.

Båda dessa tillvägagångssätt innebär mycket tråkigt arbete för mycket liten vinst, men om du måste så är det hur du ska gå tillväga.

Förlora(Lose Sleep) inte sömn om Visual C++ Redistributables

I denna moderna tidsålder av multi-terabyte hårddiskar, många gigabyte RAM och flerkärniga processorer(CPUs) , att ha några överflödiga C++-bibliotek på din dator kommer att ha exakt noll effekt på din dators prestanda eller välbefinnande. Att ta bort dem med vilje kan bryta saker och att ta bort dem systematiskt är hårt arbete med liten belöning. Så ta ett djupt andetag, stäng listan med appar och glöm att de finns där.



About the author

Jag är en datavetare med över 10 års erfarenhet av mjukvaruutveckling och säkerhet. Jag har ett starkt intresse för Firefox, Chrome och Xbox-spel. Jag är särskilt intresserad av hur jag ser till att min kod är säker och effektiv.



Related posts