/ / Защо не са всички приложения преносими?

Защо не са всички приложения преносими?

Това е въпрос, който заяжда всеки, който се е влюбил в преносими приложения: защо не са всичко приложения преносими?

Днешната сесия „Въпроси и отговори“ идва при нас от любезното съдействие на SuperUser - подразделение на Stack Exchange, групиране на общността на Q&A уебсайтове.

Въпроса

Четецът на SuperUser Том обича чистата организация на преносимите приложения и иска да знае защо всичко не е преносимо:

Наскоро се опитвам да "инсталирам" нещамного по-малко на моята машина с Windows (мразя инсталаторите - трябва да знам къде програмите поставят неща ...), като избирам вместо това да използвам преносими или самостоятелни версии на приложения.

Поставям ги всички в „Програми“ на дискотделно от моя дял на Windows, така че всеки път, когато го преинсталирам, всичките ми приложения са достъпни с минимални усилия и от плюс страна, получавам хубава чиста настройка.

Приложения като Office и Creative Suite все още изискват да премина през ужасно дълъг процес на инсталиране, при който хиляди произволни библиотеки и инструменти са хвърлени в моята система.

Защо приложенията на Windows все още се нуждаят от инсталиране? Защо не можем просто да плъзнем Photoshop в папка a la OSX и просто да работи? Някой друг фокусира ли се върху преносими приложения или просто съм OCD за цялата работа?

Със сигурност сме фенове на преносимите приложения и бихме искали също така да стигнем до края на нещата.

Отговорът

Сътрудникът на SuperUser Дейвид Уитни предлага известен поглед защо много приложения не са преносими и как Windows налага някакво споразумение за преносимост:

Инсталаторите са резултат от години на еволюция и малко (опростена) история помага да разберете защо правят това, което правят ..

Моделът Windows 3.1 предложи конфигурационни файлове в стил config.ini за приложение с поддържащи споделени библиотеки, влизащи в системни папки, за да се предотврати дублирането и загубеното дисково пространство.

Windows 95 въведе регистъра, позволяващ централен магазин за конфигурация на приложение, заместващ много конфигурационни файлове. По-важното е, че конфигурацията на Windows беше запазена на едно и също място.

Регистърът стана подут поради приложения, които не се почистват след себе си. Адът на DLL се случи в резултат на множество версии на едни и същи споделени библиотеки, които се презаписваха взаимно.

.NET представи концепцията за приложението.config (почти ini файлове отбелязват 2, този път с малко повече структура, спестявайки разработчиците да губят време за писане на ръчни парсери). GAC беше представен на съвместни версии в опит да се предотврати DLL Hell.

В Windows XP и още повече във Vista, Microsoftопита да дефинира потребителското пространство като място за съхраняване на потребителски данни и конфигурационни файлове в едно стандартно място, за да позволи роуминг профили и лесна миграция (просто копирайте вашия профил) с приложенията, инсталирани в Program Files.

Така че предполагам, причината е, че „приложенията вWindows са проектирани да живеят на едно място, техните споделени зависимости на друго, а специфичните за потребителя данни на друго ”, което в голяма степен противоречи на концепцията за xcopying на едно място.

.. и това е преди да трябва да конфигурирате потребителски акаунти, да настроите и осигурите разрешения за сигурност, да изтеглите актуализации и да инсталирате Windows услуги ...

xcopy е „простият случай“ и със сигурност не е най-подходящото за всичко.

За съжаление на феновете на всички преносими неща, много приложения - особено големи приложения като Office - ще останат здраво фиксирани и разпространени в операционната система.


Имате какво да добавите към обяснението? Озвучете в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange, работещи в технологиите? Вижте цялата дискусионна тема тук.