Zašto nisu sve aplikacije prenosive?
To je pitanje koje prigovara svakome tko se zaljubio u prijenosne aplikacije: zašto nisu svi aplikacije prenosive?
Današnja sesija pitanja i odgovora dolazi nam ljubaznošću SuperUser-a, podjele Stack Exchangea, grupne grupacije web-lokacija s pitanjima i odgovorima..
Pitanje
Čitač za superkorisnika Tom voli čiste organizacijske prijenosne aplikacije i želi znati zašto sve nije prijenosno:
Nedavno sam pokušavao 'instalirati' stvari puno manje na svom Windows računalu (mrzim instalatore - moram znati gdje programi stavljaju stvari ...), umjesto toga koristim prijenosne ili samostalne verzije aplikacija.
Stavio sam ih sve u 'Programi' dir na disku odvojeno od moje Windows particije, tako da kad god sam reinstalirati, imam sve svoje aplikacije dostupne s minimalnim naporom i na plus strani, dobivam lijepo čisto postavljanje.
Aplikacije poput Officea i paketa Creative Suite i dalje zahtijevaju da prođem kroz užasno dug proces instalacije u kojem je tisuću slučajnih knjižnica i alata prebačeno preko mog sustava.
Zašto se Windows aplikacije još trebaju instalirati? Zašto ne možemo jednostavno povući Photoshop u mapu na OSX-u i samo je uspjeti? Se bilo tko drugi usredotočiti na prijenosne aplikacije, ili sam samo se ocd za cijelu stvar?
Mi smo svakako obožavatelji prijenosnih aplikacija i željeli bismo doći do dna stvari.
Odgovor
Suradnik SuperUsera David Whitney nudi uvid u to zašto mnoge aplikacije nisu prenosive i kako Windows provodi svojevrstan aranžman protiv prijenosa:
Instalateri su rezultat višegodišnje evolucije i malo (pojednostavljene) povijesti pomaže razumjeti zašto rade ono što rade ...
Model Windows 3.1 predložio je konfiguracijske datoteke stila config.ini po aplikaciji s podrškom za zajedničke libaries koji idu u sistemske mape kako bi se spriječilo dupliciranje i izgubljeni prostor na disku.
Windows 95 predstavio je registar koji je omogućio centralnu pohranu za konfiguraciju aplikacije koja zamjenjuje mnoge konfiguracijske datoteke. Što je još važnije, konfiguracija prozora pohranjena je na istom mjestu.
Registar je postao otečen zbog aplikacija koje ne čiste poslije sebe. DLL pakao se dogodio kao rezultat višestruke verzije istih zajedničkih knjižnica koje se međusobno prepisuju.
.NET je uveo koncept app.config (gotovo ini datoteke označavaju 2, ovaj put s malo više strukturnih ušteda programera koji troše vrijeme pisanja manualnih parsera). GAC je uveden u skupne verzije u pokušaju da spriječi DLL Hell.
U sustavu Windows XP i više u Vista, Microsoft je pokušao definirati korisnički prostor kao mjesto za pohranjivanje korisničkih podataka i konfiguracijskih datoteka na jednom standardnom mjestu kako bi se omogućilo profiliranje roaminga i jednostavna migracija (samo kopiranje profila) s aplikacijama instaliranim u programskim datotekama.
Pretpostavljam da je razlog to što su "aplikacije u sustavu Windows dizajnirane da žive na jednom mjestu, njihove zajedničke ovisnosti u drugoj, a korisnički specifični podaci u drugom", što prilično djeluje protiv koncepta xcopyinga na jednoj lokaciji.
... a to je prije nego što morate konfigurirati korisničke račune i postaviti i osigurati sigurnosne dozvole te preuzeti ažuriranja i instalirati Windows servise ...
xcopy je "jednostavan slučaj" i zasigurno nije najbolje za sve.
Nažalost, za ljubitelje svih prijenosnih uređaja, mnoge aplikacije - osobito velike aplikacije kao što je Office - ostaju čvrsto fiksirane i distribuirane diljem operativnog sustava.
Imate li što dodati objašnjenju? Zvuk isključen u komentarima. Želite li pročitati više odgovora od drugih tehničkih korisnika Stack Exchangea? Pogledajte cjelokupnu temu za raspravu ovdje.