Что необходимо знать о Portable Soft

Что необходимо знать о Portable Soft

На протяжении нескольких лет моей деятельности, по созданию портативного софта "Portable soft", постепенно назрела необходимость в написании этой статьи.

Несмотря на возрастающую популярность такого рода программ, очевидно что многие пользователи не имеют элементарного представления, что такое Portable soft и им достаточно увидеть в названии новости, слово Portable. Именно этим и пользуются многие недобросовестные пользователи интернета, выкладывая под видом портативного софта, разного рода поделки, тем самым подрывая авторитет серьезных авторов. Давайте попробуем разобраться, что же все таки представляет из себя"Portable soft". Дабы не возникало таких вопросов
Что собой представляет Portable soft (портативные программы)…
Что значит "портативные программы"? Portable программы - что это такое?
Чем Portable программы отличаются от других программ?
"Как это делается? Прикольно!"
"А это безопасно? А то переустанавливать половину стационарного софта и чистить реестр прошлый раз было не прикольно!"
"Каким именно методом это сделано? Безопасно ли это? Как насчет следов в реестре и файлах?"


Эта статья направлена на обзор, некоторых принципов создания портативного софта и (внимание) признаков псевдопортативности, и безопасности сыра в мышеловке. Потому что у многих пользователей, постепенно проявилось осознание того, что не все названное Portable стоит воспринимать, именно как портативную программу.
Вы не знаете, что такое портативный софт, хотя с компьютером уже давно «на ты»? Неудивительно. Почему-то такие программы не очень-то рекламируются, хотя нередко являются очень даже полезными. Значит, будем заполнять пробелы в ваших знаниях.

Начну с определения слова Portable. Оно имеет два значения
- портативный, автономное (компактный)
- переносимый (Технический)

Такое определение дает Википедия и оно наиболее близкое по смыслу.

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

Портативный софт ( portable soft ) представляет собой компактные аналоги обычных программ, которые не требуют установки. Зачем долго и нудно устанавливать и настраивать приложения? Portable программы - это способ оценить их без установки в систему. Достаточно скачать portable версию, распаковать архив и Ваша программа готова к запуску! У вас есть флешка? Тогда выбирайте нужные Вам программы в portable варианте и делайте себя мобильнее!
Портативные программы, portable, portable soft, переносной софт – это целый сформировавшийся класс программ, созданных в основном для запуска и работы с переносных устройств (USB flash /флешки, CD, DVD и т.д.) без проведения инсталляции.

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

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

Портативные программы не засоряют системный реестр и соответственно создают меньшую нагрузку на операционную систему.
С нарастанием популярности портативного софта, к ним стали предьявляться более серьезные и расширенные требования, помимо переносимости.
А именно.
1. Полная изоляция от реальной системы.
2. Чистая работа (не оставляет следов в реальной системе)
3. Запуск и полная работаспособность, при переносе на другой компьютер.
4. Не конфликтует с уже установленным стандартно таким же софтом, т.е. со стационарного софта не слетает регистрация и т.п., а также в свою очередь портативная версия номально работает незавасимо от установленных братьев.

Что бы понять как работает портативная программа нужно иметь хотя бы примерное представление об установке софта в систему компьютера. Если не вдаваться в детали, то при инсталляции программы вносится информация в реестр, копируются файлы в указанные пользователем папки, а при необходимости в системные и профильные. Таким образом, программа информирует операционную систему (обычно через реестр) о своем присутствии и в результате создаются ярлыки, ассоциации файлов, пункты в контекстном меню и т.д. Другие приложения обычно так же через реестр узнают о пребывании новой программы или ее модуля.

О портативной же программе системе не известно ничего, кроме того что это простая папка с файлами, один из которых с расширением exe.

Ну а теперь переходим от общего к главному. Что такое портативный софт и для чего он нужен?

Используются портативные программы в основном для работы со съемного носителя, например, флешки или компакт-диска. Однако в последнее время стало популярно другое предназначение, а именно замена обычных программ портативными. Это дает возможность при переустановке операционной системы избежать лишней траты времени на сохранение личных данных (закладок в браузерах, истории переписки по ICQ, электронных писем в почтовых клиентах и т.д.), а также установке и настройке программ. Достичь этого удается за счет того, что правильно сделанные портативные программы абсолютно не зависят от операционной системы. Их можно временно скопировать на компакт-диск, отформатировать винчестер, установить новую ОС, после чего вернуть программы обратно и все настройки вместе с временными файлами сохраняться.

