Почему не все приложения переносимы?
Это вопрос, который раздражает любого, кто влюбился в портативные приложения: почему все переносимые приложения?
Сегодняшняя сессия Вопросов и Ответов приходит к нам благодаря SuperUser - подразделению Stack Exchange, групповой группе веб-сайтов вопросов и ответов..
Вопрос
Читатель SuperUser Том любит чистую организацию портативных приложений и хочет знать, почему все не переносимо:
Недавно я пытался гораздо меньше «установить» материал на свой компьютер с Windows (я ненавижу установщиков - мне нужно знать, куда программы помещают материал…), предпочитая вместо этого использовать переносные или автономные версии приложений..
Я поместил их все в папку «Программы» на диске, отдельном от моего раздела Windows, поэтому, когда я переустанавливаю, все мои приложения доступны с минимальными усилиями, а с другой стороны, я получаю хорошую чистую настройку..
Приложения, такие как Office и Creative Suite, все еще требуют, чтобы я прошел ужасно долгий процесс установки, когда тысячи случайных библиотек и инструментов выбрасываются в мою систему.
Почему приложения Windows все еще нуждаются в установке? Почему мы не можем просто перетащить Photoshop в папку OSX и просто заставить ее работать? Кто-нибудь еще фокусируется на портативных приложениях, или я просто зациклен на этом??
Мы, безусловно, поклонники портативных приложений и хотели бы разобраться во всем.
Ответ
Сотрудник SuperUser Дэвид Уитни (David Whitney) дает некоторое представление о том, почему многие приложения не переносимы и как Windows обеспечивает своего рода антипортативность:
Установщики являются результатом многолетней эволюции, и небольшая (упрощенная) история помогает понять, почему они делают то, что делают…
Модель Windows 3.1 предлагала файлы конфигурации в стиле config.ini для каждого приложения с поддержкой общих библиотек, идущих в системные папки, чтобы предотвратить дублирование и неиспользуемое дисковое пространство.
Windows 95 представила реестр, позволяющий центральное хранилище для конфигурации приложения, заменяя многие файлы конфигурации. Что еще более важно, конфигурация Windows была сохранена в том же месте.
Реестр стал раздутым из-за того, что приложения не убирали за собой. DLL ад произошел в результате того, что несколько версий одних и тех же общих библиотек перезаписали друг друга.
.NET представила концепцию app.config (почти ini-файлы отметки 2, на этот раз разработчики немного сэкономили на структуре, тратя время на написание парсеров вручную). GAC был представлен версиям совместно используемых сборок в попытке предотвратить DLL Hell.
В Windows XP и, более того, в Vista, Microsoft попыталась определить пространство пользователей как место для хранения пользовательских данных и файлов конфигурации в одном стандартном месте, чтобы обеспечить перемещение профилей и простую миграцию (просто скопировать свой профиль) с приложениями, установленными в Program Files..
Так что, я думаю, причина в том, что «приложения в Windows предназначены для жизни в одном месте, их общие зависимости - в другом, а пользовательские данные - в другом», что в значительной степени противоречит концепции копирования одного места.
… И это прежде, чем вам придется настраивать учетные записи пользователей, а также настраивать и обеспечивать разрешения безопасности, загружать обновления и устанавливать службы Windows…
xcopy - это «простой случай» и, безусловно, не подходит всем.
К сожалению, для поклонников всего переносимого, многие приложения, особенно большие приложения, такие как Office, останутся надежно закрепленными и распределенными по операционной системе..
Есть что добавить к объяснению? Звук выключен в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.