Показать полную графическую версию : Модифицированный SFX модуль 7-Zip'а для установок
Limonica
24-04-2013, 20:08
При паковке 7z есть опция "Шифровать имена файлов", скажите как выставиь эту опцию в консольной версии пакера?
-mheТолько какое отношение это имеет к модулю? :dont-know
sLiDeR-X
16-05-2013, 14:16
Кто сталкивался с некорректной работой флага MiscFlags="4" ?
На ХР диалоговое окно появляется у пользователя с ограниченными правами, на 7 и 8 нет.
Есть ли метод работы или это так и осталось неисправленным?
Crazy Noise
22-05-2013, 17:40
Шапочку поправьте!
Кнопка для работы с 7z SFX архивами в Total Commander-е находится здесь (автор - gora) »
http://forum.oszone.nehttp//forum.oszone.net/misc.php?do=bbcodet/thread-83838.html
http://forum.oszone.net/thread-83838.html
Подскажите, можно ли добавить vertical scroll bar в поле BeginPrompt чтобы включить там больше текста (описание программы). Хочу мигрировать с WinRAR, на SevenZip и исползовать больший словарь сжатия, но пока не нашёл аналог его SFX модулей.
Пример (http://dl.dropboxusercontent.com/u/88902520/screens/sevenzip-sfx-winrar-comparison.png)
frankiesimon
10-06-2013, 18:11
Hi everyone (English time again I'm afraid),
I'm having trouble with configuring a RunProgram command. My archive contains a folder with spaces in the name.
For example: I compressed a folder called "folder with spaces" and inside I threw in uTorrent.exe.
My SFX config file says:
RunProgram="folder with spaces\\uTorrent.exe"
I do my copy /b command to create the executable file.
When I try to run it I get this error: Error during execution "folder with spaces\uTorrent.exe". The system cannot find the file specified.
This only happens if the folder name has spaces, if I do the same with a no-spaces folder, it works fine.
Am I doing something wrong?
frankiesimon
;!@Install@!UTF-8!
RunProgram="\"folder with spaces\\uTorrent.exe\""
;!@InstallEnd@!Для 'RunProgram' и всех вариантов 'AutoInstall'-ов МОЖНО/НУЖНО заключать путь и имя исполняемой программы в дополнительные кавычки.
МОЖНО, даже если имя и путь к исполняемому файлу НЕ СОДЕРЖАТ пробелов, НУЖНО, если СОДЕРЖАТ пробелы, т.к. имя и путь к исполняемому файлу формируются ПОСЛЕ разбора переменных среды. Например:
RunProgram="nowait:%ProgramFiles%\\test.exe /s"
В НАПИСАНИИ имя и путь к исполняемому файлу не содержит пробелов, но после подстановки оно МОЖЕТ содержать пробелы. Поэтому лучше всегда писать так:
RunProgram="nowait:\"%ProgramFiles%\\test.exe\" /s"
Префиксы и ключи исполняемой программы в дополнительные кавычки НЕ ВКЛЮЧАЮТСЯ.
frankiesimon
10-06-2013, 18:43
AH! Thank you! Sorry for the RTFM question.
spectat0r
15-06-2013, 20:12
del
Warlock78
01-07-2013, 11:04
Добрый день.
Столкнулся с проблемой экранирования символов задании InstallPath из командной строки.
Вызов распаковки происходит из msi инсталляции и путь установки задается из неё же через командную строку.
Путь инсталляции задан не экранированным путем и конвертировать его не совсем удобно.
Есть ли аналогичный SFX модуль, где можно задать путь без экранирования или может быть можно отключающий экранирование в текущем какм-либо секретным ключом?
Еще раз отмечу что экранирование мешает именно в командной строке в параметре InstallPath.
Спасибо.
Warlock78
01-07-2013, 12:37
Разобрался.
В командной строке не нужно экранирование.
Ошибка была в одинарном завершающем слэше пути.
В командной строке путь должен завершаться двойным слэшем, если он (путь) с кавычками.
Arch.exe -InstallPath="c:\Path with spaces\Dir\Files\\"
В командной строке путь должен завершаться двойным слэшем, если он (путь) с кавычками.
Arch.exe -InstallPath="c:\Path with spaces\Dir\Files\\" »
Вывод неправильный. Все слеши в пути должны быть двойными (правило лидирующего слеша)! :read:
Warlock78
01-07-2013, 15:38
Так и есть. Заменил в путе "\temp" на "<tab>emp" :)
Плохо. Где же я рантайме msi буду брать путь с экранированными слешами :) CustomAction для этого дела писАть не айс.
Тогда вопрос остается в силе: существует ли альтернативный sfx модуль с возможностью задания пути распаковки (без экранирования) из командной строки для тихой автоматической установки?
Путь передается из msi.
Попробовал пересобрать sfx модуль 2005 студией под Win7 SP1 x64 - лезут ошибки:
Error 1 error C2061: syntax error : identifier 'TBPFLAG' c:\users\downloads\7zsd_src_150_2712\7zsfxmod\sources\SfxDialogs.h 157
...
Кто-нибудь сталкивался?
Где же я рантайме msi буду брать путь с экранированными слешами »
Какое отношение имеет msi к параметру модуля InstallPath? :dont-know Тогда вопрос остается в силе »
1 Приведите свой конфиг, без него вопрос не имеет смысла.
2 Вопросы по конфигам нужно задавать здесь (http://forum.oszone.net/thread-230888.html).
Warlock78
01-07-2013, 18:22
Дело в том, что я использую sfx-архив, вложенный в msi, так как от очень большого количества ресурсных файлов (50 000+) msi-ю становится печально.
Во время установки msi sfx-архив распаковывается во временную папку и ему передается параметром командной строки путь его установки. Ес-но путь обычный, а не экранированный. Получить экранированный путь в msi достаточно трудоемко. Не представляю как получить его, кроме написания функции в dll (на с++, custom action). А это последнее, трудоемкое и наиболее глючное средство.
По конфигу вопросов нету. В нем всего 3 строки и всё понятно, но, на всякий пожарный, привожу.
!@Install@!UTF-8!
InstallPath="Files"
RunProgram=""
GUIMode="2"
;!@InstallEnd@!
spectat0r
02-07-2013, 06:33
Warlock78
А вообще-то и так должно работать: Arch.exe -InstallPath="c:\Path with spaces\Dir\Files"
Warlock78
02-07-2013, 09:42
Оно работает, только если не встречается имя каталога, начинающегося на строчную "t", то есть а-ля таб "\t".
Думаю, что и cо строчной "n" такая же песня.
Временно оставил -InstallPath="c:\Path with spaces\Dir\Files\\", но где гарантия что пользователь при установке не захочет поставить msi в каталог, начинающийся с "t" или "n". От последнего слеша мне тоже не избавиться. Приходится дублировать. Но это нормально. Так и в "cmd" путь эскейпится.
Может кто-нибудь подскажет как пересобрать модуль?
#define _SFX_USE_WIN7_PROGRESSBAR /* Windows 7 progress bar on taskbar button */
/* require latest SDK */
Какой SDK нужен? Microsoft Windows SDK for Windows 7 and .NET Framework 4?
Cудя по исходникам, все параметры командной строки должны быть аналогичны параметрам конфига. Конфиг же явно де-эскейпится.
Здравствуйте.У меня вот такая проблема...Создал самоудаляющийся архив с помощью модифицированного модуля.Архив удаляет сам себя как положено,но почему то автоудаление не срабатывает в папках с кириллицей в названии и на рабочем столе (думаю тоже связано с русскими путями).Это как-то решается?
Oleg_Sch
16-07-2013, 13:42
Попробовал пересобрать sfx модуль 2005 студией под Win7 SP1 x64 - лезут ошибки:
Error 1 error C2061: syntax error : identifier 'TBPFLAG' c:\users\downloads\7zsd_src_150_2712\7zsfxmod\sources\SfxDialogs.h 157 »
Сам собираю VS2005
Вариант 1: Используйте Platform SDK (или как он сейчас обзывается), поддерживающий Windows7
Вариант 2: отключите в исходниках при сборке возможности Windows7
К сожалению, с налету не вспомню всего, забросил я это дело :(
Anton23, попробую на недельке проверить, если так - буду править.
icq99999999
09-08-2013, 15:16
интересует ключ тихой распаковки(если такой есть) для утилиты 7zsplit
пробовал так, но при этом нужно нажать "OK"
7zsplit 1.exe -c -a -m
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.