If-Koubou

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

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

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

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

Въпроса

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

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

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

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

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

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

Отговорът

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

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

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

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

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

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

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

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

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

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

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

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