Войти

Показать полную графическую версию : Модифицированный SFX модуль 7-Zip'а для установок


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 [73] 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Limonica
24-04-2013, 20:08
При паковке 7z есть опция "Шифровать имена файлов", скажите как выставиь эту опцию в консольной версии пакера?

gora
24-04-2013, 20:18
-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

j7n
09-06-2013, 14:43
Подскажите, можно ли добавить 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?

gora
10-06-2013, 18:27
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\\"

gora
01-07-2013, 12:50
В командной строке путь должен завершаться двойным слэшем, если он (путь) с кавычками.
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
...

Кто-нибудь сталкивался?

gora
01-07-2013, 18:05
Где же я рантайме 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удя по исходникам, все параметры командной строки должны быть аналогичны параметрам конфига. Конфиг же явно де-эскейпится.

Anton23
08-07-2013, 00:31
Здравствуйте.У меня вот такая проблема...Создал самоудаляющийся архив с помощью модифицированного модуля.Архив удаляет сам себя как положено,но почему то автоудаление не срабатывает в папках с кириллицей в названии и на рабочем столе (думаю тоже связано с русскими путями).Это как-то решается?

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