Что такое переносимая программа кратко

Обновлено: 03.07.2024

Проблема распространения программного обеспечения в сети предприятия является одной из важнейших задач системного администрирования, которая отнимает большую часть времени. Все проблемы по их обслуживанию ложатся на плечи специалистов системной поддержки.

Довольно часто к приложениям их производители выпускают обновления. Существуют различные сервисы для их распространения на рабочие станции, однако с помощью переносимых приложений централизовано переходить с одной версии на другую много проще.

Идея использования portable-приложений в Windows-домене заключается в том, что переносимые приложения хранятся в сети, а доступ к ним выдается динамически на основе членства в соответствующих группах безопасности.

Предлагаемое решение логически можно разбить на три части:

  • создание;
  • внедрение;
  • управление доступом.

Создание переносимых приложений

Несмотря на кажущуюся простоту, создание и оптимизация переносимых приложений – достаточно сложная вещь. Возникающие сложности касаются не столько создания, сколько настройки приложения и его оптимизации перед компиляцией файла.

Выбор программы для создания переносимых приложений

Для создания переносимых приложений рекомендуется использовать связку: VMWare ThinApp совместно с VMware Workstation.

Пример создания переносимого приложения

Продемонстрируем создание переносимых приложений на примере Adobe Acrobat Reader X. Во время этого процесса специалист выполняет следующие шаги:

  • Подготовка виртуальной машины.
  • Создание проекта переносимого приложения:
  • Создание слепка системы до установки программы.
  • Установка приложения Adobe Acrobat Reader X.
  • Создание слепка системы после установки.
  • Оптимизация получившегося проекта.
  • Сборка переносимых приложений.
  • Внедрение созданной программы.

Подготовка виртуальной машины

Подготовка виртуальной машины к созданию переносимых приложений включает в себя два этапа: создание и настройка. Если она существовала ранее, то необходимо вернуться к сделанному раньше снимку системы (snapshot) или скопировать файлы виртуальной машины из заранее подготовленной резервной копии.

Создание виртуальной машины

Данный процесс ничем не отличается от установки Windows на обычный компьютер. Запуск мастера создания виртуальной машины в VMware Workstation: необходимо в меню File -> New выбрать Virtual Machine… или воспользоваться комбинацией клавиш + (см. рис. 1).

Рисунок 1. Запуск мастера установки новой виртуальной машины

Работа мастера состоит из шести шагов.

На первом шаге выполняется выбор типа установки. Опытным специалистам рекомендуется выбрать Typical.

На следующем шаге указывают привод с компакт-диском или путь к образу диска в ISO-файле, с которого будет выполняться развертывание Windows.

На третьем шаге рекомендуется указать серийный номер, используемый для установки операционной системы, указать ее версию, а также имя и пароль пользователя по умолчанию. Указанные данные VMware Workstation подставит во время инсталляции автоматически (см. рис. 2).

Рисунок 2. Шаг 2 и шаг 3 работы мастера установки виртуальной операционной системы

На последующих двух шагах реализуются настройка расположения и именования создаваемой виртуальной машины в файловой системе, размер жесткого диска и принцип разбиения файла, содержащего диск виртуальной машины (см. рис. 3).

Рисунок 3. Шаг 4 и шаг 5 работы мастера установки виртуальной операционной системы

На последнем, шестом, шаге системный администратор выполняет проверку конфигурации будущего виртуального компьютера.

При нажатии на клавишу Finish выполняется установка операционной системы.

Настройка виртуальной машины

После завершения процесса установки операционной системы она требует настройки. Во-первых, установите VMware Tools, являющуюся компонентом VMware Workstation. Для этого, во-первых, необходимо, запустив виртуальную машину, раскрыть список меню VM в верхней панели и выбрать Install VMware Tools. К устройству виртуальных компакт-дисков автоматически подключится образ VMware Tools, и запустится процесс установки. Установка инструментов очень проста, поэтому описываться не будет.

Замечание: для выхода из виртуальной машины в основную операционную систему воспользуйтесь клавишами + .

Во-вторых, после завершения установки VMware Tools необходимо развернуть VMware ThinApp. Дистрибутив можно скопировать на виртуальную машину. Инсталляция программы выполняется без особых трудностей, поэтому рассматриваться не будет.

В-третьих, после завершения процесса установки необходимо сделать снимок состояния системы или snapshot. Для этого в меню VM -> Snapshot выберите Take Snapshot… В появившемся диалоговом окне укажите название снимка и задайте комментарий в случае необходимости.

