Показать полную графическую версию : Модифицированный SFX модуль 7-Zip'а для установок
А Вы пробовали их запустить из указанного у Вас пути? »
Пробовал.А смысл ? Они же удалятся.
Так путь в кавычки не заключают »
Да , но работает..
Как я понимаю механиз работы модуля такой :
Происходит распаковка в указанную директорию - %TMP%
Оттуда из папки 7z происходит запуск батника , указанного в конфигурации.
Удаляются все файлы и папки , по путям, указанным в батнике.
Но почему после отработки батника не удаляется папка 7z ??!!
Ведь в конфиге указано
И ещё непонятно - в конфиге к модулю указано
Delete="%TMP%\\7z"
И ещё : Всё работает с батника install.cmd , если:
start "" hidcon.exe run.cmd
но после замены его же на
start /b run.cmd
начинается вышеуказанное
"второй пакетник.cmd" не является внутренней или внешней командой , исполняемой программой или пакетным файлом
???????
Habetdin
12-05-2010, 00:23
shao, START ["заголовок"] [путь] ...
start "<заголовок>" "%TMP%\7z\run.cmd" /b
<заголовок> можно оставить пустым, а можно и что-нибудь написать :)
Oleg_Sch
12-05-2010, 02:26
shao, проблема дочерних процессов и раннего удаления папки.
Попробуйте start /wait для run.cmd
Спасибо всем, но я теперь вообще запутался :)
Если я указываю в install.cmd
start /wait %TMP%\7z\run.cmd" /b
или просто
start %TMP%\7z\run.cmd" /b
то вот , что происходит (и окно не закрывается, висит...)
http://s59.radikal.ru/i164/1005/28/d258e91a1347.jpg (http://www.radikal.ru)
shao, Вы видимо меня не поняли. Вы же "рубите сук на котором сидите". Файл install.cmd запускает файл run.cmd и ждет пока тот не завершит свою работу и не возвратит управление командой Exit. Теперь смотрите что делает Ваш файл run.cmd (кавычки расставил для корректности файла)@echo off
del "%userprofile%\Recent\*.*" /Q
del "%windir%\Prefetch\*.*" /Q
del "%userprofile%\Local Settings\Temp\*.*" /Q
pushd "%userprofile%\Local Settings\Temp"
rd /s /q .
popd
exit Когда файл дойдет до выделенной красным команды, то он уничтожит ВСЕ в папке Temp в том числе и оба батника. Файл run.cmd перестает существовать и после красной команды более ни чего не совершает и до команды Exit не дойдет, а следовательно и не вернет управление первому файлу install.cmd, который так и будет ждать ответа от, несуществующего уже, файла run.cmd. Теперь понятнее?
Не распаковывайте скрипты в директорию, которую Вы собираетесь ими же уничтожить!
Для удаления в модуле есть команды Delete="file_or_folder_name", которых вполне достаточно для вашей задачи и никаких батников при этом не потребуется.
gora, спасибо, очень доступно и доходчиво объяснили всё.
Вы же "рубите сук на котором сидите" » Я согласен - ситуация нестандартная. Модуль распаковывает батники в ту же папку
для того , чтобы удалить всё из этой же папки :o
Не распаковывайте скрипты в директорию, которую Вы собираетесь ими же уничтожить!
»
- Я пробовал изменить путь распаковки. Проблема та же. Консольное окно висит и папка "7z" не удаляется (хотя в конфиге к модулю указано удалить её.)
- Я пробовал делать всё, как мне советовали, но проблема та же.
Что интересно - у меня всё работало при таких условиях:
-скрипт run.cmd - тот же
-скрипт install.cmd был
start "" hidcon.exe run.cmd
И ВСЁ РАБОТАЛО !!! Вот только во временной директории папка 7z с hidcon.exe оставалась и не удалялась...
В результате два вопроса:
1. Почему при смене команды start "" hidcon.exe XXXXX
на
start /b XXXXXX начинаются проблемы в виде незакрытия и зависания консольного окна ?
2. Почему не удаляется папка 7z из временной директории, хотя в конфиге к модулю это обусловлено. Ведь удаляются же из папки 7z батники которые распаковывает модуль ! ?
И ещё gora, к Вам вопрос :
Подскажите пожалуйста или сориентируйте , где можно почерпнуть инфо о том , как воспользоваться модулем в данной ситуации. На сайте читал инфу об этом, но как технически, без батников это сделать - не совсем понимаю
в модуле есть команды Delete="file_or_folder_name", которых вполне достаточно для вашей задачи и никаких батников при этом не потребуется. »
как воспользоваться модулем в данной ситуации. »
На счет команды Delete, я дал маху, она не поддерживает подстановочных знаков.
Для Вашего случаю можно использовать такой файл конфигурации:;!@Install@!UTF-8!
InstallPath="%SystemDrive%\\1234567890"
RunProgram="hidcon:cmd /c Del /Q /F \"%windir%\\Prefetch\\*.*\""
RunProgram="hidcon:cmd /c Del /Q /F \"%userprofile%\\Recent\\*.*\""
RunProgram="hidcon:cmd /c Pushd \"%userprofile%\\Local Settings\\Temp\"& RD /S /Q . & Popd"
Delete="%%T"
GUIMode="2"
;!@InstallEnd@! Содержимое самого архива может быть любым.
Люди много читал данный форум но не увидел Можно ли выполнять какие либо действия например выполнять командную строку перед распаковкой файлов.
заранее спасибо.
можно использовать такой файл конфигурации: »
Отлично, всё работает. Убеждаюсь , что у модуля большие возможности ,
а у Вас, gora, большой опыт и навыки . Спасибо!
Насколько я понял механиз работы :
- распаковывается модуль в корень системного диска
- запускаются поочерёдно консольные окна с последующим автоматическим самозакрытием, но предварительно отработав команду на удаление всего содержимого из указанных директорий
- самоудаление содержимого распакованного модуля после его отработки с директории распаковки
- скрытый графический режим
END :)
Приветствую, уважаемые!
Помогите, пожалуйста, в решении следующего вопроса:
есть архив со множеством мелких программок (конкретно программы от nirsoft в количестве 130 шт). Хочу сделать sfx архив, чтобы его можно было запускать, указав имя или маску файлов. То есть, чтобы они не все извлекались, а только нужные, иначе очень долго получится. После извлечения - запускалась заданная программа. После отработки - удалялся временный каталог. Такое возможно с данным модулем?
PS: сейчас они лежат в uha архиве, извлекаются по одиночке, для каждой программы свой батник, что очень неудобно.
gek20080402
10-06-2010, 13:48
Добрый день уважаемые форумчане столкнулся с такой задачей в 7z проблема в том что мне нужно извлекать базы данных в определнную папку которая называетя law! оболочка для базы данных всегда устанвливается на диск с и тоже в папку law а вот базы данных в зависимости от размера жесткого диска (так как базы очень большие более 15 гигов) приходится их устанвливать на другие диски где больше места делается это с учетом того что базы постояно растут и обновляются!!!
Теперь собсвенно вопрос можно ли реализовать в 7 zip чтобы он искал путь автоматически папку law но извлекал архивы в ту папку где обьем больше 10гигов
Заранее спасибо за ваши ответы
Хотя бы подскажите где начать рыть а дальше я сам как нить разберусь
gek20080402, вот здесь посмотрите http://forum.oszone.net/forum-102.html
gek20080402
11-06-2010, 08:18
Bond01,
Спасибо поищу там если не найду то создам там свою ветку
Oleg_Sch
15-06-2010, 13:29
Очередное обновление.
1.4 alpha (сборка 1774) 06.06.10
# Использован исходный код 7-Zip версии 9.14 beta от 4 июня 2010 г.
+ Проверка необходимого для процесса распаковки: свободного место на диске и размера физической памяти
+ Параметры 'WarningTitle', 'MiscFlags' в конфигурационном файле
+ Ключ '-mfX'
1.4 alpha (сборка 1704) 28.03.10
# Использован исходный код 7-Zip версии 9.12 beta от 24 марта 2010 г.
1.4 alpha (сборка 1698) 22.03.10
# Использован исходный код 7-Zip версии 9.11 beta от 15 марта 2010 г.
* Исключена привязка к msvcr80.dll, ее наличие в системе более модулю не требуется (DrGrechkin:forum.oszone.net)
* Изменена логика передачи параметра из командной строки в первую команду запуска программ. Параметр передается в первую команду, которая реально может быть выполнена с учетом разрядности системы и примененных префиксов 'x64', 'x86'. (gora:forum.oszone.net)
Пример тестовой wiki, показывает, что на соучастие не стоит особо надеяться, но все же может найдутся энтузиасты.
1. Повторюсь, есть wiki (http://7zsfx.info/ru/wiki/), можете наполнять ее, можете создать FAQ, примеры конфигураций и т.д. Сам я заниматься этим не буду, отвечу только на конкретные вопросы, подправлю баги сайта wiki, которые найдутся.
2. Создал SVN репозиторий (тоже пока в тестовом режиме). Те, кто "в теме", поймут о чем я.
Репозиторий модуля:
svn://svn.7zsfx.info/7zsfxmod/
http://svn.7zsfx.info/7zsfxmod/
Так же возможен websvn http://svn.7zsfx.info (http://svn.7zsfx.info/)
Анонимный доступ только для чтения, если кто изъявит желание создать собственную ветку или добавить свою модификацию в основную, пишите мне в почту или ПМ и я предоставлю доступ на запись.
Пример тестовой wiki, показывает, что на соучастие не стоит особо надеяться, но все же может найдутся энтузиасты. »
НИчего не смыслю в wiki, но пару страниц все таки сделал (но с ошибками)
Oleg_Sch
16-06-2010, 12:12
НИчего не смыслю в wiki, но пару страниц все таки сделал (но с ошибками) »
Спасибо, я заметил еще вчера. Хоть я и стал уделять модулю гораздо меньше времени, его развитие мне небезразлично.
Таких бы еще "человек несколько" ;)
P.S. а ошибки могут увидеть другие и, при желании, подправить. Для того и ставил wiki
Oleg_Sch
27-06-2010, 12:05
Обновление:
1.4 beta (сборка 1795) 27.06.10
* Некорректная работа ключа '-mf'
* Некорректное сообщение об ошибке перезаписи файлов, если у пользователя недостаточно прав
1.4 beta (сборка 1794) 26.06.10
+ Копирайт (ключ '-sfxversion')
1.4 beta (сборка 1791) 23.06.10
# Использован исходный код 7-Zip версии 9.15 beta от 20 июня 2010 г.
1.4 alpha (сборка 1774) 06.06.10
# Использован исходный код 7-Zip версии 9.14 beta от 4 июня 2010 г.
+ Проверка необходимого для процесса распаковки: свободного место на диске и размера физической памяти
+ Параметры 'WarningTitle', 'MiscFlags' в конфигурационном файле
+ Ключ '-mfX'
Модуль версии 1.4.0 переведен в 'beta', в дальнейшем только исправление ошибок и обновление исходников архиватора.
Oleg_Sch
27-06-2010, 15:30
С учетом того, что ветку 1.4 я заморозил, начал новую 1.5
Для тех, кто хочет поучаствовать в тестировании, прямые ссылки
http://7zsfx.info/develop/7zsd_150_1798_x86.7z
http://7zsfx.info/develop/7zsd_150_1798_x64.7z
Новшеств 2:
1. Надеюсь, побеждена "проблема дочерних процессов"
Теперь модуль отслеживает ВСЕ процессы, которые являются потомками основного запущенного (или его потомков).
Для того, чтобы использовать эту возможность, добавлен новый префикс 'waitall', нпр
RunProgram="waitall:setup.exe"
будет ожидать завершения как самого setup.exe, так и порожденных им процессов.
2. Проблема "прав администратора", а с новыми ОС и еще UAC
Теперь модулю можно указать "для работы мне необходимы права администратора". Он проверит, и если прав недостаточно, выдаст диалог "Run As" или предупреждение UAC о "Разрешить внесение изменений...".
Если пользователь вводит логин администратора или соглашается с запросом UAC, модуль осуществляет всю дальнейшую деятельность с правами админа.
Включается данная функция с помощью нового значения параметра "MiscFlags" - 4 (или ключом командной строки "-mf")
MiscFlags="4"
sfx.exe -mf+4
Данная "фича" проверялась только на домашней машине Windows7 x64, поэтому дополнительное тестирование необходимо. Буду рад всем, кто отпишется. Как уже просил раньше, об успешных результатах писать в почту или ПМ, о проблема - в ветку форума, чтобы все знали. В обоих случаях желательно с конфигурационным файлом (если есть приватные данные - затереть).
p.s.
Скажу честно, я все время ожидал помощи. Ее как не было, так и нет. Справку делает один gora, призыв к правке wiki закончился разовой правкой одним jentoso. Мои личные потребности в модуле закончились более 2 лет назад, если он и нужен мне, то редакции трехлетней давности мне вполне достаточно. Сейчас он пишется для вас. Если так будет продолжаться и дальше - я его заброшу. Не буду расписывать свои финансовые расходы (и уж тем более промолчу о потраченном времени), доходов от него никогда не было. Был голый "энтузяазим", который держался на "моральном удовлетворении". К сожалению, он иссякает и версия 1.5 скорее всего станет последней. Пока я еще в деле, но обещать ничего не буду.
ArtXGroup
29-06-2010, 01:40
Пожалуйста, подскажите! Уже всю голову сломал.
"Помощник по совместимости программ" всегда выдаёт сообщение после завершения всех процессов в SFX-архиве.
Как от него избавиться?
Вот config:
;!@Install@!UTF-8!
Title="7-ZIP SFX Archive"
Progress="no"
GUIFlags=""
OverwriteMode="2"
InstallPath="%temp%"
ExtractPathText="Select extraction path"
ExtractPathTitle="7-ZIP SFX Archive"
ExtractCancelText="Cancel"
RunProgram="nowait:\"wscript\" %%T\\run.vbs"
;!@InstallEnd@!
Habetdin
29-06-2010, 01:47
Как от него избавиться? »
Отключить (http://winreview.ru/Poleznosti/457/Izbavlyaemsya-ot-soobsheniya-Eta-programma-vozmozhno-ustanovlena-nepravilno-v-Windows-7-i-Windows-Vista) его :happy:
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC