Pagina principala » HOWTO » De ce nu sunt portabile toate aplicațiile?

    De ce nu sunt portabile toate aplicațiile?

    Este o intrebare care lasa pe cineva care sa indragostit de aplicatiile portabile: de ce nu toate aplicații portabile?

    Sesiunea de întrebări și răspunsuri din ziua de azi vine de la amabilitatea programului SuperUser - o subdiviziune a Stack Exchange, o grupare de comunicații pe site-uri web Q & A.

    Intrebarea

    Cititorul de super-utilizatori Tom iubește aplicațiile portabile organizației curate și dorește să știe de ce totul nu este portabil:

    Am încercat recent să "instalez" lucruri mult mai puțin pe mașina mea Windows (urăsc instalatorii - trebuie să știu unde se pun programele chestii ...), alegând să utilizeze versiuni portabile sau independente de aplicații.

    Le-am pus pe toate într-un director "Programe" pe o unitate separată de partiția mea de Windows, așa că ori de câte ori reinstalăm, am toate aplicațiile mele disponibile cu un efort minim și pe partea plus,.

    Aplicațiile cum ar fi Office și Creative Suite încă mai necesită să trec printr-un proces de instalare oribil de lungă când o mie de biblioteci și instrumente aleatoare sunt aruncate peste sistemul meu.

    De ce trebuie încă instalate aplicații Windows? De ce nu putem să tragem Photoshop într-un folder à la OSX și să-l facem să funcționeze? Se concentrează altcineva pe aplicații portabile sau sunt doar TOC despre tot?

    Suntem cu siguranță fanii aplicațiilor portabile și ar dori, de asemenea, să ajungem la fundul lucrurilor.

    Răspunsul

    Contribuitorul SuperUser David Whitney oferă o perspectivă asupra motivului pentru care multe aplicații nu sunt portabile și cum impune Windows un fel de aranjament anti-portabilitate:

    Instalatorii sunt rezultatul anilor de evoluție și un pic de istorie (simplificată) ajută să înțeleagă de ce fac ceea ce fac ...

    Modelul Windows 3.1 a sugerat existența fișierelor de configurare în stil config.ini pentru fiecare aplicație, cu suport pentru librăriile partajate care intră în folderele de sistem pentru a preveni dublarea și pierderea spațiului pe disc.

    Windows 95 a introdus un registru care permite unui magazin central pentru configurarea aplicațiilor, înlocuind mai multe fișiere de configurare. Mai important, configurarea ferestrelor a fost stocată în același loc.

    Registrul a devenit umflat datorită aplicațiilor care nu au fost curățate după ele însele. DLL iadul sa întâmplat ca urmare a faptului că mai multe versiuni ale acelorași biblioteci partajate se suprapun reciproc.

    .NET a introdus conceptul de app.config (aproape fișierele ini marca 2, de data aceasta cu puțin mai multă structură economisind dezvoltatorii pierzând timp scriind manual parser). GAC a fost introdus la ansamblurile de versiuni partajate, în încercarea de a preveni DLL Hell.

    În Windows XP și moreso în Vista, Microsoft a încercat să definească spațiul de utilizator ca un loc pentru stocarea datelor utilizatorilor și a fișierelor de configurare într-o singură locație standard pentru a permite profiluri de roaming și migrare ușoară (copiați profilul dvs.) cu aplicațiile instalate în fișierele programului.

    Deci, cred că motivul este că "aplicațiile din Windows sunt proiectate să trăiască într-un singur loc, dependențele lor partajate în altul și datele specifice utilizatorului în altul", care funcționează destul de mult împotriva conceptului de copiere a unei singure locații.

    ... și asta este înainte de a configura conturile de utilizator și de a configura și a asigura permisiuni de securitate și de a descărca actualizări și de a instala servicii Windows ...

    xcopy este "cazul simplu" și cu siguranță nu este cel mai potrivit pentru tot.

    Din nefericire pentru fanii tuturor lucrurilor portabile, multe aplicații - în special aplicații mari cum ar fi Office - vor rămâne fixate și distribuite ferm în sistemul de operare.


    Aveți ceva de adăugat la explicație? Sunați în comentariile. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.