Рисунок 4. Создание снимка состояния системы в VMware Workstation

Создание проекта переносимого приложения

Создание проекта осуществляется с помощью программы VMware ThinApp, которая, по сути, является мастером.

Рисунок 5. Создание снимка системы до установки переносимого приложения

Рисунок 6. Установка и настройка переносимого приложения

Примечание: во время установки и настройки приложения программа VMware ThinApp должна быть запущена.

На пятом шаге выполняется создание снимка системы после установки и настройки приложения. После завершения процесса сканирования выводится список запускаемых файлов – предполагаемых точек входа в приложение (см. рис. 7). Специалисту необходимо выбрать нужный из перечисленных в списке, в данном случае AdobeReaderX.exe.

Рисунок 7. Определение точки входа в переносимое приложение

На этом формирование проекта завершено. Дальнейшие шаги (6 и 7) мастера позволяют выполнить следующие настройки проекта:

  • Управление пользователями Active Directory, которым разрешен запуск данного приложения. Если приложение создается для локального компьютера, то рекомендуется выбрать опцию EveryOne (для всех).
  • Метод изоляции приложения. Данные могут сохраняться как напрямую в файловую систему компьютера, на котором выполняется запуск приложения (рекомендуется для Microsoft Office), так и централизованно.
  • Расположение временных файлов, создаваемых во время запуска переносимого приложения. Доступно три варианта: в папке ThinApp в профиле пользователя (по умолчанию), в том же каталоге, что и само приложение, заданное вручную (путь к сетевой папке или локальному диску).
  • Название запускаемого файла и его местоположение. По умолчанию папка Capture в файловой структуре, установленной на виртуальной машине VMware ThinApp.

На восьмом шаге работы мастера определяется формат создаваемого файла (см. рис. 8):

  • запускаемый EXE-файл (по умолчанию) – архив, содержаний внутри файл с данными;
  • запускаемый файл с отдельным файлом данных (.DAT-файл).

Рисунок 8. Управление форматом создаваемого файла

Также параллельно можно создать дистрибутив приложения, который не требует ввода серийного номера, выбора компонентов для установки. Тут же реализовано управление компрессией создаваемого переносимого приложения.

Далее (шаг девятый) выполняется сохранение проекта в файловую структуру (см. рис. 9), которая состоит из папок, имена которых зашифрованы значениями переменных окружения. Их распознавание производится при распаковке файлов, выполняемых во время запуска переносимого приложения. В этой структуре также присутствуют конфигурационный файл приложения и командный файл, обеспечивающий сборку проекта.

Рисунок 9. Формирование файловой структуры проекта

Любой ThinApp-проект представляет собой папку, имя которой совпадает с названием будущего приложения. Данные, находящие в этой папке, обеспечивают:

  • описание файловой структуры проекта;
  • управление виртуальным реестром, обеспечивая работу программы;
  • конфигурационный файл переносимых приложений, используемый для его создания;
  • командный файл, обеспечивающий формирование переносимого приложения в соответствии со сделанными настройками.

Описание файловой структуры проекта

В этой папке находится эмуляция будущей файловой системы, реализованная с помощью папок-псевдонимов (см. рис. 9).

Подробная расшифровка псевдонимов путей приведена в таблице 1.

Таблица 1. Переменные проекты

Управление виртуальным реестром

Содержание каждой папки формируется автоматически во время анализа различий состояния системы до и после установки приложения. После завершения формирования структуры специалист может скорректировать набор папок должным образом.

Изменения, произошедшие в реестре, фиксируются в текстовых файлах, имена которых совпадают с названиями соответствующих кустов:

По своей структуре файл напоминает REG-файлы. Структура описания любого параметра приведена в листинге 1.

Виртуальным реестром поддерживаются следующие типы данных:

  • REG_NONE;
  • REG_SZ;
  • REG_EXPAND_SZ;
  • REG_BINARY;
  • REG_DWORD;
  • REG_DWORD_LITTLE_ENDIAN;
  • REG_DWORD_BIG_ENDIAN;
  • REG_MULTI_SZ;
  • REG_RESOURCE_LIST;
  • REG_FULL_RESOURCE_DESCRIPTION;
  • REG_RESOURCE_REAUIREMENTS_LIST.

Рисунок 10. Фрагмент описания виртуального реестра в файле

