Иногда программа при установке в систему может конфликтовать с другой своей версией. Или необходимо чтобы при запуске программа не оставляла временных файлов или записей в реестре.
Инструменты для создания portable версий программ:
- Бесплатная Cameyo
- VMware ThinApp
- Enigma Virtual Box
- Turbo Virtual Application Studio (ex. Spoon Studio)
Основной принцип работы этих инструментов можно разбить на такие этапы:
- Определение изменений в системе после установки целевой программы;
- Создание сборки, в которой целевая программа получить (возможно частично) виртуальное окружение (файловая система, реестр) при котором она сможет нормально выполняться. Это достигается за счет первого пункта;
- Другим свойством такой сборки будет отслеживание изменений, которые вносит целевая программа в окружение. Такие изменения не будут затрагивать общую систему, а будут перехватываться, сохраняться отдельно и в дальнейшем эмулироваться.
Работа с Cameyo
Очень простое, а потому удобное приложение, не смотря на мелкие минусы. Комментарии ниже относятся к версии Cameyo v3.1.1443.
***
Позволяет легко редактировать уже созданные сборки, для этого достаточно просто открыть exe файл сборки в Cameyo.
***
Сборка, созданная с помощью Cameyo, при запуске распаковывается в папку рядом с основным exe файлом, либо в папку %AppData%\VOS\*
, в зависимости от настройки сборки (смотреть General | Data Storage
).
***
Основной режим изоляции приложения, заданный в General | Isolation mode
имеет меньший приоритет, чем режим изоляции заданный отдельно для папок/файлов или веток реестра.
***
После создания сборки, скорее всего придется открывать ее для редактирования и удалять лишние файлы и записи в реестре.
***
Не позволяет запускать не .exe файлы (например .bat) в качестве стартовых.
***
Для изменения переменных окружения, в том числе PATH:
APP.cameyo.exe -break
- Редактируем
\APP.cameyo.break\VirtApp.ini
:EnvVariables=Path=MyPath1;MyPath2;%ExistingValue%
APP.cameyo.exe -unbreak
***
Cameyo не позволяет править значения виртуального реестра внутри своего редактора. Возможность редактировать реестр реализована через загрузку «куста» в regedit.exe. Далее Cameyo отслеживает момент закрытия regedit.exe, после чего определяет изменения. Есть еще способы:
- Экспортируем ветку реестра из сборки в файл .reg;
- Редактируем .reg файл во внешнем редакторе;
- Удаляем эту ветку внутри сборки;
- Импортируем .reg файл в сборку.
Или
- Получаем доступ к реестру в виртуальном окружении:
APP.cameyo.exe -exec my_regedit.exe
- Редактируем реестр
- Применяем изменившиеся данные к файлу сборки:
APP.cameyo.exe -repackage
***
При экспорте реестра может получиться невалидный .reg файл. Например строка (REG_SZ), содержащая символ «новой строки» (\n):
"Key"="Val
ue"
Cameyo на такой .reg файл будет ругаться. Если при импорте произошла ошибка, то:
- Закрываем и снова открываем файл образа в Cameyo;
- Будет видна часть все-таки импортированных из .reg файла данных, тех что до ошибки;
- Ищем это место во внешнем редакторе .reg файла, исправляем и пытаемся сделать импорт еще раз.
***
Иногда, если внутри сборки упаковано множество мелких файлов, то при попытке сохранить после изменения структуры файлов, попадаем в бесконечный показ окна «Сохранение». Или получаем сообщение об ошибке открытия файла (Cameyo после сохранения пере-открывает сборку). Но в последнем случае сборка часто рабочая :), нужно открыть ее в Cameyo еще раз самостоятельно. Сохраняйте файлы через «Сохранить как» с другим именем.
Комментариев нет:
Отправить комментарий