Kāpēc ne visas lietojumprogrammas ir pārnēsājamas?
Tas ir jautājums, kas sagrauj ikvienu, kurš iemīlējies portatīvajās lietotnēs: kāpēc viss portatīvās lietojumprogrammas?
Šodienas jautājumu un atbilžu sesija mums sniedz pieklājību no SuperUser-Stack Exchange apakšnodaļas, kas ir kopienu disku Q & A tīmekļa vietņu grupa.
Jautājums
SuperUser lasītājs Toms mīl tīro organizāciju portatīvās lietotnes, un vēlas uzzināt, kāpēc viss nav pārnēsājams:
Es nesen mēģināju daudz mazāk instalēt Windows datorā (es ienīstu uzstādītājus - man jāzina, kur programmas tiek ievietotas ...), izvēloties lietot portatīvas vai atsevišķas lietojumprogrammu versijas.
Es tos visus ievietoju programmā “Programmas” uz diska, kas atšķiras no mana Windows nodalījuma, tāpēc, kad es pārinstalēju, man ir visas manas lietojumprogrammas pieejamas ar minimālu piepūli un plus pusi, man ir jauka tīra iestatīšana.
Lietojumprogrammas, piemēram, Office un Creative Suite, joprojām prasa, lai man būtu jāiet cauri briesmīgi garam instalēšanas procesam, kurā manā sistēmā tiek izmesti tūkstoši nejaušu bibliotēku un rīku..
Kāpēc Windows instalācijas joprojām ir jāinstalē? Kāpēc mēs nevaram vienkārši vilkt Photoshop uz mapi à la OSX un vienkārši to darīt? Vai kāds cits koncentrējas uz pārnēsājamām lietojumprogrammām, vai es esmu tikai OCD par visu?
Mēs, protams, esam pārnēsājamo lietotņu fani un vēlētos nokļūt arī apakšā.
Atbilde
SuperUser ziedotājs David Whitney piedāvā ieskatu par to, kāpēc daudzas lietotnes nav pārnēsājamas un kā sistēma Windows īsteno sava veida pretpārdošanas sistēmu:
Uzstādītāji ir vairāku gadu attīstības rezultāts un mazliet (vienkāršota) vēsture palīdz saprast, kāpēc viņi dara to, ko viņi dara ...
Windows 3.1 modelis ieteica config.ini stila konfigurācijas failus katrai lietojumprogrammai, atbalstot koplietojamus vārdus, kas nonāk sistēmas mapēs, lai novērstu dublēšanos un izšķērdētu diska vietu.
Windows 95 ieviesa reģistru, kas ļauj centralizētai lietojumprogrammu konfigurācijai, kas aizstāj daudzus konfigurācijas failus. Vēl svarīgāk, loga konfigurācija tika saglabāta tajā pašā vietā.
Reģistrs kļuva uzpūsts, jo lietojumprogrammas netika iztīrītas pēc sevis. DLL ellē notika tā paša koplietojamo bibliotēku vairāku versiju rezultātā, kas pārrakstīja viena otru.
.NET ieviesa jēdzienu app.config (gandrīz ini faili atzīmē 2, šoreiz ar nedaudz vairāk struktūru, kas ietaupa izstrādātājus, izšķērdējot laiku, rakstot manuālos parsētājus). GAC tika ieviests, lai versijas koplietošanas vienības mēģinātu novērst DLL Hell.
Windows XP un Vista operētājsistēmā Microsoft mēģināja definēt lietotāju telpu kā vietu, kur glabāt lietotāja datus un konfigurācijas failus vienā standarta atrašanās vietā, lai ļautu viesabonēšanas profiliem un viegli migrēt (vienkārši kopēt profilu) ar programmām, kas instalētas programmas failos.
Tāpēc es domāju, ka iemesls ir tāds, ka „Windows lietojumprogrammas ir paredzētas dzīvošanai vienā vietā, to kopīgās atkarības citā, kā arī lietotāja specifiskie dati citā”, kas diezgan daudz strādā pret vienu atrašanās vietu..
… Un tas ir, pirms jums ir jākonfigurē lietotāju konti un jāiestata un jāgarantē drošības atļaujas, kā arī lejupielādēt atjauninājumus un instalēt Windows pakalpojumus ...
xcopy ir „vienkāršs gadījums” un, protams, nav vislabāk piemērots visam.
Diemžēl visu pārnēsājamo lietpratēju fani, daudzas lietotnes, īpaši lielas lietotnes, piemēram, Office, paliks stingri nostiprinātas un izplatītas operētājsistēmā.
Vai kaut kas jāpievieno paskaidrojumam? Skaņas izslēgšana komentāros. Vai vēlaties lasīt vairāk atbildes no citiem tehnoloģiju gudriem Stack Exchange lietotājiem? Apskatiet pilnu diskusiju pavedienu šeit.