Этот символ также используется в качестве разделителя новой строки, знака табуляции, перевода каретки, пустого символа (NULL).

Листинг 1. Шаблон хранения данных виртуального реестра

Наряду с перечисленными типами данных, описание которых в файле подчиняется шаблону, приведенному в листинге 1, для поддержки переменных среды в VMware используется еще один тип данных – MACRO_VALUE_DATA. Этот тип данных применяется совместно со следующими типами данных:

  • REG_SZ
  • REG_EXPAND_SZ
  • REG_MULTI_SZ

Значения MACRO_VALUE_DATA присваиваются параметрам с помощью тильды (~), как это показано в шаблоне (листинг 2), например REG_SZ~%AppData%:

Листинг 2. Шаблон хранения данных виртуального реестра для макрозначений

Замечание: после того как проект собран в запускаемый файл, трансформирование реестра осуществляется с помощью утилиты vregtool.exe.

Настройка конфигурационного файла

Конфигурационный файл package.ini находится в корневом каталоге проекта переносимого приложения (см. рис. 9). Это текстовый файл в формате Unicode, имеющий структуру классического INI-файла (см. рис. 11).

Рисунок 11. Фрагмент конфигурационного файла package.ini

Файл содержит в себе много подразделов, и его подробный обзор – тема не для одной статьи. Подробное описание файла находится на сайте VMware [5].

Разработчики VMware значительно облегчили задачу по изменению конфигурации файла, указав в нем все возможные настройки. Управление настройками осуществляется с помощью символа комментария – точки с запятой (;), как показано на рис. 11.

Командный файл build.bat

Рисунок 12. Файл buid.bat

Второй функцией BAT-файла является удаление старой версии сборки.

Создание переносимых приложений – достаточно сложная процедура, несмотря на кажущуюся простоту. Если созданная программа работает не так, как ожидается, посетите форум VMware [6]. Здесь можно не только поделиться своими проблемами, но и загрузить переносимые версии различных приложений.

  • О программном обеспечении рассказывает другая статья.Переносимое приложение (также портативное, автономное, и — неточно, в качестве кальки — портированное; англ. portable application, portable app) — программное обеспечение, которое для своего запуска не требует процедуры установки и может полностью храниться на съёмных носителях информации, что позволяет использовать данное ПО на многих компьютерах. Переносимое приложение может быть настроено так, чтобы считывать свои конфигурационные настройки во время запуска из того же места, где хранятся его собственные программные файлы.

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

Связанные понятия

Установка программного обеспечения, инсталляция — процесс установки программного обеспечения на компьютер конечного пользователя. Выполняется особой программой (пакетным менеджером), присутствующей в операционной системе (например, RPM, APT или dpkg в Linux, Установщик Windows в Microsoft Windows), или же входящим в состав самого программного обеспечения средством установки. В операционной системе GNU очень распространено использование системы GNU toolchain и её аналогов для компиляции программного.

Эмулятор терминала, приложение терминала, term или tty для краткости — это программа, которая эмулирует терминал компьютера внутри некоторой другой архитектуры вывода данных на экран.

Монтирование файловой системы — системный процесс, подготавливающий раздел диска к использованию операционной системой.

Кросс-компиля́тор (англ. cross compiler) — компилятор, производящий исполняемый код для платформы, отличной от той, на которой исполняется сам кросс-компилятор. Такой инструмент бывает полезен, когда нужно получить код для платформы, экземпляров которой нет в наличии, или в случаях когда компиляция на целевой платформе невозможна или нецелесообразна (например, это касается мобильных систем или микроконтроллеров с минимальным объёмом памяти).

Планировщик задач — программа (служба или демон), часто называемая сервисом операционной системы, которая запускает другие программы в зависимости от различных критериев, как, например.

Расширение браузера — компьютерная программа, которая в некотором роде расширяет функциональные возможности браузера. В зависимости от браузера, термин может отличаться от условленных обозначений, к примеру, plug-in (плагин), add-on (дополнение) или extension (расширение). Mozilla Firefox был разработан с целью создания маленького и простого в использовании веб-браузера, который расширялся бы за счёт продвинутых функций расширений. Microsoft Internet Explorer начал поддерживать расширения начиная.

Загрузка по сети — это процесс загрузки компьютера из сети без использования жесткого диска. Данный метод загрузки может быть использован в маршрутизаторах или в бездисковых рабочих станциях, а также в публичных компьютерах, которые работают, например, в школах или библиотеках. Применяют данную технологию.