Преимущества портативного (портабельного) софта:

• После переустановки системы портативную проргамму не надо устанавливать и настраивать - всё уже готово к работе, когда на мониторе появляется Рабочий стол.
• Портативный софт можно взять с собой на работу, в гости или в Интернет-кафе. Работать с портативными программами можно сразу после подключения переносного носителя к вашему компьютеру.
• Свои настройки портативные программы (приложения) сохраняют в родной папке, тем самым не нагружая системный реестр.
• Portable (портативная версия) программы – это не новый софт, а особая редакция знакомого вам ранее приложения.

Но это не единственная польза от софта разновидности portable.

Предположим, вы переходите на свободное программное обеспечение. Хотите опробовать, к примеру векторный графический редактор Inkscape (бесплатный аналог Corel Draw). Скачиваете портативную версию, распаковываете — и пробуете, сколько душа пожелает. Понравится — тогда можно будет установить и обычную версию.
Следующее преимущество — мобильность. Чтобы прийти к кому-то и поработать за его компьютером в упомянутом выше редакторе Inkscape, вовсе не нужно устанавливать эту программу на чужую машину. Достаточно принести её с собой на флэшке, предварительно скопировав туда всю ту папку, которая получилась после распаковки.
Электронную почту тоже можно проверять, не оставляя на чужом компьютере какого-либо кэша. Для этого достаточно записать на флэшку Mozilla Thunderbird Portable. Воткнули в USB, забрали почту — и унесли её с собой.
Ну а поскольку современные флэшки бывают очень вместительными, то на них можно записать целый набор портативного софта. К примеру, браузер Mozilla Firefox (чтобы не оставлять ничего в кэше после серфинга по сети), словарь GoldenDict (если вы являетесь переводчиком, то портативная версия окажется весьма полезной), COMODO System-Cleaner (для быстрой очистки реестра и всякого хлама; пригодится оказывающим первую компьютерную помощь), ну и так далее.

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

А теперь огромное НО!
Работоспособность отдельных частей ПО при переносе на другую машину совсем не значит работоспособность самого ПО.
Яркий пример из истории портирования - долго гулявший по просторам рунета Adobe Photoshop CS3 Micro. Очень мозговитые люди вылечили исполняемый файл Photoshop.exe так, что он забыл о проверке лицензии. Не очень мозговитые люди подменили этот файлик в своей установке программы. Совсем безмозглые люди выдрали папку C:\\Program Files\\Adobe\\Photoshop себе на флешку и просто на пробу запустили его. И увидев, что программа запустилась, воскричали "portable".
Что выяснилось дальше. данная программа хоть и выглядела работоспособной делала как минимум такие бяки на компе доверчивого пользователя:
- Мусор в реестре.
- Мусор в профиле пользователя.
- Практически обязательный слет регистрации с установленных пакетов той же фирмы (вот уж радость кому-то, у кого на компе хвастались такой поделкой).
- Невозможность работы с текстом.
Какие ошибки были допущены?
1. Программа - это далеко не всегда (почти никогда) папка с кучей файлов. Это - записи реестра (регистрация, настройки, связь с конфигами других программ), записи конфигов ОС, дополнительные файлы во множестве мест системных каталогов и профилей пользователей.
2. Вырванная из подходящего окружения (где все настроено для ее работы, т.е. где она установлена) прогрмма ведет себя непредсказуемо (т.к. такой ситуации разработчик часто не предполагает), а именно: создает свои записи в реестре и конфиках, файлы в ситемных каталогах, причем часто перезаписывая уже имеющиеся.
Аналогично гуляли псевдопортаблы Finereader 10.

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

Начну с True portable, того что собираю я сам. Виртуализация приложений с помощью специальных программ, VMware ThinApp, Spoon Studio (Xenocode). Есть и другие аналоги, но наиболее серьезные именно эти две.
Виртуализация - помещение программы в виртуальный контейнер (читай архив, отсюда огромный плюс - сжатие). При запуске этого контейнера программа "думает", что все записи реестра и файлы уже на месте - в системе (ничего никуда не копируется и не записывается - еще плюс). Вирус внутри контейнера такой программы - обезоружен, т.к. ничего не может записать в реальную систему - только в песочницу. Это относится к часто высказываемым претензиям, что мол антивирус ругается на файл. Хочу уточнить, что на сегодняшний день, все наиболее серьезные антивирусы, внесли в исключения файлы созданные в VMware ThinApp и Spoon Studio (Xenocode), орут как правило недоделки -паранои ки типа Avast.

