8Jul

Vad är skillnaden mellan en fristående och installerad körbar fil?

Medan de flesta av oss är nöjda att gå med den "beprövade" processen att installera körbara filer för vår favoritprogramvara, är det verkligen nödvändigt att göra det? Kunde vi faktiskt extrahera samma körbara filer istället för att installera dem, och köra dem på samma sätt som deras fristående kusiner?

Dagens fråga &Svarssession kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

Frågan

SuperUser-läsare Tom Turkiet vill veta vad skillnaden mellan en fristående och installerad körbar fil är:

Jag har lagt märke till att åtminstone i Windows kan du hämta en direkt, statiskt länkad körbar fil och starta dendirekt, eller skriv ditt eget program och kör det( även dynamiskt) utan att behöva installera det.

Det leder mig till min huvudpunkt. .. vad är syftet med installationsprocessen? Jag menar förutom kanske Windows-registret. För praktiska ändamål och användningsändamål är det dock möjligt att ha ett enda, oberoende, fristående program som kan köras, lagras på icke-flyktig lagring och åtkomst via filsystemet, oberoende av vilken enhet den är på och körs på OS.

Så vad är den stora affären med alla "installera detta" företag om många bra program av praktiskt taget alla storlekar kan fungera perfekt utan att gå igenom en installationskonfiguration? Det pussar mig lite, och förutom en databas eller andra metadata / åtkomstkonfigurationssystem, vad är den verkliga skillnaden här om den senare( en installerad körbar) utför och fungerar på samma sätt som en fristående?

Finns det någon skillnad här är jag inte medveten om ett icke-installerat program kontra en installerad?

PS: Detta behöver inte bara gälla för Windows OSes, men alla som implementerar en liknande funktion.

Finns det verkligen så mycket av skillnaden mellan fristående och installerade körbara filer, eller är de mer lika än vi kan misstänka?

Svaret

SuperUser-bidragare Wyatt8740 har svaret för oss:

Kort svar: En fristående exe kräver att inga bibliotek installeras på datorn för att köra och kräver inga registerposter eller andra komponenter.

En installerad fil kan vara fristående i ett installationspaket, men är generellt beroende av en mängd olika komponenter och bibliotek installerade bredvid det.

I många fall kan du, genom att använda Universal Extractor( inofficiell uppdatering: här), extrahera innehållet i ett installationsprogram och köra ett program utan administrativa behörigheter i Windows. MSI installatörer kan packas upp med lessmsi.

I de flesta andra operativsystem kan alla program köras utan root / administrator privilegier, via användarspecifik "bin", "lib" och andra kataloger i hemkatalogen. Personligen förnekar jag installatörer större delen av tiden eftersom de gör det svårare för mig att använda program utan administrativa privilegier när jag inte har dem. Men de förpackas på så sätt av stora företag för att förenkla processen för den genomsnittliga slutanvändaren.

Medan vi har lärt oss att det är möjligt att extrahera och driva en del av vår favoritprogramvara som fristående körbara filer, så finns det ibland inte någon gammal "försökt och sann" installationsprocess för att använda ett program vi tycker om eller behöverpå vårt system.

Har något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan( med mycket expanderade svar) här.