If-Koubou

Dlaczego wszystkie aplikacje nie są przenośne?

Dlaczego wszystkie aplikacje nie są przenośne? (Jak)

To pytanie nęka każdego, kto zakochał się w przenośnych aplikacjach: dlaczego tak się nie dzieje wszystko aplikacje przenośne?

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, grupy dyskusyjnej poświęconej tematyce społecznościowej.

Pytanie

Czytnik SuperUser Tom uwielbia czystą organizację, która zapewnia przenośne aplikacje i chce wiedzieć, dlaczego wszystko nie jest przenośne:

Ostatnio próbowałem "instalować" rzeczy o wiele mniej na moim komputerze z systemem Windows (nienawidzę instalatorów - muszę wiedzieć, gdzie programy umieszczają rzeczy ...), wybierając zamiast nich przenośne lub autonomiczne wersje aplikacji.

Umieściłem je wszystkie w katalogu "Programy" na dysku oddzielonym od mojej partycji Windows, więc za każdym razem, gdy ponownie je instaluję, wszystkie moje aplikacje są dostępne przy minimalnym wysiłku, a na plus, otrzymuję ładną czystą konfigurację.

Aplikacje, takie jak pakiet Office i pakiet Creative Suite, nadal wymagają ode mnie strasznie długiego procesu instalacji, w którym tysiące losowych bibliotek i narzędzi jest generowanych przez mój system.

Dlaczego aplikacje Windows nadal wymagają instalacji? Dlaczego nie możemy po prostu przeciągnąć Photoshopa do folderu à la OSX i po prostu sprawić, żeby działało? Czy ktokolwiek koncentruje się na przenośnych aplikacjach, czy jestem po prostu OCD o tym wszystkim?

Z pewnością jesteśmy fanami przenośnych aplikacji i chcielibyśmy dotrzeć do sedna rzeczy.

Odpowiedź

Współpracownik SuperUser David Whitney oferuje pewien wgląd w to, dlaczego wiele aplikacji nie jest przenośnych, a system Windows wymusza pewien rodzaj rozwiązania zapobiegającego przenoszeniu:

Instalatorzy są wynikiem lat ewolucji i trochę (uproszczonej) historii pomaga zrozumieć, dlaczego robią to, co robią ...

Model Windows 3.1 zasugerował pliki konfiguracyjne stylu config.ini dla każdej aplikacji z obsługą współdzielonych bibliotek do folderów systemowych, aby zapobiec powielaniu i marnowaniu miejsca na dysku.

Windows 95 wprowadził rejestr, zezwalając na przechowywanie w centralnym miejscu konfiguracji aplikacji, zastępując wiele plików konfiguracyjnych. Co ważniejsze, konfiguracja systemu Windows była przechowywana w tym samym miejscu.

Rejestr został nadęty z powodu aplikacji, które nie czyszczą się po sobie. Piekło DLL stało się wynikiem wielu wersji tych samych bibliotek współdzielonych, nadpisujących się nawzajem.

.NET wprowadził koncepcję app.config (prawie ini pliki mark 2, tym razem z nieco większą strukturą oszczędzając deweloperów marnujących czas na pisanie ręcznych analizatorów składni). GAC został wprowadzony do wersji wspólnych zestawów w celu uniknięcia DLL Hell.

W systemach Windows XP i moreso w systemie Vista firma Microsoft podjęła próbę zdefiniowania przestrzeni użytkownika jako miejsca do przechowywania danych użytkownika i plików konfiguracyjnych w jednej standardowej lokalizacji, aby umożliwić profilowanie i łatwą migrację (wystarczy skopiować swój profil) z aplikacjami zainstalowanymi w plikach programu .

Tak więc myślę, że powodem jest to, że "aplikacje w Windows są zaprojektowane do życia w jednym miejscu, ich współdzielonych zależności w innym, a dane specyficzne dla użytkownika w innym", co w zasadzie działa przeciwko koncepcji kopiowania pojedynczej lokalizacji.

... i to zanim będziesz musiał skonfigurować konta użytkowników, skonfigurować i zapewnić uprawnienia zabezpieczeń oraz pobrać aktualizacje i zainstalować usługi Windows ...

xcopy jest "prostym przypadkiem" i na pewno nie pasuje do wszystkiego.

Na nieszczęście dla fanów wszystkich rzeczy przenośnych, wiele aplikacji - szczególnie duże aplikacje, takie jak Office - pozostanie niezmiennie na stałe i rozproszone w całym systemie operacyjnym.

Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.