Виртуализированная портативная программа (Portable приложение) запускается в небольшом виртуальном окружении (VM), которое включает в себя ключи реестра, файлы и другие компоненты, необходимые для запуска и работы портативного приложения.
Такая виртуальная среда работает как прослойка между портативным приложением и ОС (операционной системой), что позволяет избежать конфликтов между приложениями. Виртуальная среда (VM) ответственна за загрузку "виртуализированного" приложения в память и за управление "виртуальной" файловой системой и реестром.

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

Механизм работы виртуализированных программ (виртуальных), созданные этими продуктами, для каждого разный и, вообще, это "секрет фирмы".

Я использую в своей работе VMware ThinApp (в девичестве, Thinstall) самый популярный инструмент для создания портативных программ. Но есть ограничения, которые накладываются на ThinApp.
Программа ThinApp не может виртуализировать приложения, требующие установки драйверов на уровне ядра, антивирусы, персональные файрволы, драйверы сканера и принтера.
Некоторые типы приложений могут работать некорректно – это: приложения, требующие установки драйверов устройств, интегрирующиеся в Explorer, устанавливающие DCOM-сервисы или глобальные хуки. Например, если вы создадите портативную версию Adobe Acrobat, вы сможете с ее помощью открывать, редактировать и сохранять PDF-файлы, но не сможете пользоваться драйвером принтера в PDF.
Однако некоторые из ограничений можно обойти, воспользовавшись скриптами VBScript (или технологией запуска через лаунчер), с помощью которых происходит установка необходимых компонентов в реальную систему. Скрипты интегрируются в проекты ThinApp. Между тем, обходя одно ограничение, можно столкнуться с другим, на ОС с правами неадминистратора такие программы могут не заработать.

Программа (Xenocode) Spoon Virtual Application Studio

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

Необходимо также уяснить для себя, что Качественно собранный и протестированный portable (портативный) софт не дает 100%-ой гарантии того, что он заработает на любых заявленных системах, необходимо читать описание к программе и требования к системе. И потому, желательно держать как портативный, так и инсталляционный вариант программы.

False portable существует много разновидностей. Вся их портативность заканчивается на переносимости, все остальные требования они не выполняют.
Наиболее распространенными и самыми опасными в применении, являются скриптовые сборки по технологии PortableApps. Описывать ее не буду, чуть ниже покажу как ее определить. Использование таких сборок, строго на страх и риск пользователей.
Одно могу посоветовать! Никогда не использовать такие сборки на рабочих местах, последствия могут быть, самыми тяжелыми для вас. Особенно это рекомендуется тем, кто использует на компьютере лицензионный софт, как правило PortableApps убивает регистрацию такого софта.

Существует еще один подвид псевдопортативок. Нативные(изначально переносимые, не требующие установки), Как правило создаются самими авторами программ. Это обычная распаковка инсталляционной версии, с набором файлов для работы программы. Она абсолютно ничем не изолированна от системы и фактически, та же инсталляшка обозванная девелопером "Portable", соответственно и мусор в системе. Все необходимые элементы для функционирования такой портативной программы расположены в одном каталоге, причём для её запуска наличие каких-либо ключей реестра не требуется(далеко не всегда). Изначально портативная программа сохраняет свои настройки в своей директории – в ту же папку, где находится. Такое определение изначально портативных программ несколько идеализированно, поскольку среди этого типа программ есть те, которые требуют установленных компонентов Windows (Net, Java и т.д.).
Что бы донести до пользователя свой продукт в том виде, в котором он задумывался, разработчики зачастую упаковывают свои "изначально портативные программы" в инсталляционный исполняемый файл.
По такому же принципу создают песвдопортивки, многие недобросовестные пользователи, которые не обладают элементарными познаниями в области создания портативного софта. Для них главное, программа при переносе в другое место, запустилась и работает, а то что она может не выполнять всех своих задач, или вообще нанести вред системе, им по барабану.

