Чтобы созданная вами Portable программа не осталась портативной (переносной) только для той операционной системы, на которой вы её сделали, необходимо для создания portable использовать отдельную девственно "чистую" систему. В данной статье даны советы-инструкции, как создать чистую рабочую среду для создания портативных программ и каким образом провести тестирование portable (предварительное и завершающее).
Рабочая среда для создания Portable (портативных) программ
Во всех обучающих руководствах, инструкциях и справках по созданию портативных программ даются настоятельные советы – создавать Portable (портативные) программы только в отдельной "чистой" среде операционной системы. Под "чистой" ОС Microsoft Windows подразумевается оригинальный образ "операционки" (абсолютно девственной), в которой не устанавливалось никаких программ и компонентов. Другая рекомендация – например, если планируете запускать созданную Portable программу на Windows 2000, то Н ней и нужно делать/создавать portable. Вероятность того, что эта Portable программа заработает на Windows Vista и Windows выше, чем, если бы создавалось на Vista, а пытались бы её запустить на Windows 2000. На данный момент, наиболее оптимальный вариант операционной системы для создания Portable – это Windows XP SP2 или SP3, т.к. компьютеров с более древними ОС осталось очень мало. Чтобы система оставалась в таком же "девственном" виде, как и после установки, необходим быстрый возврат к его первоначальному состоянию. И тут нужно для себя определиться, в реальной системе будут создаваться портативки или на виртуальной машине ( Vmware Workstation, VirtualBox). Для реализации этого в реальной системе, можно воспользоваться специальными программами, которые после активации определенного режима фиксируют все изменения в системе, а при перезагрузке восстанавливают прежнее состояние ОС, которое было до включения этого режима. Одна из таких программ – это Shadow Defender. В функционале же виртуальных машин уже предусмотрена возможность возврата к определенному состоянию, используя созданный вами снимок системы. Последний вариант самый быстрый и безопасный. Например, вы установили "чистую" ОС, но не спешите фиксировать это состояние. Дело в том, что в Windows "висят" некоторые службы и процессы, которые периодически что-нибудь записывают в файловую систему, в реестр, "стучатся" в интернет, причем, все это без ведома пользователя. В результате, в вашем проекте оседает разный "мусор", не относящийся к программе. Поэтому предпочтительно поотключать автообновление, защиту, индексацию, prefetch и вырубить интернет, а уж затем делать снимок виртуальной машины. Чтобы иметь представление, что происходит в системе, проведите мониторинг программами ShFilesAcSpy, SysTracer или другими аналогичными, не запуская никаких программ. Кстати, надо учитывать, что и сами программы мониторинга то же вносят изменения в систему, как и запуск любого приложения. Помониторьте также систему во время пуска и закрытия каких-нибудь простых приложений. Потренировавшись, вы с легкостью будете исключать такие элементы из своего проекта. Этап тестирования ДО создания portable программы
Итак, для создания portable программы у вас должна быть создана "рабочая среда" и иметься готовый к "препарированию" софт, т.е. для последующего его преобразования в portable. Дабы исключить случай нефункционирования будущей portable программы из-за "кривого" авторского софта, его желательно просто установить, запустить и проверить функциональность. Функций в программе может быть множество, но базовые это: открытие файла программой, сохранение, изменение опций и основное действие в приложении, для которого оно изначально создавалось и предназначалось. Этап предварительного тестирования может понадобиться для оптимизации создаваемой portable программы. Например, с целью уменьшения размера сборки, можно удалить из проекта те файлы и ключи реестра, которые инсталлируются в систему и не влияют на работу софта, т.е. "мусор". Если вы не уверены, какие это файлы и ветки реестра, то как раз этап пред-тестирования прояснит ситуацию. С каждым перемещением сомнительных файлов тестируем инсталлированное приложение и, таким образом, можно узнать какие файлы представляют собой "мусор". Аналогично и для ключей реестра, только воспользовавшись возможностью программы Registry Workshop отменять последние изменения в реестре, в т.ч. удаление. Особо надо обратить внимание на файлы, создаваемые в системных папках, т.н. "важные". Это могут быть драйвера, а это значит, что стандартный подход к созданию виртуализированных portable изменится. Или другие системные файлы, от которых зависит работа системы и установленных программ. В алгоритме лаунчера ручных portable в данном случае должно быть прописано резервирование "важных" файлов перед запуском основной программы с последующим восстановлением. Неплохо выявляются такие файлы инструментом SysTracer. При инсталляции софта между снимками постарайтесь не пользоваться другими программами, которые не имеют отношения к установке предварительного тестирования. Если вам приходится запускать другую программу и это не регистрация софта или обновление, то выясните, какие изменения делает каждое в отдельности приложение в системе при запуске и в процессе работы. Этап тестирования созданной портативной программы
Перед тем как проверить свой созданный продукт, загрузите первоначальное "чистое" состояние ОС со снимка виртуальной машины или отменив изменения в реальной системе. При тестировании желательно проверить максимальное количество функций программы, в которые, конечно же, включены и базовые. Кстати, можно использовать для проверки и вашу реальную "захламленную" ОС, предварительно воспользовавшись программой типа Shadow Defender. Заключение
Перед портатированием желательно хорошо подумать о целесообразности создания той или иной портативной программы. Как уже говорилось, несмотря на все плюсы portable программ, возможны ситуации, когда инсталляция некоторых из них более оправдана.
В любом случае, перед тем как приступать к портатированию программы, надо решить для себя несколько вопросов, которые можно объединить в одну фразу "Имеет ли смысл делать или использовать портативную программу, если …..": - будут ли использоваться компоненты портативной программы другими приложениями; - предположительно, на каких компьютерах (медленных или быстрых) будет работать portable программа; - сможет ли получить доступ portable программа к системным папкам и реестру, если ей это необходимо; - кто будет пользоваться портативной программой, лично вы или кто-то еще (например, для вас файлы справки – это "мусор", который нужно удалить, а другим может очень даже понадобиться, и т.д.); - имеется ли в сети интернет добротно портатированный вариант этого софта и есть ли смысл дублировать свой вариант портативной программы.
И последнее. Качественно сделанный и тщательно протестированный портативный софт не даёт 100%-ой гарантии того, что он заработает на любых заявленных операционных системах.
|