Идет обмен данными.
Пожалуйста, подождите.
Портируем приложение средствами VMWare ThinApp10.12.2011
Категория : IT-шная
«Наглядный мануал, по портированию любого приложения, в картинках»
Данная статья кратко копирует родной текстовый мануал к программе VMWare ThinApp, призванной создать из любого приложения - портированное (для танкистов - не требующего установки, не гадящего в систему и вообще, запускаемого с флешки).

Процитирую пару строк из википедии (очень важных кстати):

Многие приложения для Windows можно сделать переносимыми с помощью VMware ThinApp со следующими исключениями:

- не поддерживаются приложения, требующие установки драйверов устройств. Приложение будет работать, если требуемые драйверы предустановлены в системе;

- не поддерживаются приложения с аппаратной защитой от копирования. ThinApp эмулирует только некоторые свойства оборудования (например, серийные номера устройств; эмуляция ethernet MAC-адрес, CPUID и др. свойств не поддерживается).

Для портирования нам понадобятся 3 вещи:

1. Сама VMWare ThinApp (есть платная и бесплатная версия)
2. То, что будем препарировать
3. Компьютер, на котором не была установлена программа из п. 2

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

В качестве подопытного я выбрал шустрый и халявный дефрагет Auslogics Disk Defrag. Считать это рекламой или нет - право Ваше, меня радует своей скоростью работы, по сравнению со стандартным виндовским. (Вообще, раньше Auslogics выкладывала 2 версии дефрагера, уже портированную и с инсталлятором, ща что-то тока инсталлируемую)

И так, приступаем к процессу. Весь процесс можно разделить на несколько этапов.

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

Как видно, ничего хитрого нету. Что ж, перед началом, стоит остановиться на пункте 1 и пункте 2 поподробнее.

Пункт 1 - Зачем гасить антивирусы и что еще нужно отключить ? Антивирус выключить придется, в любом случает, а вот всякие мессенджеры и прочие проигрыватели музыки/фильмов в том случае, если эти программы обращаются к тому диску, на который идет установка. Поскольку ThinApp отслеживает изменения файловой системы до и после установки программы, всяческие паразитные записи нам накидают только мусора. Думаю тут понятно.

Пункт 2 - Зачем настраивать программу, если это можно сделать потом ? Дело в том, что во время настройки программ, они очень любят сохранять свои данные в самые потайные уголки операционной системы, коих у последней, хватает. Так вот, не все программисты делают так, что во время установки создаются все необходимые пути для их детища. Соответственно, когда вы сделаете портированной программу, изначально, которой суждено работать только установившись в систему, она может не создать всех необходимых себе путей для последующей работы. Естественно VMWare тоже не обладает телепатией и не может всего на свете предсказать. Короче на выходе мы получает вроде бы и портированную во всех отношения программу, но с недостающими путями. Тут как минимум пара путей развития ситуации. Первое, это все настройки сохраняются по стандартным путям на том компьютере, где происходит первоначальная настройка нашей проги, второе - начинается сыпаться гора ошибок и все превращается в глючный ад. Такие дела.

Сразу после старта. Жмем next.
Сразу после старта. Жмем next.
Можно выбрать, что будем сканировать
Можно выбрать, что будем сканировать
Вот, сопсна, что предлагают на выбор
Вот, сопсна, что предлагают на выбор

Соответственно выбираем тот жесткий диск/флешку/дискету/перфокарту или куда Вы там ставите подопытного ? Разделы реестра, что расположены под окошком выбора носителя, выбирайте сразу все - хуже не будет.

Жмем Окай и смело давим на Prescan.

Пошел процесс...
Пошел процесс...
Отлично ! Прескан завершен, пора ставить нашу программу
Отлично ! Прескан завершен, пора ставить нашу программу

Если Вам, вдруг, захотелось сделать себе карманный вариант Интернет Испортил (он же Internet Explorer) - для этого есть аж целая отдельная кнопка. В данной статье я не буду вдаваться в эти подробности, потому что это отдельная траурная песня.

Специально для осла
Специально для осла

Ну, раз предварительное сканирование завершено, пора ставить нашу прогу ! Дальше буквально 3 скриншота начала установки, завершения и первого запуска установленной.

Тут все просто
Тут все просто
Ать-два и готов. На запуск !
Ать-два и готов. На запуск !
Вроде все ровно
Вроде все ровно

Программа установлена, запущена, настроена, проверена. Хотя настроек именно у нее вроде и нет никаких, разве что погасить машину по завершению дефрагментации. Раз все работает, пора приступать к Постскану.

Вторая серия сканирования в действии
Вторая серия сканирования в действии
Все, что было найдено в результате
Все, что было найдено в результате
Выбираем нужное, откинув лишнее
Выбираем нужное, откинув лишнее

Это, скорее, интуитивный выбор. Не смотря на то, что основной рабочий модуль программы, это DiskDefrag.exe, приходится так же выбирать и пару других пунктов. Вообще, если Вы не знаете наверняка, что стоит отправлять на сборку, а что жестко игнорировать - выбирайте все. Потом экспериментальным путем можно выяснить минимально рабочий комплект.

Выбрали ? Жмем NEXT !

Настройки политики безопасности. Оставляем так. NEXT.
Настройки политики безопасности. Оставляем так. NEXT.
Тут тоже оставляем как есть. NEXT.
Тут тоже оставляем как есть. NEXT.
Если делаем для USB - пункт 2 наш
Если делаем для USB - пункт 2 наш
NEXT
NEXT
Хотите помочь VM со статистикой ? Я нет !
Хотите помочь VM со статистикой ? Я нет !
Пункт NO на барабане и кнопка NEXT впереди
Пункт NO на барабане и кнопка NEXT впереди
Как называть полученное и куда сохранять. NEXT.
Как называть полученное и куда сохранять. NEXT.
Тут тоже лучше оставить все как на скрине. SAVE.
Тут тоже лучше оставить все как на скрине. SAVE.
Процесс пошел...
Процесс пошел...
Можно кое-что подправить, но нас это не интересует. Build !
Можно кое-что подправить, но нас это не интересует. Build !
Процесс сборки...
Процесс сборки...
Что ж - все ОК ! Пора проверять.
Что ж - все ОК ! Пора проверять.
Из открывшейся папки, перекидываем все на флешку, например
Из открывшейся папки, перекидываем все на флешку, например
Good job !
Good job !

Ну вот собственно краткая инструкция по портированию прог и закончилась. Для большинства портов всего того, что описано выше хватит с головой. Грабли начинаются тогда, когда портируется что-то монструозное, типа MS Office или что-то типа. Об этом сказано в мануале на ПО VMWare ThinApp.
2  комментария
  1. Серж (17.04.2013 в 17:24)
    Хорошо когда программка такая простенькая, вот воюю в лисичным браузером со своими настройками и расширениями и все как-то грустно получается, не хочет он использовать только свою корневую папку. Вот не хочет и все.
  2. DROS (17.04.2013 в 17:45)
    А если перед окончательной сборкой в настройках лисы попробовать прописать относительные пути, а не абсолютные ? Это так, мыли в слух. Я лично не проверял.
Отправить  или Ctrl + Enter