AVanti473
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Друзья! В наш век ватсапов инстаграмов и прочего, из-за повальной лени, скоро, кажется, эпоха доступности всего и вся станет историей. Простейшие советы канут в лету и могут стать самым настоящим дефицитом. Пока этого не случилось, хочется пересилить себя, и продолжать делиться полезными находками... Благодаря замечательным FAQ и переводам мануалов, я нашёл одно, не оригинальное, но, надеюсь полезное, решение. Конечно же многим сборщикам портабельного софта на базе ThinApp хочется иметь ряд нестандартных возможностей. Такими возможностями обладают vbs-скрипты, помещённые в сборку. Один из таких скриптов я изрядно перелопатил и опубликую ниже. Что он делает? Он выносит из виртуальной среды исполнительный файл в реальную среду. Причём, в одноимённую папку, созданную рядом с основным исполнительным файлом сборки. Запускает его там, как внешний процесс. Ждёт завершения работы, и удаляет вышеупомянутую папку. Вот так выглядит этот скрипт: Скрипт Для чего это может понадобиться, думаю, отдельно объяснять не нужно. ))) Естественно, Run.exe это тот самый файл, который будет выноситься в реальную среду. А поместить его нужно, при сборке, в папку %SystemSystem% проекта ThinApp. Но, это ещё далеко не всё полезное, чем я хотел бы с вами поделиться. Теперь, я хочу представить вашему вниманию скрипт сделанный в программе "vTask Studio v7.912.0.0". Спросите, зачем я указываю версию? Чтобы Вы могли (при желании) сами открыть исполнительный файл скрипта данной версией программы. Он не зашифрован, и для особо паникующих по поводу отмороженных антивирусных сообщений, можете сами его перекомпилировать. ))) Скрипт vTask Studio (ссылку на который я дам чуть ниже) работает по принципу другого уже известного тут скрипта LetMeWork, но с бооольшим отличием от функционала последнего. Скрипт написанный мной в vTask Studio правит содержимое файла hosts и также работает по принципу триггера, НО: - не оставляет никаких следов в виде .bac файлов, в папке System32\drivers\etc - вообще не бекапит содержимое файла hosts - вносит и удаляет лишь те изменения, который записаны в текстовом файле рядом с исполнительным файлом скрипта. Как следствие, даже в процессе работы между внесением и удалением изменений, в оригинальное содержимое файла hosts можно вносить другие правки, которые скрипт не затронет. ))) Обо всём остальном вы можете прочесть в файле "Важно.txt", который идёт в комплекте, в архиве со скриптом. Вот ссылочка на мой скрипт vTask(а): https://yadi.sk/d/Roh38Kdf3QmFJL И, конечно же было бы неплохо объединить два вышеприведённых решения, для реализации общей мечты всех ThinApp(овцев) - блокировки отдельных сайтов на период работы портабельного приложения! ))) Что ж, немного модифицируем вышеприведённый vbs-скрипт: Скрипт Безусловно надо помнить (чтобы всё работало как надо) внести в Package.ini, в раздел [BuildOptions] строчку: UACRequestedPrivilegesLevel=requireAdministrator Сейчас vbs-скрипт копирует в реальную среду два файла - файл скрипта vTask(а) и текстовый файл для последнего. Как видите, один и тот же скрипт запускается два раза. Один раз при условии OnFirstSandboxOwner (вносит изменения скриптом vTask(а) в файл hosts), второй раз при условии OnFirstParentExit (отменяет изменения скриптом vTask(а) в файле hosts). Это для того, чтобы никаких следов в процессе работы до, или после запуска портабельного приложения, не оставалось. К слову, даже если по каким-то непредвиденным причинам портабельное приложение завершит работу не успев заставить скрипты отменить изменения в файле hosts - ничего страшного не произойдёт. Достаточно просто заново запустить и корректно завершить работу портабельного приложения. Скрипт отменит все изменения в файле hosts, включая предыдущие. ))) Приятного пользования! P.S. Имя песочницы не должно совпадать с именем исполнительного файла портабельного приложения! (иначе, vbs-скрипт будет пытаться удалить, заблокированную работой портабельного приложения, папку песочницы, что приведёт к ошибке в vbs-скрипте) | Всего записей: 1191 | Зарегистр. 05-04-2011 | Отправлено: 22:31 19-12-2017 | Исправлено: AVanti473, 15:31 24-02-2018 |
|