Войти

Показать полную графическую версию : Модифицированный 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

sLiDeR-X
11-01-2009, 12:11
Oleg_Sch, я тут заметил вот какую вещь:
в диалоге установки 7ZSD_LZMA_Dialogs.sfx (2004 диалог) кнопка "далее" активна, а кнопка "назад" - нет.
это сделано специально или все же будет правильно сделать кнопку "далее" неактивной
заранее спасибо

lorents
11-01-2009, 16:18
такой вопрос
а как защитить созданный sfx архив?

gora
11-01-2009, 16:34
это сделано специально или все же будет правильно сделать кнопку "далее" неактивной »Правильнее эту кнопку сделать неактивной. Не нужные кнопки вообще можно удалить из диалогов.
как защитить созданный sfx архив? »Ни как! Модифицированный модуль не поддерживает шифрование.

batya15
11-01-2009, 21:51
как указать каталог распаковки из командной строчки и вообще возможно ли такое

gora
11-01-2009, 21:56
как указать каталог распаковки из командной строчки »Большинство параметров может использоваться в качестве ключей командной строки при запуске SFX архива....
Одноименные параметры в файле конфигурации при этом будут переназначены (параметры в командной строке имеют приоритет), отсутствующие - будут добавлены. Возможные варианты записи параметров в командной строке:

sfx.exe -InstallPath="%ProgramFiles%\\IEPro"
sfx.exe -SetEnvironment="Var1=E:\\totalcmd" -SetEnvironment="Var2=%%T\\"
sfx.exe -FinishMessage="new_finish_message"
sfx.exe -InstallPath="%Path7z%\\7zSFX_Tools" -FinishMessage="7z SFX Tools установлен!" -ai -gm2 -fm20

katok888
11-01-2009, 22:47
Вот имеется такой .cmd для запуска установки Avira Antivir:
@ECHO OFF
start /wait %windir%\Temp\Avira\basic\setup.exe /inf="%windir%\Temp\Avira\setup.inf"
taskkill /IM avscan.exe /F /T
Как это правильно прописать в файле конфигурации? Пробовал разные варианты, не цепляется setup.inf
Пришлось остановиться на кмд.

;!@Install@!UTF-8!
Title="Установка Avira AntiVir Professional"
InstallPath="%windir%\\Temp\\Avira"
RunProgram="hidcon:%windir%\\Temp\\Avira\\Avira.cmd"
Delete="%windir%\\Temp\\Avira"
GUIMode="2"
; This SFX archive was created using "Button for creation and work with 7z SFX archives in Total Commander v.11.2" 30.12.2008 21-24. The last version of "Button" you can find on http://buttontc.7zsfx.info
;!@InstallEnd@!как обойтись без кмд?

gora
11-01-2009, 23:12
как обойтись без кмд? »Попробуйте так:;!@Install@!UTF-8!
Title="Установка Avira AntiVir Professional"
InstallPath="%windir%\\Temp\\Avira"
RunProgram="%windir%\\Temp\\Avira\\basic\\setup.exe /inf=\"%windir%\\Temp\\Avira\\setup.inf\""
RunProgram="taskkill /IM avscan.exe /F /T"
Delete="%windir%\\Temp\\Avira"
GUIMode="2"
;!@InstallEnd@!

v12345
12-01-2009, 10:09
В SetEnvironment прописана переменная my-path, ссылающаяся на Мои документы. InstallPath и несколько Shortcut используют эту переменную.

Из командной строки хочу передать альтернативный my-path: если вызываем без параметра, то распаковывам по умолчанию в Мои документы, а если надо по другому пути, то по логике справки вроде нужно так:
install.exe -SetEnvironment="my-path=d:\\newpath"

При этом InstallPath этот новый путь подхватывает, а все Shortcut по-прежнему ведут на первоначальный путь, который зашит в самом конфиге. Так задумано или это ошибка? Есть ли альтернативные варианты решения той же задачи? Вер. 1.3.1240

Oleg_Sch
12-01-2009, 17:02
v12345, проблему понял. Постараюсь в ближайшие день-два закрыть.
А вот за это я перед всеми извиняюсь, т.к. обманул
Вкралась ошибка, которую сегодня обнаружил gora, поэтому "любой" не получится
К завтрашним 14-15 МСК постараюсь исправить и выложить новую версию уже на основе исходников 7-zip'а 4.64 »
Обманул дважды. Но все же...
http://7zsfx.info/tmp/7zsd_20090112_1263.rar
это временный/промежуточный вариант. Но он на основе 4.64 и подмена диалогов должна работать в любом из вариантов модуля.
Тестируйте. У меня на ближайшие 2 дня еще 2 задачи по части модуля, потом собираюсь выложить "официально". Так что, если кто чего найдет - сразу сообщайте.

Dmitry_K
12-01-2009, 18:32
Oleg_Sch, планируется ли поддержка модулем шифрования (чтоб он мог распаковывать запароленные архивы)?

katok888
12-01-2009, 19:09
gora, спасибо все сработало.!!!!