Способы выявления
Если применена именно технология PortableApps, портативка иногда спрашивает, куда установиться (это просто распаковка из файла _Название_.paf.exe). В конечной папке можно обнаружить запускающий NSIS или AutoIt экзэшник и папку (например с названием App), где просто лежит вся софтина. Да и если технология другая - можете попробовать распаковать запускалочку в Universal Extractor, это может вообще оказаться просто SFX-архив.
Что необходимо знать о Portable Soft

Виртуализированная портативная программа, это один исполняемый файл и создающаяся после запуска программы, папка-песочница с примерно таким набором файлов.
Что необходимо знать о Portable Soft

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

Вот в общем и все, что мне хотелось обьяснить пользователям портативного софта. Надеюсь моя статья, поможет вам в дальнейшем отделять зерна от плевел. Удачи!

Теперь собственно способы изготовления портативного софта и как следствие - его внешний вид и (что важно) признаки.

Я самовольно разобью Portable на 3 группы и оценю соответствие условиям портативности (1)(2)(3) на оценку (-)(-+)(+-)(+), что значит выполнение условия (маловероятно)(не достаточно)(достаточно)(вероятно).

1. Софт изначально портативный (нативная портативность)
Такой софт
- можете либо Вы написать самостоятельно; (1+)(2+)(3+)
Т.е. предполагается, что вы при написании софта именно этими тремя пунктами и руководствуетесь.
- может опционально (по Вашему усмотрению) становиться портативным (пример - KMPlayer, Aimp, Total Commander); (1+)(2+-)(3+-)
Это значит, что разработчик толи ради портативности толи для совместимости с другими ОС оставил возможность хранить натсройки и дополнения в папке программы (в ini, xml и др.). А если программа еще и понимает относительные пути (вместо C:\\Program Files\\Opera\\program указать .\\program). Способов достижения нативной портативности в этом случае множество: правка некоего главного конфига программы, других конфигов, запуска с параметром (все продукты Mozilla).
- может и без установки работать (будучи извлеченным из Program Files), т.е. он и так портативный (ну там плюс-минус портативный), а Вы и не догадывались. (1-+)(2-)(3-+)

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

Теперь танцы с бубном. Софтина капризная, а может еще и с регистрацией. А запортаблить нужно.

2. PortableApps
Это технология портабелизации, укоторой есть свои сторонники.
В этом случае в программе NSIS (Nullsoft Scriptable Install System - распространенный бесплатный и мощный создатель инсталяторов на основе скриптов от создателей Winamp) или AuitoIt делается загрузочный файл к основной программе, который
- прединсталирует в систему записи реестра и некоторые нужный файлы,
- запускает основную прогу,
- после работы все это чистит, стараясь на флешке еще и запомнить настройки софта.
Сразу скажу, что лично мне этот метод не нравится, потому что не люблю вмешательства в систему без моего ведома.
В других случаях не хочется думать даже, что случится, если во время работы "мощной" и сложной сделанной таким способом софтины выключится свет. Все неподобранные файлы и записи реестра останутся в машине. Кстати, различные вирусы чаще всего присутствуют именно в таких портаблах, если вы их берете из непроверенного источника.
Проверенным источником можно считать само движение PortableApps, стандартизировавшее этот метод портабелизации и снабжающее всех желающих нужным инструментарием и документацией.
Минусом отмечу, что это движение старается запортаблить по своей методике, практически все без разбора, а так же снабдить инструментарием всех желающих, но не очень понимающих. Результат - много некачественно софта сделанного по сомнительной технологии. Огромным минусом часто становится невозможность запустить программу без прав администратора (какой же админ даст пользователю писать куда ни попадя в систему).

Способы выявления
Приведу только более-менее вменяемый способ: (пкм) Свойства -> (вкл) Версия. И там уж иногда можно увидать название виртуализатора, его версию и имя владельца лицензии.

Особняком от этого всего стоит способ лаунчера. Т.е. запускается не программа, а лаунчер, который прямо в памяти говорит основной программе, что куда сохранять и как себя вести. Изготовление лаунчера - процедура "из черной магии" зачастую недоступная даже самим разработчикам (Вспомните сторонний лаунчер для Opera Portable, превращающий любую версию Opera в портативную).

А как же *NIXы?
Хочется спросить: "А можно ли реализовать подобную упаковку для разбросанных по всему винчертеру *NIX-пакетов?"
Давайте отбросим тот случай (хотя тоже можно подумать), когда необходимо компилировать из исходного кода. Теперь заглянем внуть разных пакетов программ: RPM, DEB и др. Что там лежит? Правильно сами файлы программы, информация, где они должны лежать в конечной системе и записи конфигов. А теперь думаем: "Что мешает делать не инстлаляционные файлы, а пакеты, которые по содержимому - то же самое, только является запускаемым файлом?".
Вроде ничего не мешает, особенно учитывая, что хорошо настроенный Wine отлично ведется на Windows-виртуальные пакеты. Но как раз в этом словосочетании "является запускаемым файлом" и кроется подвох: в отличие от Windows-спецификации PE (Portable Executable - это почти любая EXE-шка), в *NIXе скорее можно сказать, что не программа выполняется в системе, а cистема по требованию выполняет запускаемый файл (это основа защищенности и надежности *NIX).

Самый простой способ сделать такую программу переносной (т.е. восстановить её изначальную портативность) – это установить (инсталлировать) приложение в систему, чтобы получить свободный доступ к папке с программой, далее скопировать всю эту папку с программой в другое место, а затем деинсталлировать установленную программу.
Только прежде нужно проверить сию программу на её портативность, убедиться в том, что настройки программы действительно сохраняются в ту же папку и программа не требует установки каких-либо дополнительных модулей.
• Ручные портативные программы (PortableApps.com Format - Apps / PAF), которые при запуске и закрытии portable-программы лишь имитируют процесс инсталляции и деинсталляции программы в реальную систему.
Ручные портативные программы сделанные по типу PortableApps.com Format ( PAF / Apps) работают по схеме, напоминающей инсталляцию и деинсталляцию приложений. Состоят они из лаунчера (по-русски: запускальщик – т.е. файл запуска Portable-программы), папки с собственно самой программой и ее файлами, и плюс с файлами настроек лаунчера (или другими, которые связаны с работой лаунчера). Последних может и не быть, если настройки Portable-программы прописаны в самом лаунчере. Именно через лаунчер и запускается основной exe-файл Portable-программы. Каталог в такой portable с основной запускаемой программой и ее файлами считается как бы папкой, в которой установлено приложение.

Что бы новичкам было более понятно, как это работает, опишу примерный алгоритм работы лаунчера (самый простой):

1. Создается резервная копия веток реестра (или конфигурационных файлов) и файлов, расположенных вне инсталлированной папки, от которых зависит работа приложения. (Это делается на тот случай, когда в системе установлена такая же или другая версия этого приложения).
2. Импортирование в реестр необходимых для работы приложения данных, так же как и копирование тех файлов, которые должны находиться вне папки portable (напр., в …/System32).
3. Запуск основной программы и ожидание ее закрытия.
4. (По завершению) Экспорт настроек из реестра (или конфигурационных файлов) снова в portable.
5. Очищает следы работы программы (точнее, удаление временных файлов).
6. Восстановление в систему тех ключей реестра и файлов, которые были зарезервированы в 1-ом шаге алгоритма (т.е. при запуске Portable-программы).

На данный момент большинство ручных портативных программ компилируется в NSIS и AutoIt. Точнее, пишется скрипт на одном из языков этих программ, реализуя вышеописанный алгоритм, и компилируется в лаунчер. На самом деле для создания лаунчера подойдет любой скриптовый язык, по возможностям схожий с NSIS и AutoIt, который можно скомпилировать в исполняемый файл.

Ручной тип портативных программ на основе NSIS

NSIS — система создания инсталляторов для Microsoft Windows с открытыми исходными кодами, созданная компанией Nullsoft, основанной создателями программы Winamp. К пакету NSIS можно подключить множество плагинов, позволяющие работать с реестром, устанавливать драйвера, выполнять математические вычисления, обновлять файлы и многое другое.
Процесс фиксации изменений в системе при инсталляции можно реализовать в каком-нибудь деинсталляторе с поддержкой создания и сравнения снимков, например в Total Uninstall или специальными программами, такими как SysTracer и других подобных (см. выше п.1-4 общего алгоритма). После создается проект в виде структуры папок: например, в одну из них переносятся инсталлированные файлы, в другую полученные данные реестра и т.д. и пишется скрипт, который затем компилируется (см. выше п.5-6 общего алгоритма). Какой будет проект, зависит от программы и ваших предпочтений.

Примерно в таком ключе делаются portable в таких интернет-сообществах, как PortableApps и PortableAppz. На этих сайтах расписана технология, даны примеры и шаблоны, по которым создаются такие портативные программы.

