Jump to content

Портативное приложение

(Перенаправлено из портативного приложения )
может USB-накопитель хранить портативные приложения

( Портативное приложение portable app ), иногда также называемое автономным программным обеспечением , представляет собой компьютерную программу, предназначенную для работы без изменения других файлов или необходимости установки другого программного обеспечения. Таким образом, его можно легко добавить, запустить и удалить с любого совместимого компьютера без настройки и побочных эффектов. [1]

На практике портативное приложение часто хранит созданные пользователем данные и настройки конфигурации в том же каталоге, в котором оно находится. Это упрощает перенос программы с предпочтениями и данными пользователя между разными компьютерами. Программа, не имеющая каких-либо параметров конфигурации, также может быть портативным приложением. [1]

Портативные приложения можно хранить на любом устройстве хранения данных , включая внутреннее запоминающее устройство , общий файловый ресурс , облачное хранилище или внешнее хранилище, такое как USB-накопители , флэш-накопители. [2] и дискеты — хранящие программные файлы и любую конфигурационную информацию и данные только на носителе данных. Если информация о конфигурации не требуется, переносимую программу можно запустить из хранилища только для чтения, такого как компакт-диски и DVD-диски . Некоторые приложения доступны как в устанавливаемой , так и в портативной версии.

Некоторые приложения, которые по умолчанию не являются переносимыми, поддерживают дополнительную переносимость с помощью других механизмов, наиболее частыми из которых являются аргументы командной строки . Примеры могут включать в себя /portable просто указать программе вести себя как переносимая программа, или --cfg=/path/inifile чтобы указать расположение файла конфигурации.

компьютера Как и любое приложение, портативные приложения должны быть совместимы с аппаратным обеспечением и операционной системой .

В зависимости от операционной системы переносимость реализовать может быть более или менее сложно; для таких операционных систем, как AmigaOS , все приложения по определению переносимы.

Портативные приложения для Windows

[ редактировать ]

Большинство переносимых приложений не оставляют файлы или настройки на главном компьютере и не изменяют существующую систему и ее конфигурацию. Приложение может не записывать в реестр Windows [3] или хранить его файлы конфигурации (например, файл INI пользователя ) в профиле , но сегодня многие портативные устройства так и делают; однако многие по-прежнему хранят свои файлы конфигурации в переносном каталоге. Другая возможность, поскольку пути к файлам часто различаются на разных компьютерах из-за различий в назначении букв дисков , заключается в том, что портативные приложения могут хранить их в относительном формате. Хотя в некоторых приложениях есть опции для поддержки такого поведения, многие программы не предназначены для этого. Распространенным методом для таких программ является использование программы запуска для копирования необходимых настроек и файлов на главный компьютер при запуске приложения и перемещения их обратно в каталог приложения при его закрытии.

Альтернативной стратегией достижения переносимости приложений в Windows без необходимости изменения исходного кода приложения является виртуализация приложений : приложение «упорядочивается» или «упаковывается» на уровне среды выполнения, который прозрачно перехватывает вызовы его файловой системы и реестра, а затем перенаправляет их на другие постоянное хранилище без ведома приложения. Такой подход оставляет само приложение неизменным, но при этом переносимым.

Тот же подход используется для отдельных компонентов приложения: библиотек времени выполнения , COM- компонентов или ActiveX , а не только для всего приложения. [4] В результате, когда отдельные компоненты портируются таким образом, их можно: интегрировать в исходные переносимые приложения, многократно создавать (виртуально устанавливать) с разными конфигурациями/настройками в одной и той же операционной системе (ОС) без взаимных конфликтов. Поскольку перенесенные компоненты не влияют на связанные объекты, защищенные ОС (реестр и файлы), для установки и управления компонентам не потребуются права администратора.

Microsoft увидела необходимость в реестре для конкретных приложений для своей операционной системы Windows еще в 2005 году. [5] В конечном итоге компания внедрила некоторые из этих технологий, используя упомянутые выше методы, через свою базу данных совместимости приложений. [6] используя свои обходные пути [7] библиотеку кода в Windows XP. Компания не сделала ни одну из этих технологий доступной через свои системные API .

Переносимость в Unix-подобных системах

[ редактировать ]

Программы, написанные с учетом Unix-подобной базы, часто не делают никаких предположений. Хотя многие программы Windows предполагают, что пользователь является администратором (что было очень распространено во времена Windows 95 / 98 / ME (и в некоторой степени в Windows XP / 2000 , хотя и не в Windows Vista или Windows 7 ), это быстро привело бы к Ошибки «Отказано в доступе» в Unix-подобных средах, поскольку пользователи гораздо чаще будут находиться в непривилегированном состоянии. Поэтому программы обычно разрабатываются для использования HOME переменная среды для хранения настроек (например, $HOME/.w3m для браузера w3m ). Динамический компоновщик предоставляет переменную среды LD_LIBRARY_PATH которые программы могут использовать для загрузки библиотек из нестандартных каталогов. Предполагая /mnt содержит переносимые программы и настройки, командная строка может выглядеть так:

HOME=/mnt/home/user LD_LIBRARY_PATH=/mnt/usr/lib /mnt/usr/bin/w3m www.example.com

Приложение Linux без необходимости взаимодействия с пользователем (например, адаптации сценария или переменной среды) на различных путях каталогов может быть создано с помощью GCC Linker . опции $ORIGIN который позволяет использовать относительный путь поиска библиотеки. [8]

Не все программы соблюдают это — некоторые полностью игнорируют $HOME и вместо этого выполняют поиск пользователя в /etc/passwd чтобы найти домашний каталог, что препятствует переносимости.

Существуют также форматы пакетов для разных дистрибутивов, для запуска которых не требуются права администратора, такие как Autopackage , AppImage или CDE, но которые получили лишь ограниченное признание и поддержку в сообществе Linux в 2000-х годах. [9] [10] [11] Примерно в 2015 году идея портативной и независимой от дистрибутива упаковки для экосистемы Linux получила еще большую поддержку, когда Линус Торвальдс обсуждал эту тему на DebConf 2014 и позже одобрил AppImage для своего для журнала погружений приложения Subsurface . [12] [13] [14] Например, в 2016 году последовали MuseScore и Krita , которые начали использовать сборки AppImage для развертывания программного обеспечения. [15] [16] RedHat выпустила в 2016 году систему Flatpak , которая является преемницей проекта glick Александра Ларссона , вдохновленного klik (теперь называемого AppImage). [17] Аналогичным образом, Canonical выпустила в 2016 году пакеты Snap для Ubuntu и многих других дистрибутивов Linux.

Многие приложения Mac, которые можно установить путем перетаскивания, по своей сути переносимы в виде пакетов приложений Mac. [18] Примеры включают Mozilla Firefox , Skype и Google Chrome , которые не требуют доступа администратора и не должны размещаться в центральной зоне с ограниченным доступом. Заявки, размещенные в /Users/username/Applications ( ~/Applications) регистрируются в macOS LaunchServices так же, как и приложения, помещенные в основной /Applications папка. Например, если щелкнуть правой кнопкой мыши файл в Finder и затем выбрать «Открыть с помощью...», отобразятся приложения, доступные как из /Applications, так и из ~/Applications. Разработчики могут создавать установщики продуктов Mac, которые позволяют пользователю выполнять установку из домашнего каталога с пометкой «Установить только для меня» в пользовательском интерфейсе установщика. [19] Такая установка выполняется от имени пользователя.

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б «Что такое портативное приложение?» . Портативные приложения.com. Определение . Проверено 15 ноября 2022 г.
  2. ^ «Бесплатные портативные приложения и игры для USB ▷ Pendrive Software» . pendriveapps.com . 8 января 2007 г. Проверено 17 июня 2024 г.
  3. ^ " "Что такое портативное приложение?" " . Портативные приложения.com. Рекомендации . Проверено 15 ноября 2022 г.
  4. ^ «Технология преобразования портативных приложений» . Программное обеспечение Сфинкс. Архивировано из оригинала 7 сентября 2010 года . Проверено 19 января 2012 г.
  5. ^ «Реестр портативных приложений» . ip.com . Проверено 19 января 2012 г.
  6. ^ Ионеску, Алекс. «Секреты базы данных совместимости приложений (SDB) – Часть 1» . Проверено 19 января 2012 г.
  7. ^ «Объезды» . Исследования Майкрософт . Проверено 19 января 2012 г.
  8. ^ Хустведт, Эскилд (8 февраля 2009 г.). «Наш новый способ соответствовать LGPL» . Архивировано из оригинала 20 февраля 2009 г. Проверено 9 марта 2011 г. Вы можете использовать специальное ключевое слово $ORIGIN, чтобы указать «относительно фактического местоположения исполняемого файла». Внезапно мы обнаружили, что можем использовать -rpath $ORIGIN/lib, и это сработало. Игра загружала правильные библиотеки, поэтому была стабильной и переносимой, но теперь полностью соответствовала духу LGPL и букве!
  9. ^ Вининг, Николас (13 октября 2010 г.). «Дорогое Linux-сообщество: нам нужно поговорить» . Игры с газовыми лампами . Проверено 30 января 2011 г. Сообщество Linux, в своей бесконечной мудрости, продолжает разжигать огонь по CDE. [...] «Мы все должны просто использовать управление пакетами». Вот что я хочу сказать, и пусть мои слова донесутся с вершин гор, написанные на крошечных каменных табличках: Управление пакетами — не универсальная панацея.
  10. ^ Байфилд, Брюс (12 февраля 2007 г.). «Автопакет изо всех сил пытается получить признание» . Linux.com. Архивировано из оригинала 31 марта 2008 г. Проверено 21 января 2012 г. Если Хирн прав, настоящий урок Autopackage заключается не в том, как улучшить установку программного обеспечения, а в сложности – возможно, даже невозможности – крупномасштабных изменений в архитектуре Linux на столь позднем этапе ее истории. Это отрезвляющее и разочаровывающее завершение проекта, который когда-то казался таким многообещающим.
  11. ^ «AppImages» . Элементарный проект. Архивировано из оригинала 13 декабря 2010 года . Проверено 19 января 2012 г.
  12. ^ Линус Торвальдс (29 августа 2014 г.). «Вопросы и ответы с Линусом Торвальдсом» (видео) . DebConf 2014, Портленд . Debian.net . 6:28 . Проверено 14 мая 2016 г. Я видел это на собственном опыте в другом проекте, в котором я участвую, — моем приложении для журнала погружений. Мы создаем двоичные файлы для Windows и OSX, но практически не делаем двоичные файлы для Linux. Почему? Потому что создание двоичных файлов для настольных приложений Linux — это чертовски большая заноза в заднице.
  13. ^ Торвальдс, Линус . «Это просто очень круто» . Гугл+ . Наконец-то я нашел время поиграться с версией +Subsurface «AppImage», и она действительно «просто работает».
  14. ^ Хондел, Дирк (25 ноября 2015 г.). «Это просто очень круто» . Гугл+ . Я, как специалист по сопровождению приложения, больше не хочу, чтобы мое приложение было включено в дистрибутив. Слишком много боли и абсолютно нулевая выгода. Всякий раз, когда я получаю отчет об ошибке, мой первый вопрос: «Ой, какая версия какого дистрибутива? Какая версия какой библиотеки? Какой набор безумных патчей был применен к этим библиотекам?». Нет, Windows и Mac понимают это правильно. Я контролирую библиотеки, с которыми работает мое приложение. [...] С помощью AppImage я могу дать им именно это. Что-то, что работает на их компьютере.
  15. ^ Вайс, Исаак. «Выпущена версия MuseScore 2.0.3» . MuseScore.org . MuseScore. Архивировано из оригинала 23 апреля 2016 г. Проверено 5 апреля 2016 г.
  16. ^ «Выпущена Крита 3.0» . Создать.орг . Крит. 31 мая 2016 г.
  17. ^ Эксперименты с пакетами вневременных приложений Алекса Ларссона (2007).
  18. ^ «Распространение вашего приложения» . разработчик.apple.com . Проверено 23 мая 2017 г.
  19. ^ «Справочник по XML для распространения» . разработчик.apple.com . Проверено 23 мая 2017 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: aecb0e77320eb4d19cf2b224daed7612__1721056320
URL1:https://arc.ask3.ru/arc/aa/ae/12/aecb0e77320eb4d19cf2b224daed7612.html
Заголовок, (Title) документа по адресу, URL1:
Portable application - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)