Hemsida » hur » Varför är inte alla applikationer bärbara?

    Varför är inte alla applikationer bärbara?

    Det är en fråga som nags på någon som har blivit kär i bärbara appar: varför är det inte Allt applikationer bärbara?

    Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-drive-gruppering av Q & A-webbplatser.

    Frågan

    SuperUser-läsare Tom älskar den rena organisationen bärbara appar ger och vill veta varför allt inte är bärbart:

    Jag har nyligen försökt att "installera" saker mycket mindre på min Windows-maskin (jag hatar installatörer - jag behöver veta var program lägger saker ...), väljer att använda bärbara eller fristående versioner av applikationer istället.

    Jag lägger dem alla i en "Program" -dir på en enhet som är separat från min Windows-partition, så när jag installerar, har jag alla mina program tillgängliga med minimal ansträngning och på plussidan får jag en fin ren installation.

    Program som Office och Creative Suite kräver fortfarande att jag går igenom en fruktansvärt lång installationsprocess där tusen slumpmässiga bibliotek och verktyg kastas över mitt system.

    Varför behöver Windows-appar fortfarande installera? Varför kan vi inte bara dra Photoshop till en mapp à la OSX och bara få det att fungera? Är någon annan fokuserad på bärbara appar, eller är jag bara OCD om det hela?

    Vi är verkligen fans av bärbara appar och skulle också vilja komma till botten av saker.

    Svaret

    SuperUser-bidragsgivaren David Whitney erbjuder viss inblick i varför många appar inte är portabla och hur Windows verkställer ett slags anti-portability-arrangemang:

    Installatörer är ett resultat av år av evolution och en liten (förenklad) historia hjälper till att förstå varför de gör vad de gör ...

    Windows 3.1-modellen föreslog konfigurationsfiler för config.ini-stilen per applikation med stöd för delade libaries som går in i systemmappar för att förhindra duplicering och bortkastat diskutrymme.

    Windows 95 introducerade registret som möjliggör en central butik för applikationskonfiguration som ersätter många konfigurationsfiler. Ännu viktigare lagras Windows-konfigurationen på samma plats.

    Registret blev uppblåst på grund av applikationer som inte rengörs efter sig själva. DLL helvete hände som ett resultat av flera versioner av samma delade bibliotek som skriver över varandra.

    .NET introducerade begreppet app.config (nästan ini-filer markerar 2, den här gången med lite mer struktur som sparar utvecklare som slösar bort tid som skriver manuella parsers). GAC introducerades till versionen delade församlingar i ett försök att förhindra DLL Hell.

    I Windows XP och Moreso i Vista försökte Microsoft att definiera användargränssnittet som en plats för att lagra användardata och konfigurationsfiler i en enda standardplats för att tillåta roamingprofiler och enkel migrering (bara kopiera din profil) med programmen installerade i programfiler.

    Så jag antar att anledningen till att "program i Windows är utformade för att leva på ett ställe, deras delade beroenden i en annan, och användarspecifika data i en annan", vilket ganska mycket fungerar mot begreppet att kopiera en enda plats.

    ... och det är innan du måste konfigurera användarkonton och konfigurera och säkerställa säkerhetsbehörigheter och hämta uppdateringar och installera Windows-tjänster ...

    xcopy är det "enkla fallet" och är verkligen inte en bra passform för allt.

    Tyvärr för fans av alla saker bärbara, kommer många appar, särskilt stora appar som Office, att vara fasta fasta och distribuerade över operativsystemet.


    Har du 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 här.