9Aug
Det är en fråga som nags på någon som har blivit kär i bärbara appar: varför är inte alla -applikationer bärbara?
Dagens fråga &Svarssession 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äsaren 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 - jagbehöver veta var program lägger saker. ..), väljer att använda bärbara eller fristående versioner av applikationer istället.
Jag sätter dem alla i en "Program" -dir på en enhet som är separat från min Windows-partition, så när jag installerar om igen, 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-apparater fortfarande installeras? 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-portabilitetsarrangemang:
Installatörer är ett resultat av år av utveckling och lite( förenklad) historia hjälperförstå varför de gör vad de gör. .
Windows 3.1-modellen föreslog konfigurationsfiler för config.ini-stil 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, Windows-konfigurationen lagrades på samma plats.
Registret blivit 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 markera 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ändarutrymmet som en plats för att lagra användardata och konfigurationsfiler på en enda standardplats för att tillåta roamingprofiler och enkel migrering( bara kopiera din profil) med de program som installerats i Programfiler.
Så jag antar att orsaken är 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 i stort sett fungerar mot konceptet att xcopiera 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 "enkeltfallet" och är definitivt inte en bra passform för allt.
Tyvärr, för alla bärbara bärare, kommer många appar, särskilt stora appar som Office, att vara 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.