Oleg_Sch
12-01-2009, 23:54
планируется ли поддержка модулем шифрования (чтоб он мог распаковывать запароленные архивы)? »
В ближайшее время - "нет". Далеко заглядывать не могу / не хочу :(

ya158
13-01-2009, 20:33
Oleg_Sch,
Спасибо за модуль.
Но у меня появилась небольшая хотелка:
Насколько я понял в модифицированный модуль входит утилита hidcon.exe. Нельзя ли добавить возможность копирования/создания этой утилиты в папке Windows\system32. Я, конечно, понимаю, что можно положить при необходимости эту утилиту в сам архив и потом скопировать куда нужно. Но элегантнее будет сделать это силами самого модуля. Ну и конечно же нужен флаг "копировать/не копировать".
Заранее спасибо.

Oleg_Sch
14-01-2009, 12:48
Насколько я понял в модифицированный модуль входит утилита hidcon.exe. Нельзя ли добавить возможность копирования/создания этой утилиты в папке Windows\system32 »
Это невозможно, т.к. hidcon в модуле является частью кода, а не отдельным ехе-ником, и отдельно не его выдернишь. Так что остается только положить при необходимости эту утилиту в сам архив и потом скопировать куда нужно »

Pozia
14-01-2009, 21:12
Насколько я понял в модифицированный модуль входит утилита hidcon.exe. »
то есть можно сам hidcon.exe не класть в SFX модуль?? И так будет работать? метода записи при этом тот же?

RunProgram="hidcon:run.cmd"

Так?

YuriPet
14-01-2009, 21:16
Pozia, абсолютно "в тютельку"!.. :)

gora
14-01-2009, 21:16
то есть можно сам hidcon.exe не класть в SFX модуль?? И так будет работать? метода записи при этом тот же? »Именно так!
hidcon - это префикс в синтаксисе модифицированного модуля, а не название одноименной утилиты и саму утилиту в архив класть не требуется.

Pozia
14-01-2009, 21:23
YuriPet, gora, вот я Балда Ивановна. Все кладу и кладу в SFX этот hidcon.exe :)

LonerD
15-01-2009, 00:37
Pozia, ты не один такой, кто ложил hidcon.exe в архив. Пользуюсь Кнопкой полтора года, а тщательно почитать документацию руки дошли только месяц назад :closed-to

SAOPP
19-01-2009, 16:53
Олег, появилась небольшая необходимость при работе с ярлыками, что скажешь по следующему поводу, реализуемо ли подобное?

Значит если описать, что нужно, то примерно будет выглядеть это так: есть автоустановка (несколько например), в каждой из них, хотелось бы создавать "свои" ярлыки, а не подхватывать "общие", при этом если в автоустановке указаны ярлыки - общие автоматически не будут выполнены... О чём я?

Вот пример конфига:
;!@Install@!UTF-8!

;ОБЩАЯ УСТАНОВКА
RunProgram="LS\\LS.msi /quiet TRANSFORMS=LS\\1049.mst"
RunProgram="hidcon:REG ADD \"HKCU\\Software\\LS\\LSCP\" /v \"RunAtLogin\" /t REG_DWORD /d 0 /f"
RunProgram="hidcon:REG ADD \"HKCU\\Software\\LS\\LSCP\\ELCU\" /v \"UseBoostedSettings\" /t REG_DWORD /d 1 /f"
RunProgram="hidcon:REG DELETE HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run /v \"LSCP\" /f"
RunProgram="hidcon:DEL /F /Q \"%ALLUSERSPROFILE%\\Рабочий стол\\LS.lnk\""
;КОНЕЦ ОБЩЕЙ УСТАНОВКИ

;АВТОУСТАНОВКИ
AutoInstall1="LSDU\\LSDU.msi /quiet"
AutoInstall2="LSSL\\LSA.msi /quiet TRANSFORMS=LSSL\\1049.mst"
AutoInstall3="LSTL\\LSTL.msi /quiet TRANSFORMS=LSTL\\1049.mst"
AutoInstall4="LS\\LS.msi /quiet TRANSFORMS=LS\\1049.mst"
AutoInstall4="LSDU\\LSDU.msi /quiet"
AutoInstall4="hidcon:REG ADD \"HKCU\\Software\\LS\\LSCP\" /v \"RunAtLogin\" /t REG_DWORD /d 0 /f"
AutoInstall4="hidcon:REG ADD \"HKCU\\Software\\LS\\SCP\\ELCU\" /v \"UseBoostedSettings\" /t REG_DWORD /d 1 /f"
AutoInstall4="hidcon:REG DELETE HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run /v \"LSCP\" /f"
AutoInstall4="hidcon:DEL /F /Q \"%ALLUSERSPROFILE%\\Рабочий стол\\LS.lnk\""

;Ниже, команда (ПРИМЕР) для создания ярлыка ТОЛЬКО при установке -ai4, ЕСЛИ такая команда присутствует в АУ (любой), то ОБЩИЕ ЯРЛЫКИ не отрабатываются.
AutoInstall11="Shortcut="26, {%CommonProgramFiles%\\LS\\LSDU.exe}, {}, {Microsoft\\Internet Explorer\\Quick Launch}, {}, {LSDU}, {}, {}, {0}""
;КОНЕЦ АВТОУСТАНОВОК

;ОБЩИЕ ЯРЛЫКИ
Shortcut="26, {%CommonProgramFiles%\\LS\\LSCP.exe}, {}, {Microsoft\\Internet Explorer\\Quick Launch}, {}, {LSCP}, {}, {}, {0}"
;КОНЕЦ ОБЩИХ ЯРЛЫКОВ
GUIMode="2"
;!@InstallEnd@!
Т.е. думаю предельно понятно я выразился, для создания ярлыка в АУ необходимо указать всё тоже самое как для обычного создания ярлыка, но только с указанием, что этот ярлык относится и будет выполнен ТОЛЬКО при отработке АУ -ai11. Взято с потолка как аналог общих ярлыков: AutoInstallX="Shortcut=", {}, {}, {}, {}, {}, {}, {}, {}"".

Уж больно неудобно получается, поскольку сейчас приходится использовать сторонние тулзы, как вариант в текущем конфиге поможет только nircmd, чего уж никак не хочется :)

Какие будут комментарии, реализуемо?




© OSzone.net 2001-2012