Модуль ядра, загружаемый модуль ядра (англ. loadable kernel module, LKM) — объект, содержащий код, который расширяет функциональность запущенного или т. н. базового ядра ОС. Большинство текущих систем, основанных на Unix, поддерживают загружаемые модули ядра, хотя они могут называться по-разному (например, kernel loadable module в FreeBSD и kernel extension в Mac OS X).

Hardware Abstraction Layer (HAL, Слой аппаратных абстракций) — слой абстрагирования, реализованный в программном обеспечении, находящийся между физическим уровнем аппаратного обеспечения и программным обеспечением, запускаемом на этом компьютере. HAL предназначен для скрытия различий в аппаратном обеспечении от основной части ядра операционной системы, таким образом, чтобы большая часть кода, работающая в режиме ядра, не нуждалась в изменении при её запуске на системах с различным аппаратным обеспечением.

По умолча́нию — термин, используемый для обозначения значений параметров какой-либо программы, предустановленных разработчиком. Пользователь может изменить эти установки явным образом, однако, если он не сделал этого, то в качестве значений используются параметры, заданные разработчиком.

Дамп памяти (англ. memory dump; в Unix — core dump) — содержимое рабочей памяти одного процесса, ядра или всей операционной системы. Также может включать дополнительную информацию о состоянии программы или системы, например значения регистров процессора и содержимое стека. Многие операционные системы позволяют сохранять дамп памяти для отладки программы. Как правило, дамп памяти процесса сохраняется автоматически, когда процесс завершается из-за критической ошибки (например, из-за ошибки сегментации.

О́фисный паке́т — набор приложений, предназначенных для обработки электронной документации на персональном компьютере. Компоненты офисных пакетов распространяются, как правило, только вместе, имеют схожий интерфейс и хорошо взаимодействуют друг с другом.

Система управления пакетами — набор программного обеспечения, позволяющего управлять процессом установки, удаления, настройки и обновления различных компонентов программного обеспечения. Системы управления пакетами активно используются в различных дистрибутивах операционной системы Linux и других UNIX-подобных операционных системах.

Двои́чная совмести́мость, бина́рная совмести́мость (англ. binary compatibility) — вид программной совместимости, позволяющий программе работать в различных средах без изменения её исполняемых файлов.

Ярлы́к (англ. shortcut) — файл, служащий указателем на объект (например, файл, который требуется определённым образом обработать), программу или команду и содержащий дополнительную информацию.

Загрузчик операционной системы — системное программное обеспечение, обеспечивающее загрузку операционной системы непосредственно после включения компьютера (процедуры POST) и начальной загрузки.

Конфигурация программного обеспечения — совокупность настроек программы, задаваемая пользователем, а также процесс изменения этих настроек в соответствии с нуждами пользователя.

Исполняемый файл (англ. executable file, также выполняемый, реже исполнимый, выполнимый) — файл, содержащий программу в виде, в котором она может быть исполнена компьютером. Перед исполнением программа загружается в память, и выполняются некоторые подготовительные операции (настройка окружения, загрузка библиотек).

Мультизагрузка (англ. Multi-boot) это техническая возможность выбора, при включении компьютера, операционной системы для запуска. Для настройки такой возможности может потребоваться специальный загрузчик операционной системы и разбиение диска на несколько разделов.

Снимок файловой системы, или снапшот, или снепшот (от англ. snapshot — мгновенный снимок), — моментальный снимок, копия файлов и каталогов файловой системы на определённый момент времени.

Пакет обновления (англ. — service pack, сок. — SP) — набор обновлений, исправлений, улучшений компьютерной программы или ОС, поставляемый в виде единого установочного пакета. Многие компании, как например, Microsoft или Autodesk, обычно выпускают пакет обновлений тогда, когда число отдельных патчей для конкретной программы достигает некоторого предела. Установка пакета обновления проще и поэтому требует меньше обращений за технической поддержкой в компанию, чем установка по отдельности большого количества.

Медиаплеер (также проигрыватель мультимедиа или мультимедиапроигрыватель) — компьютерная программа, предназначенная для воспроизведения файлов мультимедиа-контента.

Совмести́мость — способность различных объектов — аппаратных или программных компонентов — взаимодействовать друг с другом. По отношению к компьютерам можно выделить аппаратную (техническую), программную и информационную совместимость.

Двоичный (бинарный) файл — в широком смысле: последовательность произвольных байтов. Название связано с тем, что байты состоят из бит, то есть двоичных (англ. binary) цифр.

Вкла́дка (англ. tab) — элемент графического интерфейса пользователя, который позволяет в одном окне приложения переключение между несколькими открытыми документами или предопределёнными наборами элементов интерфейса, когда их доступно несколько, а на выделенном для них пространстве окна можно показывать только один из них.

Закры́тый исхо́дный код — программа, лицензия которой не подходит под определение открытого ПО. Как правило, это означает, что распространяются только бинарные (скомпилированные) версии программы и лицензия подразумевает отсутствие доступа к исходному коду программы, что затрудняет создание модификаций программы. Доступ к исходному коду третьим лицам обычно предоставляется при подписании соглашения о неразглашении.

Образ диска (image) — файл, содержащий в себе полную копию содержания и структуры файловой системы и данных, находящихся на диске, таком как компакт-диск, дискета, раздел жёсткого диска или весь жёсткий диск целиком. Термин описывает любой такой файл, причём неважно, был ли образ получен с реального физического диска или нет. Таким образом, образ диска содержит всю информацию, необходимую для дублирования структуры, расположения и содержания данных какого-либо устройства хранения информации. Обычно.

Песочница — специально выделенная (изолированная) среда для безопасного исполнения компьютерных программ. Обычно представляет собой жёстко контролируемый набор ресурсов для исполнения гостевой программы — например, место на диске или в памяти. Доступ к сети, возможность сообщаться с главной операционной системой или считывать информацию с устройств ввода обычно либо частично эмулируют, либо сильно ограничивают. Песочницы представляют собой пример виртуализации.

Насыщенное интернет-приложение (англ. rich internet application, RIA) — это веб-приложение, загружаемое пользователем через интернет, предназначенное для выполнения функций традиционных настольных приложений и работающее на устройстве пользователя (не на сервере).

Механизм копирования при записи (англ. Copy-On-Write, COW) используется для оптимизации многих процессов, происходящих в операционной системе, таких как, например, работа с оперативной памятью или файлами на диске (пример — ext3cow).

Бу́фер обме́на (англ. clipboard) — промежуточное хранилище данных, предоставляемое программным обеспечением и предназначенное для переноса или копирования между приложениями или частями одного приложения через операции вырезать, копировать, вставить.

Виртуальная файловая система (англ. virtual file system — VFS) или виртуальный коммутатор файловой системы (англ. virtual filesystem switch) — уровень абстракции поверх конкретной реализации файловой системы. Целью VFS является обеспечение единообразного доступа клиентских приложений к различным типам файловых систем. VFS может быть использована для доступа к локальным устройствам и файлам (fat32, ext4, ntfs), сетевым устройствам и файлам на них (nfs), а также к устройствам, не предназначенным для.

Сервер приложений (англ. application server) — это программная платформа (фреймворк), предназначенная для эффективного исполнения процедур (программ, скриптов), на которых построены приложения. Сервер приложений действует как набор компонентов, доступных разработчику программного обеспечения через API (интерфейс прикладного программирования), определённый самой платформой.

Загрузочный сектор, бутсектор (англ. boot sector, Volume boot sector (Volume boot record), Partition boot sector) — это особый сектор на жёстком диске, дискете или другом дисковом устройстве хранения информации. (Для дискеты это первый физический сектор, для жёсткого диска — первый физический сектор для каждого раздела.) В процессе загрузки компьютера с дискеты он загружается в память программой POST (в компьютерах архитектуры IBM PC обычно с адреса 0000:7c00), ему передается управление командой.

Интерфейс командной строки (англ. Command line interface, CLI) — разновидность текстового интерфейса (CUI) между человеком и компьютером, в котором инструкции компьютеру даются в основном путём ввода с клавиатуры текстовых строк (команд), в UNIX-системах возможно применение мыши. Также известен под названием консоль.

Конте́кстное меню́ — элемент графического интерфейса операционной системы, представляющий собой список команд, вызываемый пользователем для выбора необходимого действия над выбранным объектом. Команды контекстного меню относятся к тому объекту, над которым это меню было вызвано.

Двойное лицензирование — бизнес-модель для свободного программного обеспечения, основанная на реализации его под двумя лицензиями. Иногда программное обеспечение выпускают под тремя и более лицензиями — в этом случае более корректны термины тройное лицензирование и мультилицензирование.

Компьютерная платфо́рма — в общем смысле, это любая существующая среда выполнения, в которой должен выполняться вновь разрабатываемый фрагмент программного обеспечения или объектный модуль с учётом накладываемых этой средой ограничений и предоставляемых возможностей. Термин платформа может применяться к разным уровням абстракции, включая определенную аппаратную архитектуру, операционную систему или библиотеку времени выполнения.

Точка монтирования (англ. mount point) — это каталог или файл, с помощью которого обеспечивается доступ к новой файловой системе, каталогу или файлу.

Динамический сайт — сайт, состоящий из динамичных страниц — шаблонов, контента, скриптов и прочего, в большинстве случаев в виде отдельных файлов (в Lotus Notes/Domino данные и все элементы дизайна, включая пользовательские скрипты, хранятся в одном файле).

Блокнот (англ. Notepad) — простой текстовый редактор, являющийся частью операционных систем Microsoft Windows, начиная с вышедшей в 1985 году Windows 1.0.

Программы удалённого администрирования — программы или функции операционных систем, позволяющие получить удалённый доступ к компьютеру через Интернет или ЛВС и производить управление и администрирование удалённого компьютера в реальном времени. Программы удалённого администрирования предоставляют почти полный контроль над удалённым компьютером: они дают возможность удалённо управлять рабочим столом компьютера, возможность копирования или удаления файлов, запуска приложений и т. д.

Подсве́тка си́нтаксиса — выделение синтаксических конструкций текста с использованием различных цветов, шрифтов и начертаний.

В общем, каждый раз, когда мы хотим использовать программу на нашем компьютере, мы должны загрузить и установить ее на свой компьютер, чтобы использовать ее. Это заставляет нас постоянно зависеть от Интернета, а иногда даже заставляет нас зависеть от разрешений администратора, чтобы иметь возможность выполнять его. Но во многих случаях портативные версии многих программ, которые предоставляют множество преимуществ.

Переносимая программа - это программа, которая по умолчанию имеет все необходимое для работы без необходимости установки, может работать на любом ПК, сохраняя все данные в собственной папке программы. Поэтому его использование может быть очень интересным. Мы можем найти портативные программы всех видов, такие в качестве веб-браузеров, антивирусов, фоторедакторов, менеджеров паролей, мультимедийных плееров и т. д.

По этой причине сегодня мы рассмотрим четыре основных причины, которые помогут вам решить использовать портативную программу.

Для работы не требуется установка

Основная причина того, что программы являются переносимыми, заключается в том, что они не нуждаются в установке на нашем жестком диске для работы. Для его использования потребуется только его скачать и запустить . Это может быть чрезвычайно интересно, если нам нужно работать с защищенного компьютера, поскольку для его использования не требуются права администратора для установки приложений, поскольку портативные устройства отлично работают без установки.

Их можно запустить с флешки

Еще одна веская причина использовать портативные программы - это именно их переносимость . Это приводит к тому, что мы можем сохраните их на любом внешнее запоминающее устройство. Будь то на флеш-накопителе, карте памяти, внешнем жестком диске, компакт-диске и т. Д., А также запускать их непосредственно из одного хранилища. Таким образом, мы всегда можем носить программы с собой и запускать их на любом Windows ПК, без необходимости тратить время на их установку и во многих случаях в зависимости от подключения к Интернету.

Pendrive и карта памяти

Вы экономите место на жестком диске

Они не изменяют реестр Windows

Когда мы устанавливаем какую-либо проблему, она обычно создает запись в реестре Windows. Эта запись включает его конфигурацию, соответствующие лицензии и пути к файлам. Иногда этот процесс может работать неправильно и вызывать проблемы на ПК при внесении этих изменений. Переносимые программы не вносят никаких изменений в реестр Windows. . Это связано с тем, что при прямом запуске они сохраняют свои данные в своей собственной папке, поэтому мы избегаем каких-либо проблем в этом отношении.


А портативное приложение (портативное приложение), иногда также называемый автономный, это программа предназначен для чтения и записи параметров конфигурации в доступную папку на компьютере, обычно в папке, где находится переносное приложение. Это упрощает перенос программы с пользовательскими настройками и данными между разными компьютерами. Программа, не имеющая параметров конфигурации, также может быть переносным приложением.

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

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

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

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

Содержание

Переносимые приложения Windows

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

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

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

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

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

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

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

Читайте также: