Днешната сесия „Въпроси и отговори“ идва при нас от любезното съдействие на 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, работещи в технологиите? Вижте цялата дискусионна тема тук.