Статью о специфике создания портативных программ в формате PAF (PortableApps.com Format) на основе NSIS-скриптов можно посмотреть здесь:
• "Как создать портативную программу в формате PortableApps (PAF)"

Ручной тип портативных программ на основе AutoIt

AutoIt - программа, предназначенная для автоматизации часто выполняемых действий в ОС Windows. Утилита позволяет повторять нажатия клавиш клавиатуры, перемещение и клики мышкой, манипуляции с окнами приложений, работу с буфером обмена и другие действия пользователя. Что бы не повторятся, арсенал языка AutoIt для создания портативной программы схож по возможностям с языком NSIS, поэтому все то, что описывалось выше для NSIS подходит и для AutoIt. Разве что в последнем можно еще реализовывать работу с окнами.

Portable-ваятели из Италии пошли несколько другим путем, чем в PortableApps, и сделали скомпилированный в AutoIt лаунчер. Их проект называется winPenPack, а сам шаблон с лаунчером: X-Launcher. Суть в том, что лаунчер считывает информацию с ini-файла, в котором указаны настройки по запуску программы, а сами файлы должны находиться в соответствующих папках этого шаблона. Из-за ограниченных возможностей лаунчера, этим способом можно портатировать программы только средней сложности.

Несколько основных причин неработоспособности ручных портативных программ:
- Само портируемое приложение не работает (например, кривой кряк).
- Приложение требует установленных компонентов Windows или других программ.
- Не учтены в проекте те файлы, ключи реестра или компоненты, которые отвечают за работу программы.
- Ошибки в скрипте (лаунчере).
- Ограниченный доступ к каталогам и ресурсам ОС, которые использует портативная программа.

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

Отказы в работе виртуализированных программ могут быть по следующим причинам:

- Как и для ручных портативок, это ошибки портатируемого приложения, недостающие элементы в реальной среде или в проекте.
- Ошибки в настройках (часто в режимах изоляции)
- На момент публикации официально работа программ, собранных в ThinApp (версий 4.0.x), не поддерживается в Windows 7.
- В некоторые программы встроена защита от виртуализации.
- Другие ошибки, возможно, связанные с технологией работы виртуальной среды (или виртуальная среда не функционирует в ОС, или приложение некорректно взаимодействует с виртуальной средой).

Portable Thomson Reuters EndNote X7 17.1.0.7705(PSt™©Ќђ)
Portable Thomson Reuters EndNote X7 17.1.0.7705(PSt™©Ќђ)|All Windows(x32/x64) |rar|111 mbEndNote — портативная система управления библиографической информацией, применяемая для управления ссылками и библиографией.

Portable
Portable
Portable
http://liveinternet.club/soft/portable/

Видеоуроки фотошоп Создание альбомов
В этих видеоуроках мы по порядку создадим обложку для альбома, 3D альбом, и создадим великолепный коллаж.




/

Видеоуроки фотошоп Работа с текстурами
В видеоуроках мы будем создавать текстуры, добавлять к ним детали, менять цвет и т.д.




/

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

Комментарии:

Добавить

Комментарии

Автор  seeyout, 20 февраля 2017 01:31
Спасибо за полезную информацию!
Автор  4eburawe4ka, 2 июня 2017 17:04
Очень интересная статья.
Всегда хотела разобраться с portable.
Да и неплохо было бы самой научиться портабелизировать.
winked
Автор  Karakurts, 2 июня 2017 18:08
Цитата: 4eburawe4ka
Очень интересная статья.
Всегда хотела разобраться с portable.
Да и неплохо было бы самой научиться портабелизировать.
winked

Что мешает? smile Только не портабелизировать, а виртуализировать приложения fellow
Автор  Larryyzex, 8 июня 2017 01:54
Самое несчастное животное — это осьминог. У него и ноги от ушей, и руки из жопы, и сама жопа — с ушами, и мозги, собственно говоря, тоже в жопе…
Автор  viking, 19 июня 2017 14:06
Достаточно грамотное разъяснение по работе и построению портативных программ.Спасибо!
Автор  Karakurts, 19 июня 2017 14:41
Цитата: viking
Достаточно грамотное разъяснение по работе и построению портативных программ.Спасибо!

Надеюсь это будет полезно вам.

Добавить комментарий

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.