Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   Модифицированный SFX модуль 7-Zip'а для установок (http://forum.oszone.net/showthread.php?t=51547)

Oleg_Sch 11-07-2005 06:20 340041

Модифицированный SFX модуль 7-Zip'а для установок
 




Модифицированный SFX модуль 7-Zip'а для установок

Версия 1.6.1 Stable, сборка 3873 (5 марта 2016 г.)
Версия 1.7.0 Develop, сборка 3873 (5 марта 2016 г.)


Модифицированный модуль предоставляет широкие возможности для создания SFX архивов. Используя модуль, Вы можете:
  • указывать желаемый путь распаковки содержимого архива
  • использовать как абсолютные, так и относительные пути
  • выбирать между интерактивной, "тихой" и скрытой распаковкой
  • контролировать внешний вид диалоговых окон и текста в них
  • конфигурировать различные варианты установки запакованных приложений, впоследствии выбирая нужный сценарий ключом командной строки
  • конфигурировать установку нескольких (до 10) разных запакованных приложений, впоследствии выбирая нужные приложения и последовательность их установки ключом командной строки
  • просто распаковать архив в желаемую папку
  • запускать после распаковки последовательно несколько файлов (.exe, .msi, .reg и т.п.) и использовать его для установки приложений
  • заменить, применяемые ранее для установки, .bat или .cmd файлы и исключить необходимость использования "StartX.exe", "msistub.exe" и подобных утилит
  • создавать ярлыки к программам и назначать значки для этих ярлыков по своему усмотрению
  • использовать архивы с разными методами сжатия (LZMA, LZMA2, Deflate, PPMd), которые предлагает архиватор 7-Zip
  • удалять как отдельные файлы, после их использования, так и сам SFX архив
  • и многое другое...

Домашняя страница | Страница загрузок
Зеркалa:
Веб-архив сайта
Яндекс.Диск - полный набор
OneDrive - полный набор, пароль: 7zsfxmod
OneDrive - только модули SFX (7zsd_tools_170_3900.7z)


Обсуждение GUI (графической оболочки) для создания 7-zip SFX с модифицированным модулем ведется в этой теме. Автор GUI - hobbeat.

Кнопка для работы с 7z SFX архивами в Total Commander-е находится здесь (автор - gora, вечная память)

Файлы конфигурации 7z SFX обсуждаются в этой теме (автор - gora)

Отдельное спасибо ArtXGroup за финансовую поддержку


Теперь модуль будет в двух версиях:
1. Stable. В дальнейшем в нем из изменений будет только исправление ошибок (надеюсь их не будет) и обновление кода самого 7-Zip до последней стабильной версии.
2. Develop->Alpha->Beta. Исходные коды 7-Zip - последняя бета версия самого архиватора, добавление новых функций.

FAQ
читать дальше »



Q:
Цитата:

Как извлекать определенные папки, в зависимости от разрядности системы/варианта установки и т.д
A: Такой возможности нет, SFX архив распаковывается полностью


Q:
Цитата:

а можно ли для sfx архива задавать пароль который при обычном запуске sfx архива как бы не запрашивался и сам вводился, а при попытке просто распаковать архив этот пароль запрашивался
A: Нельзя. Модули с данной поддержкой официально недоступны. Пока, пользуясь своей "властью", я даю такие модули только тем, кто мне помогает/прикладывает какие-то усилия в развитии самого модуля, справки к нему и сопутствующих файлов. Считайте это моим эгоизмом.


Vadikan 11-07-2005 07:14 340047

Oleg_Sch
Спасибо, очень интересно. Сделайте конфигурационный файл для примера и снабдите комментариями, плиз.

Oleg_Sch 11-07-2005 08:06 340054

OK.
Пример номер 1 (с временной папкой):
Код:


;!@Install@!UTF-8!
BeginPrompt="Install this program ?"
ExtractTitle="Prepare for install..."
RunProgram="setup.exe"
AutoInstall="setup.exe /s"
GUIMode="1"
;!@InstallEnd@!

BeginPrompt - читаем хелп к 7Zip
ExtractTitle - при распаковке вместо заголовка в диалоге "0% Extracting" будет "0% Prepare for install..."
После окончания распаковки будет запущен setup.exe БЕЗ КЛЮЧЕЙ. Но если в окне запроса "Install this program ?" мы нажмем "Yes" ВМЕСТЕ С Shift'ом будет выполнен 'AutoInstall' вместо 'RunProgram', т.е. выполнится setup.exe /s. Точно такой же эффект будет, если в командной строке к нашему SFX архиву при запуске мы укажем -ai
GUIMode -
1 - показываем процесс распаковки (с заголовоком "Prepare for install..."), но убираем кнопку "Cancel" и "Закрыть", т.е. не даем пользователю прервать процесс распаковки, но пусть наблюдает.
2 - ПОЛНОСТЬЮ убираем диалог процесса распаковки. Он происходит молча.
После окончания распаковки выполняется 'RunProgram' (или 'AutoInstall', если выполнены условия описанные выше).
Если GUIMode не указан - диалог будет иметь стандартный (для 7Zip) вид, т.е. со всеми кнопками ("Cancel" и "Закрыть")
Указанный в конфиге GUIMode (или не указанный) может быть перезаписан при указании в командной строке ключа '-gmX'. Вместо 'X' может быть 0,1,2. 1 и 2 имеют тоже назначение, что и в GUIMode, 0 - переключает в стандартный режим со всеми конпками (родной 7Zip'овский).
В данном случае SFX модуль создает временную папку и УДАЛЯЕТ ее по окончанию выполнения 'RunProgram' или 'AutoInstall'

Пример номер 2 (с папкой установки):
Код:


;!@Install@!UTF-8!
BeginPrompt="Install this program ?"
RunProgram="setup.exe"
AutoInstall="setup.exe /s"
ExtractTitle="Prepare for install..."
GUIMode="1"
InstallPath="%PROGRAMFILES%\\test"
;!@InstallEnd@!

Все вышесказанное относится и к этому случаю, за исключением...
Распаковка архива производится в папку Program Files\test и содержимое этой папки по окончанию установки НЕ УДАЛЯЕТСЯ.
В режиме с 'InstallPath' наличие 'RunProgram' и/или 'AutoInstall' НЕОБЯЗАТЕЛЬНО. Если они не указаны - SFX модуль промолчит, если указаны - будут выполнены как в примере выше. Но в любом случае: сам SFX модуль данную папку и ее содержимое удалять не будет.
Кстати, обратите на слэш в пути - ОБЯЗАТЕЛЬНО указывать двойной!

Вот вроде пока и все. Может сумбурно, но как сумел...

Vadikan 11-07-2005 08:50 340069

Протестировал GUIMode="2" и ключ -ai с Adobe 7. Все работает, как заявлено. Просто замечательно! Теперь один и тот же архив можно использовать как в автоматическом режиме, так и в обычном. Это надо на MSFN, там все будут счастливы :-)

Oleg_Sch 11-07-2005 08:56 340073

У меня с англицким нелады, тока в режиме "ReadOnly" :-) Если есть желание - кинь, я, по мере возможностей, попробую поддерживать. Но первоначально перевести инструкцию и описание на нормальный английский - не смогу

P.S. Можешь подправить свою статью про создание SFX ;-)

Vadikan 11-07-2005 09:14 340083

Пусть местные товарищи потестируют пока, вдруг что всплывет. Я потихоньку readme переведу, у меня много работы на неделе будет, может через недельку запостим на MSFN.
Цитата:


P.S. Можешь подправить свою статью про создание SFX ;-)

Надо бы. Я просто ссылку дам на тему, т.к. расписывать это все в статье необязательно.
Ждем-с других утилит :)

Oleg_Sch 11-07-2005 09:56 340099

Положил пару утилит для запуска установок из SFX (конечно, не только из них, например hidcon я использую при запуске cmd-файлов на T12 из cmdlines.txt). По сравнению с другим, плюс у них один - размер. Смотреть там же - http://unattended.solta.ru

P.S. Скоро еще будет

Vadikan 11-07-2005 10:00 340100

Цитата:

например hidcon я использую при запуске cmd-файлов на T12 из cmdlines.txt)
Интересно, а то мы тут это как раз и обсуждаем :)

Oleg_Sch 11-07-2005 10:31 340109

Не знал, я дальше "Автоматической установки..." не лазил...Свой я написал давно, и использовал его еще в установке XP с SP1. Как и любой программист - заточил под себя, ничего лишнего (по размеру видно :-). Ща просто руки дошли положить. Можете и мой помучать :-) Обещаю оперативно подправлять, если что не так.

D@nil 11-07-2005 21:27 340231

Oleg_Sch
Спасиб полючился рульный SFX модуль 7Zip'а

TbMA 11-07-2005 22:56 340249

Ну вот что-то такое получилось
Цитата:

Modified version of the 7zip SFX module:

Configuration file:

InstallPath="path_to_extract"
Sets an extraction path. Environment variables (%SYSTEMDRIVE%, %PROGRAMFILES% etc.) are allowed, and will be replaced by their expanded values.
If you specify this parameter then 'RunProgram' is not required, all files will be simply extracted into that folder. If you specify 'RunProgram' – it will be executed.
Extraction folder will be NOT deleted at the end.

GUIMode="x"
Where x= 1 or 2 (always in double quotes, i.e. GUIMode="2")
1 – hide "Cancel" button (and “Close” button in the title bar), show extraction progress.
2 – do not show extraction dialog (silent mode)
This parameter can be overridden from the command line by specifying -gmX (see below)

AutoInstall="command_line_for_auto_install"
AUTOMATED installation mode, will be invoked if you:
1. Specify an "-ai" command line parameter (see below)
2. Click "Yes" in 'BeginPrompt' dialog (if it was specified) WHILE HOLDING Shift BUTTON.
That means that there are two modes – the usual 'RunProgram' mode and automated 'AutoInstall' mode. If you didn’t do anything mentioned above - 'RunProgram' will be used as a default.

ExtractTitle="new_title"
Allows setting an extraction window title, i.e. instead of "Extracting" - something like "Preparing to install" may be specified (do not forget about UTF-8)


There is also two new command line parameters:

-gmX – sets GUI-mode, where X:
0 – standard mode (native 7Zip dialogs, with "Cancel" and "Close" buttons).
1 – hides "Cancel" button (and "Close" button in the dialog title bar), shows extraction progress.
2 – hides the extraction dialog completely (i.e. silent mode).
This command line parameter OVERRIDES GUIMode specified in the configuration file.

-ai – automated installation
Specifies that configuration file 'AutoInstall' parameter will be used instead of 'RunProgram'.
If 'AutoInstall' is not specified – this command line parameter will be ignored.

Currently you cannot yet use environment variables in 'RunProgram' and 'AutoInstall'. This is a TODO.

Vadikan 12-07-2005 01:08 340268

TbMA
Good job! Это и будет readme.txt.

Oleg_Sch
Если выпускать публично вообще, и на MSFN в частности, то надо это делать все по взрослому, а именно под GNU LGPL, также как и сам 7-zip. Исходники (если имеются) тоже надо включить, иначе получится нарушение авторских прав.

Т.е. в readme можно включить что-то типа.
Цитата:

Modified version of the 7-zip SFX module for GNU 7-zip file archiver (http://www.7-zip.org/). The SFX module is released under GNU LGPL (http://www.gnu.org/)
В тонкости лицензии вникать не обязательно :)

Oleg_Sch 12-07-2005 01:32 340276

TbMA
Спасиб. Есть откуда плясать :) Но соглашусь с Vadikan'ом - пусть пока русскоязычное население потестирует недельку.
Vadikan
Цитата:

Если выпускать публично вообще, и на MSFN в частности, то надо это делать все по взрослому, а именно под GNU LGPL, также как и сам 7-zip
Согласен на все 100. Про лицензию я знаю, и поэтому на той же странице (http://unattended.solta.ru) лежат МОДИФИЦИРОВАННЫЕ исходники 7Zip'а. Все модификации можно увидеть поискав в файлах подстроку "Oleg_Sch", я все изменения метил.

Vadikan 12-07-2005 03:08 340300

Oleg_Sch
В общем, я потестировал еще немного :) У меня не получается применить параметр -ai если присутствует BeginPrompt (и возможно InstallPath). Пример: делаю два батника batch1.cmd и batch2.cmd - оба пингуют localhost и пишут результат в ping1.txt и ping2.txt соответственно. Пакую их оба в 7z, делаю конфиг файл такой
Код:

;!@Install@!UTF-8!
BeginPrompt="Run test file?"
ExtractTitle="Prepare for install..."
RunProgram="batch1.cmd"
AutoInstall="batch2.cmd"
InstallPath="C:\\Temp"
GUIMode="1"
;!@InstallEnd@!

Если запустить без параметров и кликнуть Yes - все ок, оба файла распаковываются в C:\Temp и первый отрабатывает.
Если запустить без параметров и кликнуть Yes удерживая SHIFT, то опять все ок, оба файла распаковываются в C:\Temp и второй отрабатывает.

A вот если запускать с параметром -ai, то появляется диалoг "Run test file?", т.е. silent установка не происходит. Если же откомментировать BeginPrompt, то при запуске без параметров отрабатывает первый файл, а при запуске с -ai отрабатывает второй - все как положено.

Это так и задумано, или я что-то напутал? Просто исходя из первого примера prompt не должен появляться при наличии параметра -ai, насколько я понял.

Oleg_Sch 12-07-2005 03:35 340301

Vadikan
Цитата:

Это так и задумано, или я что-то напутал?
Так было задумано :). Укажи в командной строке (помимо -ai) "-y" (без кавычек, естественно) - это родной ключ 7Zip SFX, ПОДАВЛЯЕТ вывод BeginPromt, подразумевая ответ "Yes". "-ai" ТОЛЬКО указывает использовать 'AutoInstall' вместо 'RunProgram'

Vadikan 12-07-2005 09:07 340326

Oleg_Sch
Понятно. Про -y я и не подумал. Просто зациклился на твоем примере, в котором BeginPrompt есть, и фразе
Цитата:

Точно такой же эффект будет, если в командной строке к нашему SFX архиву при запуске мы укажем -ai

Vid0 24-07-2005 03:44 343235

По поводу ExeTools.

Понравилось как замена StartX. Но если идти до конца - их можно сделать и поменьше на килобайт, уравняв секции по 512 и убрав мусор с хедера. Положи или пришли исходники – подправлю!

Кстати только убрав муссор архив сократился с 1027 до 926 байт ;-)

(Записать в ЕxecТools.uue и распаковать WinRAR'ом):
-------------------- ExecTools.uue --------------------------
begin 644 ExecTools.rar
M4F%R(1H'`#O0<P@`#0````````!B.G2`D"\`5P(````(```"5(4YO":[]C(=
M-0H`(````&AI9&-O;BYE>&4`\"8TE@@!40S,W\W!&Q-H@Y*Y*OULEY,+LHX$
MO"N2UEXP=!V1N6A7+&U'9(7C6XVG(V1MP23LA2<+22<8Q@R]+\"H6]*4EG"#
M*4+>%H3E2EX4O>SA0_4G2.CQUN1)AJ:;<DMXW^"%*/&DL%F>WR-%KWWE\92S
MVY[V9GC=P][%[3<%@;OM#4)&K$[,T&(4PTO,^>(U@HIR`L>JB;CEZ]P'DM?9
M=ZQCS='^9%2)G(R<M&#')"@R)$E,F4@1&5()%ISK%QB1Y,-!M;V]LU"EO'KN
MD'AC#A4_B'',XQEH(6K5[1U*Q*V:3E[9M&U>87Z_8ECU\8=5XI2L2^W30I;>
MAQ!!330<+9-#03$N3`L9&!OX%$!LC#@IP1'OK4*H5H/9S^7[S9]`\5I;63/N
MCB.0E[.JP<<R4TU<$S!TYR;/>:;(5*^G=P`3Y.#\CJM<G;&^JP7HYXSQRR91
MC*BC,2XYVPMJ4F:XOI6`4`H\WB2]WB6Y"1.E(SY5XHC'2\[%OM_>5%\QOD<C
MS?\4I;SIFBU:?_XICQJSF.MXOGL8*;F%LLHP48/IWI4=TZ+15NR$ZD[M%+C`
M5J;9;E7^-I\V74"4>>^4@U;/:C,IC]2CWN]PJXE6BPQ;<2L*E]&Y+559[9:I
M&9Y9%MO5S$V:'^Y$@NP/3+SX*'CH:]"`2DG1!EZR5MC7ZA#GAA9LE)#JP9$/
M-0`\SJ()N]"*GA%0"]1DPD$DA'<8Y$%0L.2CC19&6J7%RHR$),,I7**$%.N#
MTU3^4%L97P;58G4'CQRGCQ7""H.L[/Z[MXWZ#:I5FA9]`N?48I5TD)`P`,T`
M````"@```MU!50LKN_8R'34+`"````!M<VES='5B+F5X90#PS-&3Q/X%_=8?
M977M8C@-'5<BL/<%QJ)<`/B-19@"[RC!R-EP0Y%=GA8)D-9P6?0/*=[:R2Z/
ML^ZN>(6!!P[0X:GE8`AY@7Y5DE6KO5U_]H)TO0SF/UV#XHB`>5A1O_GU$+K9
ML,%'#1^,'KL/JR^RE1KVLPEPF"GXP`E=@_,WM$JO-?+F)MB`'[JRVN^)\-#8
MH;-#X5EM[E:<#@+Z^=9@+1X%.VNU_C]_=/?Z["'N89Z6<BI"<12>QC*59>PW
:'2BH:"$)L7H2^BDO$@L^@?U_5,0]>P!`!P!`
`
end
-------------------------------------------------------------

Oleg_Sch 25-07-2005 05:13 343364

Я, конечно, минималист, но не настолько :) чтобы править хедеры (можно вообще свой stub подсунуть), че ликовщик сделал - то и оставил. А секции и так на 512 байт, так что размер конечного exe-ника не уменьшится. Архив - да поменьше будет. Только в msistub можно совместить код и данные в одной секции - уменьшится на 512 байт, из-за строки "msiexec.exe /i %s". Если нужны исходники - в PM.

Debugger 25-07-2005 10:16 343399

Oleg_Sch

А можно ли облегчить добавление своей иконки в sfx-файл?

Oleg_Sch 25-07-2005 10:59 343415

Цитата:

Цитата Debby
А можно ли облегчить добавление своей иконки в sfx-файл?

Можно, и я над этим работаю. Будет мастер (wizard) по созданию/модификации установок на основе 7zip SFX, все параметры конфига можно будет сделать в привычном Windows GUI. В том числе и менять иконку. Но... :( Нехватка времени... Скорее всего чего-нить выложу после 14-15 августа.

TbMA 25-07-2005 19:50 343500

Перелопатил всю свою инсталляцию с помошью вышеописанного. Поскрывал все черные окошки hidcon'ом.
Все работает. Доволен страшно.

Спасибо! :)

ForestQ 08-08-2005 16:54 346671

Подскажите, а как вывести на рабочий стол ярлык одного из файлов после установки sfx-архива?

TbMA 09-08-2005 20:28 346971

ForestQ:
Сделать ярлык? В НТ реските была утилита shortcut.exe для создания и модификации ярлыков.

Vadikan 09-08-2005 20:30 346972

Альтернативно можно делать ярлыки при помощи nircmd http://www.nirsoft.net/utils/nircmd.html (это одна из многочисленных функций)

Вот фрагмент моего файла WPI для установки Media Player Classic
Код:

cmd1[pn]=['%CDROM%\\Software\\Media\\mplayerc.exe -ai -gm2 -y']
cmd2[pn]=['nircmd shortcut "%windir%\\system32\\mplayerc.exe" "~$folder.programs$" "Media Player Classic"']

Первая строка - запуск SFX, в котором лежат плеер и ini файл настроек. Конфиг файл:
Код:

;!@Install@!UTF-8!
BeginPrompt="Install Media Player Classic?"
RunProgram="mplayerc.exe /regvid"
AutoInstall="mplayerc.exe /regvid"
ExtractTitle="Prepare for install..."
InstallPath="%WINDIR%\\System32"
GUIMode="0"
;!@InstallEnd@!

Вторая строка - создание ярлыка в меню Программы.

Oleg_Sch 10-08-2005 09:18 347091

ТОРЖЕСТВЕНО ОБЕЩАЮ!!! Будет и создание ярлыков и подмена иконки и т.д. Сейчас уже готов АБСОЛЮТНО НОВЫЙ SFX модуль, написанный уже мной, чтобы не зависить от Игоря (ясно дело на основе его исходников). Обратная совместимость - само собой разумеется. Щас тока отдохну... До 16 августа буду в онлайне, если что - отвечу (пишите предложения и пожелания). Потом снова пропаду на неделю... Потом - выдам.

dimadr 17-08-2005 17:32 348730

Воспользовался данным модулем, всё классно, но вот один не проканал при установке Office2003sp1 из админской папки использовал:
;!@Install@!UTF-8!
BeginPrompt="Install this program?"
ExtractTitle="Preparing the installation..."
RunProgram="setup.exe"
AutoInstall="setup.cmd"
GUIMode="0"
;!@InstallEnd@!
setup.exe - работает отлично, а вот setup.cmd - не стартует и ругается хотя внутри там ничего особенного, а именно:
echo off
start /wait/b setup.exe TRANSFORMS=Unattended.MST /qb-&&pause
rd /s/q c:\Temp

Oleg_Sch 22-08-2005 10:23 349749

Цитата:

setup.exe - работает отлично, а вот setup.cmd - не стартует и ругается
С корабля на бал... Приехал полчаса назад...
А как именно ругается? Теоритически, все должно работать, если .cmd файл В КОРНЕ АРХИВА.
И насчет "/wait/b" - не уверен, но думаю нужен пробел.

dimadr 22-08-2005 13:29 349802

setup.cmd - естественно в корне
пишет ошибка 7zip.
Вообще если собирать Обычным компилятором или WinRarом то setup.cmd работает. Но ни тот ни другой не дают такой степени сжатия.
точнее напишу позже если надо

Oleg_Sch 22-08-2005 14:47 349817

Цитата:

пишет ошибка 7zip.
И больше ничего? Не может быть.
Цитата:

Вообще если собирать Обычным компилятором или WinRarом то setup.cmd работает
По крайней мере, "/wait/b" и пробелы тогда отпадают.
Цитата:

точнее напишу позже если надо
Надо.

dimadr 22-08-2005 15:03 349821

Использовал вот это и модуль 7zs.sfx размером 130кб
;!@Install@!UTF-8!
BeginPrompt="Install this program?"
ExtractTitle="Preparing the installation..."
RunProgram="setup.exe"
AutoInstall="setup.cmd"
GUIMode="1"
;!@InstallEnd@!

поставил GUIMode="1" ... и проблема решена.
Спасибо за участие.
з.ы. Интерисует замена иконок

Oleg_Sch 22-08-2005 16:02 349829

Цитата:

Цитата dimadr
поставил GUIMode="1" ... и проблема решена.

Странно... Это никак не должно влиять (GUIMode)... :(
Попробую проверить. Мне щас пару дней отойти от активного отдыха :) Потом (понедельник-вторник уже следующей недели) выложу новую версию SFX модуля с созданием ярлыков и еще парой-тройкой дополнений. Про замену иконки сроки не хочу говорить (окромя того, что ОНА ВСЕ-ТАКИ БУДЕТ), потому как с 29 августа у меня будет завал по основной работе (за отпуск накопилось :( ), но, еще раз говорю, - БУДЕТ. А пока - ResourceHacker или что-нить подобное

dimadr 23-08-2005 16:32 350131

Приношу свои извинения Oleg_Sch. Так как причина была в том, что запуск setup.cmd производился на Longhorn Vista Beta1. Как только собранный архив попробовал на других ОС все заработало. А вернулся к этому архиву случайно т.к. вышло обновление Обновление для Outlook 2003 Junk Email Filter (KB902953) и я его начал интегрировать и т.д. и т.п.
В общем сорри.

D@nil 25-08-2005 10:34 350640

Oleg_Sch
Могу помочь перевести документацию на англисский.

Oleg_Sch 25-08-2005 15:26 350756

Цитата:

Цитата D@nil
Могу помочь перевести документацию на англисский

Заранее спасибо. Как только выложу новую версию с русским описанием (текущую для меня сделали Vadikan & TbMA, за что им отдельный сенькс), обязательно обращусь.

Klop_ps 01-09-2005 17:16 352549

А можно полностью описать процес создания мод. sfx на примере, и что это за конфиг фаил, и куда и как его прописывать при создании sfx архива

Vadikan 02-09-2005 09:47 352695

Klop_ps
Справочник - Создание SFX + документация к модифицированному модулю.

Klop_ps 15-09-2005 00:21 355588

А как написать конф фаил, чтобы он распоковывался в ту папку где находится архив и после этого он удалялся?

zvezduk 17-09-2005 13:03 356139

Вопрос по hidcon.exe.
Код:

hidcon.exe setup.cmd -nw
По идее hidcon.exe должен закрываться не дожидаясь завершения setup.cmd (ключ "-nw"), но этого не происходит.

TbMA 17-09-2005 16:26 356175

zvezduk
Цитата:

По идее hidcon.exe должен закрываться не дожидаясь завершения setup.cmd (ключ "-nw"), но этого не происходит
a "hidcon.exe -nw setup.cmd" пробовал? ;)

zvezduk 19-09-2005 10:32 356479

Перепаковал все дистрибы. Пока все отлично работает и очень нравится. Ждем новой версии.

Debugger 03-10-2005 08:49 360963

Oleg_Sch

Вопрос такой: а возможно ли сделать возможность выбора из нескольких вариантов автоматической установки? Примерно так:

Код:

;!@Install@!UTF-8!
BeginPrompt="Install this program ?"
ExtractTitle="Prepare for install..."
RunProgram="setup.exe"
AutoInstall1="setup.msi /qb- TRANSFORMS=unattended1.mst"
AutoInstall2="setup.msi /qb- TRANSFORMS=unattended2.mst"
GUIMode="1"
;!@InstallEnd@!

И выставлять соответствующий ключ - "-ai1" или "-ai2".

Можно было бы реализовать в WPI разные варианты автоустановок, с разными вариантами unattended.mst, с одним и тем же перепакованным дистрибутивом.

dimadr 03-10-2005 13:17 361046

Именно, так я и сделал в WPI несколько конфигураций.
А сжато 7zip с единственным комментарием разархивироваться во временную папку %systemdrive%\temp, которая после отработки WPI удаляется.

Debugger 03-10-2005 15:39 361085

dimadr

Тоже вариант... :)

Но вариант с переделанным конфигом имхо более универсален и самодостаточен (о как!).

Oleg_Sch 08-10-2005 07:26 362560

Прежде всего, прошу прощения за длительное отсутствие и несоблюдение обещанных сроков :sorry:
Все-таки я чего-то накропал и положил на http://unattended.solta.ru/new/
В двух словах: создание ярлыков, удаление указанных файлов после установки, встроенный вариант hidcon'а, более гибкое управление диалогом распаковки, несколько вариантов автоматической установки.
Обновил readme, но, скорее всего, слишком сумбурно, мне проще отвечать на конкретные вопросы. Так что задавайте вопросы здесь, отвечать, надеюсь, буду оперативнее, чем все это писал.
Программа тестировалась только на уровне функций, которые нужны мне лично, и только в Windows XP. Я надеюсь на вашу помощь в этом деле.

Щас потихоньку возьмусь за иконки, но сроки обещать уже не хочу...

Vadikan 08-10-2005 09:29 362571

Oleg_Sch
Wow! Mного вкусного! :) Особенно мне понравилось
Цитата:

В командных строках ('RunProgram' и 'AutoInstall') ТЕПЕРЬ допускается использование переменных среды.
Также появилась новая возможность - скрывать консольные приложения. Для этого перед командной строкой необходимо указать "hidcon:".
и
Цитата:

ТЕПЕРЬ ключи <-ai> и <-aiX> АВТОМАТИЧЕСКИ подавляют вывод диалога BeginPromt, т.е. с ними можно не указывать <-y> (Vadikan ;-)
Разные варианты автоустановки это тоже очень удобно, ну а про ярлыки и говорить нечего :) Буду тестить на досуге, спасибо!

Oleg_Sch 08-10-2005 10:48 362579

Цитата:

Wow! Mного вкусного! Особенно мне понравилось
Функция Wow! к сожалению пока не реализована ;) Я считаю, что она не нужна. (В мелкософте это виртуальная машина (WindowsOnWindows) для исполнения 16-битных приложений в 32-битной среде и 32-битных в 64-битной)
Это шутка.
По существу. Жду конструктивной критики, предложений и баг-репортов

dimadr 08-10-2005 14:30 362608

Oleg_Sch
как насчёт изменения икон, вещь конечно несущественная, но глаз радует.

HWG 08-10-2005 22:20 362676

Помогите решить проблему:

1. с поcледним модулем стала появляться ошибка "Память не может быть read".
причем сначала происходит распаковка архива а потом появляется эта ошибка. с модулем от 11 июля такой ошибки не было.

Код:

;!@Install@!UTF-8!
InstallPath="%SystemDrive%\\oem"
ExtractTitle="Installing the files..."
GUIMode="1"
;!@InstallEnd@!

2. что нужно указать в InstallPath чтоб распаковать файлы в %SystemDrive%\ ?
3. как удалить средствами sfx сам sfx после выполнения всех действий? Delete="%SystemDrive%\\oem.exe" не помогает

Oleg_Sch 09-10-2005 01:47 362712

Цитата:

Цитата dimadr
как насчёт изменения икон, вещь конечно несущественная, но глаз радует

Выше я уже писал
Цитата:

Щас потихоньку возьмусь за иконки, но сроки обещать уже не хочу...
Уже занимаюсь.

HWG
Начну с конца

Цитата:

3. как удалить средствами sfx сам sfx после выполнения всех действий? Delete="%SystemDrive%\\oem.exe" не помогает
Коротко - никак. Потому как сам sfx в момент выполнения этой команды открыт и блокирован самой виндой от записи/удаления.
Но я подумаю над этим вопросом.
Спустя 20 минут: подумал, будет в понедельник.

Цитата:

2. что нужно указать в InstallPath чтоб распаковать файлы в %SystemDrive%\ ?
Признаю, была ошибка именно при распаковке в корень. Уже исправил, но выложу только в понедельник, где-то в 5-6 утра МСК.
На исправленом можно указывать и "%SystemDrive%" и %SystemDrive\\%

Цитата:

1. с поcледним модулем стала появляться ошибка "Память не может быть read".
причем сначала происходит распаковка архива а потом появляется эта ошибка. с модулем от 11 июля такой ошибки не было.
А вот это уже хуже :( Можно подробнее. Версия виндоус, полный конфиг, дословный текст ошибки. Я думаю лучше перейти в PM, а тут потом сообщим о результатах.

Oleg_Sch 10-10-2005 05:25 362884

Сделал пункты 2 и 3 из сообщения HWG. С первым пока разбираемся.
Новый модуль теперь живет здесь http://7zsfx.solta.ru
Старый доступен по прежнему адресу http://unattended.solta.ru

Спустя 5 часов:
Пофиксен и пункт 1. Была грубая ошибка, которая проявлялась при отсутствующих "RunProgram" и "AutoInstall" и указании "InstallPath"
Страничка обновлена.

zvezduk 10-10-2005 17:48 363085

Проблема с созданием ярлыков. У них отсутствует параметр “Start in:” (в русской версии - “Рабочая папка:”). Из-за этого кое-что не работает.

Oleg_Sch 11-10-2005 07:03 363197

Цитата:

Цитата zvezduk
Проблема с созданием ярлыков. У них отсутствует параметр “Start in:” (в русской версии - “Рабочая папка:”). Из-за этого кое-что не работает

Сделаем. См. PM

Oleg_Sch 12-10-2005 05:28 363517

Выполнено пожелание zvezduk + исправлена еще одна ошибка при автоматической установке (нашел zvezduk).
Там же http://7zsfx.solta.ru
Я извиняюсь перед всеми за большое количество ошибок и постоянные обновления модуля (понимаю, что вам каждый раз необходимо пересобирать заново), модуль был написан с нуля (я это говорил раньше), поэтому они возможны там, где их раньше не было. Без вас я их (ошибки) все не отыщу. Спасибо всем, кто принимает участие. Надеюсь за неделю-две все вылизать.

Debugger 13-10-2005 19:11 364020

Oleg_Sch

Блин, долго с Yes+Shift парился... Yes и пробелом нажимал, и Enter'ом, и мышкой... Все комбинации перепробовал! Спасибо за обновление!

Небольшие комментарии:

1. Клавишу Cancel и "Закрыть" в углу экрана распаковки отменили. Но Escape еще никто не отменял (комментарий несущественный).
2. При отображении процентов распаковки снизу прогресс-бара цифры IMHO выглядят малость "одинокими" (это с МОЕЙ точки зрения дизайна). Вот бы шрифт Bold сделать! Или вообще настройку шрифта отдельным тегом в конфиге.

Vadikan 13-10-2005 21:52 364061

Цитата:

Или вообще настройку шрифта отдельным тегом в конфиге.
Имейте совесть :)

Oleg_Sch 14-10-2005 05:27 364129

Debby
Цитата:

1. Клавишу Cancel и "Закрыть" в углу экрана распаковки отменили. Но Escape еще никто не отменял (комментарий несущественный).
Порешаем. До понедельника закрою.
Цитата:

2. При отображении процентов распаковки снизу прогресс-бара цифры IMHO выглядят малость "одинокими" (это с МОЕЙ точки зрения дизайна). Вот бы шрифт Bold сделать! Или вообще настройку шрифта отдельным тегом в конфиге.
Цитата:

Цитата Vadikan
Имейте совесть

Но все равно, подумаю... Сейчас для меня на первом месте - ошибки. Потом можно будет и косметикой заняться (не сетевой маркетинг ;))

P.S. Вот здесь http://7zsfx.solta.ru/7ZSplit.7z лежит утилитка (кому-то уже давал), которая разбивает существующий 7z SFX архив на составляющие ( модуль+конфиг+сам_архив). Может кому пригодится при постоянной переделке существующих установок с обновленными модулями.

jCHex 14-10-2005 20:46 364373

Oleg_Sch
1. Больш чел Спасибо за модуль!, наконец-то можно спокойно :butcher: выкининуть WinRAR ;) (нуу.. :rolleyes: образно гвря, - ведь он еще мног чего лучше жмет), поменяв на оч удобн 7-zip
2.
Цитата:

Вот здесь http://7zsfx.solta.ru/7ZSplit.7z лежит утилитка
Ой, вот спасибо! Действит. оч удобная штучка! анто всякое бывает - забудешь оставить конфиг с архивом и...

BZ (ps) Друвзвно вжвдем очередной :beta: результат багфиксинга ;)

Oleg_Sch 15-10-2005 06:28 364459

Страничка обновлена. Один багфикс, остальное - косметика.
Из history.txt
Код:

1.0.0.51015 (build 78):
*        В режиме со скрытой кнопкой "Cancel" и блокированной "Закрыть" (GUIMode="1") все равно можно было прервать
        распаковку с клавиатуры с помощью <Esc> или <Alt+F4> (Debby:forum.oszone.net)
+        Жирный шрифт для индикатора процентов (через GUIFlags) (Debby:forum.oszone.net)
+        Поддержка стилей (схем) Windows XP (через GUIFlags)
+        Иконка в диалоге распаковки (через GUIFlags)


Debugger 15-10-2005 10:36 364472

Oleg_Sch

Спасибо! Еще вопрос: я не въезжаю, чем отличаются файлы в архиве - 7zS.sfx и 7zSD.sfx. Объяснений не нашел.

И еще. Цитата из Readme_RU.txt:

Код:

Конфигурационный файл:

Title, BeginPromt, RunProgram - смотрим Help к 7-Zip'у

Исправь, пожалуйста, BeginPromt на BeginPrompt :), я как-то раз хелп бегло просмотрел, дальше не читал, а потом долго удивлялся, что у меня подсказка не работает :)

Oleg_Sch 16-10-2005 01:19 364637

Цитата:

Исправь, пожалуйста, BeginPromt на BeginPrompt
Вот же... Второй раз наступаю на эти грабли (первый раз Vadikan указал). Обязательно подправлю в понедельник.

Цитата:

Еще вопрос: я не въезжаю, чем отличаются файлы в архиве - 7zS.sfx и 7zSD.sfx. Объяснений не нашел.
Из хелпа к 7-Zip'у
Цитата:

7zS.sfx Windows version for installers.
7zSD.sfx Windows version for installers (uses MSVCRT.dll).
MSVCRT.dll - Microsoft C runtime library, что вроде vbrun (по-моему так) для Visual Basic'а. Т.е. часть функций/подпрограмм языка вынесены в отдельную dll.
В 7zS.sfx эти функции слинкованы статически в самом sfx (т.е. эта dll ему не нужна), а 7zSD.sfx при запуске подгружает эту dll. Из-за этого размер 7zSD меньше.
Я лично всегда использую 7zSD.sfx, потому как эта dll есть во всех системам (по крайней мере начиная с Win98 и Win2000, а может и в более ранних), а зачастую "размер имеет значение" ((c) реклама).

Oleg_Sch 17-10-2005 07:25 364833

Учтено замечание Debby. Остальное - снова косметика
Код:

1.0.0.51017 (build 80):
+/-        Отображение/расположение/центровка элементов диалога распаковки для различных
        режимов (с иконкой, без нее, с дополнительным текстом и т.д)


EgOrus 19-10-2005 15:23 365717

Oleg_Sch
Возможно ли добавить функцию замены иконки выходного sfx-архива, а то коврять ресурсы sfx модуля, как-то некрасиво чтоли. Может это уже реализовано, а я пропустил?

Oleg_Sch 20-10-2005 08:49 365964

EgOrus
Цитата:

Возможно ли добавить функцию замены иконки выходного sfx-архива
Цитата:

Может это уже реализовано, а я пропустил?
Нет, вы ничего не пропустили, пока нет. Но я уже неоднократно говорил - работаю над этим. Будет. С учетом непредсказуемости свободного времени, сроки озвучить не могу.
Цитата:

а то коврять ресурсы sfx модуля, как-то некрасиво чтоли
А без этого никак. Замена иконки возможна ТОЛЬКО через правку ресурсов (именно это проделывает тот же WinRAR), если кто-то знает другой способ - буду рад оказаться неправым. Моя будущая поделка именно это и будет делать (помимо настройки конфига в стандартном Windows GUI). Пока могу дать только скриншот http://7zsfx.solta.ru/7zSTools.jpg

EgOrus 20-10-2005 09:24 365980

Oleg_Sch
Приятная поделка, ждем релиз.

Vadikan 26-10-2005 11:15 367776

Доброго времени суток!

В процессе перевода readme на англ. я озадачился параметром
Цитата:

Delete="file_or_folder_name"
Удаляет указанный файл или папку ПОСЛЕ установки. Если указанное имя является папкой,
то она будет удалена вместе со всем содержимым (ВНИМАНИЕ! будьте осторожны, чтобы
не указать что-нибудь вроде "C:\WINDOWS" :-). В момент выполнения данной операции
текущая папка не изменяется, т.е. если SFX был запущен с текущей папкой C:\WINDOWS,
именно она и останется текущей. Переменные среды допустимы. Команд 'Delete' может быть
сколько угодно, обрабатываться они будут в той последовательности, в которой идут в конфигурационном файле.
Вопрос возник по поводу понятия текущая папка, и Олег дал более развернутое об'яснение в PM.
Цитата:

Примерно так: мы, допустим в ФАРе и cmd имеем текущей папкой C:\WINDOWS и набираем c:\install\7zinstall.exe На момент выполнения команд Delete текущей папкой будет не c:\install или папка распаковки, а c:\WINDOWS, соответственно относительные пути (попутно ответ и на второй вопрос - относительные пути допустимы) будут относительно C:\WINDOWS, т.е если будет Delete="system32" - удалится C:\WINDOWS\system32, а не C:\Install\system32. Для абсолютных путей это роли не играет. Я так думаю, это пока не стоить переводить и корректнее будет, если я буду устанавливать текущей папку распаковки (или, все-таки, папку с файлом SFX установки?) - меньше путаницы. Как сделать ?
Теперь он озадачил меня вопросом: действительно, как лучше сделать текущую папку? Вот мой анализ ситуации
Цитата:

Хм... я понял как это работает, но даже не знаю как это нормально и кратко об'яснить по-русски, не то что по английски :) Я понимаю, что с точки зрения работы с ОС - это наиболее правильный вариант, но.... Я просто пытаюсь представить реальные сценарии и какая польза будет от имеющейся сейчас "текущей папки". Вроде особо никакой пользы и нет, а что будет с текущей папкой когда люди начнут запускать такие SFX из WPI, я вообще не представляю ;)

Если делать текущей папку распаковки, то это будет %TEMP%, если отсутствует InstallPath. В %TEMP% случае относительные пути для удаления файлов не очень-то и помогут, а вот если указать желаемый InstallPath, то потом можно и относительные пути для удаления использовать весьма рационально. Но чем так извращаться, проще указать абсолютный путь (с переменными) :)

Если делать текущей папку с SFX файлом, то это проще всего об'яснить, но не очень-то полезно в плане относительных путей в случае запуска файла с CD.

Даже не знаю какой вариант лучше. Мне кажется, что последний, но это лишь частное мнение.
А вы что думаете? :)

Oleg_Sch 26-10-2005 11:46 367786

От себя добавлю (To Vadikan: то что, не сказал в PM):
Цитата:

Цитата Vadikan
Я понимаю, что с точки зрения работы с ОС - это наиболее правильный вариант, но.... Я просто пытаюсь представить реальные сценарии и какая польза будет от имеющейся сейчас "текущей папки". Вроде особо никакой пользы и нет, а что будет с текущей папкой когда люди начнут запускать такие SFX из WPI, я вообще не представляю

Собственно пользы от текущей папки - ноль. Первоначально для команды "Delete" предполагалось использование АБСОЛЮТНЫХ путей. В ридми я просто ПРЕДУПРЕЖДАЛ (наверное плохо и непонятно) народ быть осторожным именно с ОТНОСИТЕЛЬНЫМИ путями, чтобы не удалили чего лишнего.

Цитата:

Цитата Vadikan
А вы что думаете? :)

Присоединяюсь. Что думает уважаемый All ?

EgOrus 26-10-2005 12:06 367799

Vadikan
Oleg_Sch
правильнее наверное делать текущей папкой, ту папку из кот. запущен SFX, по крайней мере такое "поведение" наиболее распространено среди другого софта.

biork 27-10-2005 01:40 368032

Всем привет.
RunProgram= можно только 1 раз выполнить? Может есть возможность запустить последовательно несколько сетапов? (установка из нескольких частей) :)

Vadikan 27-10-2005 03:34 368041

biork
Можно создать пакетный файл, в котором будут все нужные вам команды и запускать его.

Oleg_Sch 27-10-2005 04:30 368044

От себя добавлю. Если надо скрыть окно консоли командного (пакетного) файла используйте примерно так:
Код:

RunProgram="hidcon:install.cmd"
Вот пример который у меня устанавливает OfficeXP+Russian MUI (т.е. это install.cmd)
Код:

setuppls.exe TRANSFORMS=Unattended.mst /qb-
if %errorlevel% NEQ 0 goto done
 
MUI\setup.exe /qb-
if %errorlevel% NEQ 0 goto done
 
regedit /s Off10rus.reg
 
:done
exit


Oleg_Sch 28-10-2005 04:35 368345

Обновление.
history.txt:

Цитата:

1.0.0.51028 (build 91):
* В 'RunProgram' и всех 'AutoInstall' отсутствовал разбор переменных среды (Vadikan:forum.oszone.net)
+ В параметрах создания ярлыков (Shortcut) и удаления ('Delete') вместо '%%T' подставляется
папка распаковки (раньше работало только для 'RunProgram' и 'AutoInstall'ов)
+/- Текущей папкой при выполнении команд 'Delete' является папка, в которой находится файл SFX установки.

Vadikan 30-10-2005 01:45 368789

Oleg_Sch
Что-то я никак не могу заставить выполняться команду RunProgram при распаковке в %programfiles%. Тестирую так: создаю
test.bat
Код:

@echo off
echo testing >> "%systemdrive%\test.txt"
exit

config.txt
Код:

;!@Install@!UTF-8!
InstallPath="%programfiles%\\test"
RunProgram="%programfiles%\\test\\test.bat"
GUIMode="2"
;SelfDelete="1"
;!@InstallEnd@!

Создаю test1.exe и запускаю. Распаковка происходит в %programfiles%\test, но выдается ошибка
при этом файл-то в папке находится

Тогда я беру config.txt и делаю Search and Replace programfiles на systemdrive

Код:

;!@Install@!UTF-8!
InstallPath="%systemdrive%\\test"
RunProgram="%systemdrive%\\test\\test.bat"
GUIMode="2"
;SelfDelete="1"
;!@InstallEnd@!

Создаю test2.exe и запускаю. Все работает. Я что-то не могу понять в чем дело :) Ниже ссылки на скомпилированные SFX EXE (63kb каждый)

test1.exe
test2.exe

Система - Win2k SP3. Спасибо.

Oleg_Sch 30-10-2005 02:06 368795

Есть такое дело. Сам наткнулся еще в процессе переделки предыдущего обновления, но забыл упомянуть.
Если путь к запускаемой программе или ее имя содержат пробелы - нужно заключать в кавычки. После разбора переменной %programfiles% путь полчается с пробелом. Т.е. в твоем случае должно быть так
Код:

;!@Install@!UTF-8!
InstallPath="%programfiles%\\test"
RunProgram="\"%programfiles%\\test\\test.bat\""
GUIMode="2"
;SelfDelete="1"
;!@InstallEnd@!

Могу переделать разбор переменных для этих случаев, чтобы народ не наступал на эти грабли.
Но если переменных среды не будет, а путь будет содержать пробелы - все равно прийдется заключать в кавычки.
Вообще кавычки в пути-имени программы никогда не помешают, так что может в ридми сделать замечание по этому поводу ?

Vadikan 30-10-2005 02:09 368796

Oleg_Sch
Понял! Да, это надо в ридми указать. Может тогда все-таки сделать текущей директорию распаковки? Это избавит от нбх писать абсолютные пути в RunProgram, к примеру, если запускается скрытый батник из распакованного архива.

Oleg_Sch 30-10-2005 02:19 368798

Vadikan
В момент выполнения RunProgram и всех AutoInstall'ов текущей является папка распаковки. Так было первоначально и так есть сейчас (можешь проверить).
Вот это
Цитата:

+/- Текущей папкой при выполнении команд 'Delete' является папка, в которой находится файл SFX установки
относится только к команде Delete.

Vadikan 30-10-2005 02:59 368803

Oleg_Sch
Ок, сорри, я запарился тут на работе :) В общем, признаю нбх RTFM :)

Теплый Снег 02-11-2005 10:06 369752

Добрый день.
Столкнулся с проблемой запуска bat файла.Ни в какую не хочет запускаться.

Код:

;!@Install@!UTF-8!
InstallPath="%SYSTEMDRIVE%\\TempZ"
RunProgram="ow32enen850.exe /s"
RunProgram="hidcon:opera.bat"
GUIMode="1"
;!@InstallEnd@!

Это мой конфиг.

Код:

xcopy "%SYSTEMDRIVE%\TempZ\Opera\*.*" "%APPDATA%\Opera\Opera\" /q /e /y
Это текст bat файла.

Опера устанавливается нормально , а вот батник не запускается.Вручную проверяю , работает.
Где грабли , помогите разобраться пожалуйста.

Oleg_Sch 02-11-2005 10:11 369756

Параметр 'RunProgram' может быть ТОЛЬКО ОДИН! Если надо запустить несколько программ, пропишите их в один bat-cmd файл и подставьте его (bat-cmd) в ЕДИНСТВЕННЫЙ 'RunProgram'.

Теплый Снег 02-11-2005 10:24 369759

Цитата:

Параметр 'RunProgram' может быть ТОЛЬКО ОДИН! Если надо запустить несколько программ, пропишите их в один bat-cmd файл и подставьте его (bat-cmd) в ЕДИНСТВЕННЫЙ 'RunProgram'.
Огромное спасибо получилось :)

gora 09-11-2005 15:20 371901

Извините за offtop, но может кто нибудь подскажет, есть ли русская справка на 7-Zip (вроде автор то русский) и где ее можно скачать?

Vadikan 09-11-2005 21:14 372007

gora
В первом посте темы и в подписи автора есть ссылки. Вам нужен Readme, он и является справкой. Или речь идет об оригинальном архиваторе 7-zip?

gora 10-11-2005 12:40 372269

Vadikan
Речь идет об оригинальном архиваторе 7-Zip. Где на него достать русскую справку?

Vadikan 10-11-2005 21:07 372469

gora
Мне кажется ее не существует. Напишите автору программы. Если найдется, то опубликуйте ссылку.

gora 11-11-2005 13:15 372801

Vadikan
Сайт у автора на английском, форум тоже, попытался написать письмо, а там тоже предупреждение, что мол только по английски пишите. Видимо придется переводить самому. Все равно спасибо.

Vadikan 11-11-2005 21:24 373051

gora
Eсть и русский сайт 7-zip.org/ru А спросить по английски просто: Do you have a Russian version of the help file?

Vovanchik 12-11-2005 12:52 373215

gora
а у меня в свое время вроде как получилось с ним пообщатся на родном русском языке...

баг какой нить замеченый или предложение какое конструктивное ему в форме репорта на сайте напиши, может и тебе ответит.

gora 15-11-2005 12:45 374100

Спасибо всем за участие по поводу справки к 7-Zip.
Несколько вопросов к Oleg_Sch. Сразу скажу, что не очень разбираюсь в тонкостях работы командной строки.
1. У Вас написано: "Shortcut="type, {src_file_path}, {command_line_for_file}, {folder_for_shortcut}, {decription}, {shortcut_name}, {working_directory}"
...
Каждый параметр, исключая 'type', должен быть заключен в фигурные скобки, параметры разделяются запятыми. ", в форме записи разделяются запятыми и пробелами. Где правильно?
2. Не описано как поступать с необязательными параметрами. Методом тыка я их убрал оставив только запятые. Правильно ли я сделал?
3. Не очень понял назначение параметра {working_directory}, хорошо бы пример с его использованием.
4. Параметр "8 - использовать стили (схемы) Windows XP" меняет только вид прогресс бара или у меня что-то не работает?
5. В заголовке окна распаковки торчит какой то значек (в оригинальном 7-Zip его нет). Можно ли его убрать?
6. Хотелось бы, чтобы файл Readme_RU.txt, с введением новых параметров, пополнялся новыми примерами их использования.

Работой модуля остался очень доволен. Спасибо за ваш труд.
С нетерпением жду появления "графической версии" и возможности вставлять свою иконку в архив. И если она все таки будет (я на это очень надеюсь) нельзя ли ее сделать в виде плагина к 7-Zip (он вроде поддерживает плагины)?

Oleg_Sch 15-11-2005 13:14 374114

gora
Цитата:

1. У Вас написано: "Shortcut="type, {src_file_path}, {command_line_for_file}, {folder_for_shortcut}, {decription}, {shortcut_name}, {working_directory}"
...
Каждый параметр, исключая 'type', должен быть заключен в фигурные скобки, параметры разделяются запятыми. ", в форме записи разделяются запятыми и пробелами. Где правильно?
Правильны оба варианта :) Если после запятой есть пробелы (которых может быть сколько угодно), все они будут просто игнорированы
Цитата:

2. Не описано как поступать с необязательными параметрами. Методом тыка я их убрал оставив только запятые. Правильно ли я сделал?
Необязательные параметры после последнего используемого можно не указывать вообще. Т.е. если мы создаем ярлык для файла cmd без дополнительных параметров командной строки, описания и т.д, то будет выглядеть так:
Код:

Shortcut="Du, {cmd.exe}"
Неиспользуемые параметры в середине можно указывать так:
Код:

Shortcut="Du, {cmd.exe}, {}, {}, {Command line}"
или так:
Код:

Shortcut="Du, {cmd.exe}, , , {Command line}"
Рекомендую первый вариант.
Цитата:

3. Не очень понял назначение параметра {working_directory}, хорошо бы пример с его использованием.
В русском варианте винды в свойствах ярлыка это параметр "Рабочая папка", в английском "Start in". Указывает какая папка будет текущей при старте программы указанной в ярлыке.
Цитата:

4. Параметр "8 - использовать стили (схемы) Windows XP" меняет только вид прогресс бара или у меня что-то не работает?
В принципе - да :) Еще кнопочки.
Цитата:

5. В заголовке окна распаковки торчит какой то значек (в оригинальном 7-Zip его нет). Можно ли его убрать?
Это иконка sfx модуля, в оригинальном модуле ее действительно не было, в заголовок окна добавлял специально, чтобы и на таскбаре было видно. Сделаю возможность убрать ее, если вам не нравится
Цитата:

6. Хотелось бы, чтобы файл Readme_RU.txt, с введением новых параметров, пополнялся новыми примерами их использования.
Попробую завтра-послезавтра выложить обновленную версию ридми, подправленную и дополненную Vadikan'ом
Цитата:

Работой модуля остался очень доволен. Спасибо за ваш труд.
Пожалуйста :)
Цитата:

С нетерпением жду появления "графической версии" и возможности вставлять свою иконку в архив.
Работаю над этим, нехватка времени, но дело продвигается.
Цитата:

И если она все таки будет (я на это очень надеюсь) нельзя ли ее сделать в виде плагина к 7-Zip (он вроде поддерживает плагины)?
Подумаю. Но обещать ничего не буду.

ANDYru 18-11-2005 20:41 375439

для размышлений ...

Version 4.30 beta 2005-11-18
--------------------------------------
- Files 7zFMn.exe, 7zGn.exe, 7-zipn, 7za.exe, 7zC.sfx were removed from 7-zip package
- 7-Zip now uses uncompressed SFX: 7z.sfx
- Sfx modules 7z.sfx and 7zCon.sfx now use msvcrt.dll
- Speed optimizations in LZMA maximum/ultra compressing.
- LZMA now supports word size up to 273
- 7-Zip now reduces dictionary size for LZMA, if you compress files
smaller than specified dictionary size.
- 7-Zip now can use large memory pages:
GUI: 7-Zip File Manager / Options / Settings / Use large memory pages.
Command line version: -slp switch.
This feature allows to increase speed of compressing.
But 7-Zip can make some pause at starting of compressing for allocating large pages.
Also Task Manager doesn't show real memory usage of program, if 7-Zip uses large pages.
This feature works only on Windows 2003 / XP x64 / Vista.
Also you must have administrator's rights for your system.
Recommended size of RAM: 1 GB or more.
To install this feature you must run 7-Zip File Manager at least once,
close it and reboot system.
- Some bugs were fixed

Vadikan 18-11-2005 21:30 375454

Цитата:

7-Zip now uses uncompressed SFX: 7z.sfx
Тенденция, однако. WinRAR тоже самое сделал. Интересно, отчего и какие у юзеров пробелы со сжатыми модулями... Другого об'яснения замены сжатых на несжатые я просто не вижу.
Цитата:

Sfx modules 7z.sfx and 7zCon.sfx now use msvcrt.dll
А не связано ли это с с деятельностью Олега? :)

ANDYru 18-11-2005 21:45 375459

Vadikan
во-во , видать не хочет из своего хоть и бесплатного продукта человек конструстор делать .

Oleg_Sch 19-11-2005 02:11 375558

ANDYru
Цитата:

для размышлений ...

Version 4.30 beta 2005-11-18
Спасиб. Вчера днем по моему местному (+7МСК) еще не было.
Время пересобирать и мою поделку на новом ядре. Думаю будет в понедельник (21 ноября).

Vadikan
Цитата:

Цитата:

7-Zip now uses uncompressed SFX: 7z.sfx
Тенденция, однако. WinRAR тоже самое сделал. Интересно, отчего и какие у юзеров пробелы со сжатыми модулями... Другого об'яснения замены сжатых на несжатые я просто не вижу.
Вот что пишет Евгений Рошаль:
Цитата:

SFX modules are not compressed by UPX anymore, so they are
larger now. UPX compression caused numerous false alerts
by antivirus software. If you wish to use compressed modules,
you can get UPX from http://upx.sourceforge.net and compress
*.sfx files in WinRAR folder;
А вот Игорь Павлов в форуме на sourceforge:
Цитата:

1) false anti-virus software alerts.
2) distributive package will be larger
3) I'm not sure that UPX is OK for all new versions of Windows: XP 64-bit / Vista / IA-64 Windows and so on.

You can compress it yourself. In that case you take risks for yourself.
IMHO, основная причина - ложное срабатывание антивирусов, сам один раз натыкался.

Цитата:

Цитата:

Sfx modules 7z.sfx and 7zCon.sfx now use msvcrt.dll
А не связано ли это с с деятельностью Олега?
Думаю - нет :). Я уже раньше отвечал по этому вопросу http://forum.oszone.net/showpost.php...7&postcount=60
Не вижу причин, по которым ее не стоит использовать.

ANDYru
Цитата:

во-во , видать не хочет из своего хоть и бесплатного продукта человек конструстор делать .
А вот этого не понял :( Вы о чем ?

Vadikan 19-11-2005 02:37 375564

Oleg_Sch
Спасибо за ответ
Цитата:

IMHO, основная причина - ложное срабатывание антивирусов, сам один раз натыкался.
Антивирус реагирует на исполняемый файл, созданный при помощи SFX или сам .SFX модуль вызывает ложные срабатывания?

Oleg_Sch 19-11-2005 03:00 375575

Vadikan
Первое. "Антивирус реагирует на исполняемый файл, созданный при помощи SFX"
Просто сама по себе технология компрессии исполняемых файлов очень похожа на ту, которую используют вирусы для внедрения в файл, да и большинство вирусов-троянов сжаты UPX'ом. Но абсолютное большинство антивирусов уже умеют распознавать и распаковывать сжатые EXE-ники и уже по распакованному содержимому искать "вирус-не вирус". Старые антивирусы (или давно не обновляемые, как было в моем случае) могут ругаться на абсолютно нормальный файлы, что "возможно заражен тем-то-тем-то"

Oleg_Sch 23-11-2005 10:08 376815

Обновление.
history.txt:
Цитата:

1.0.0.51123 (build 117):
+/- Использован исходный код 7-Zip версии 4.30beta от 18 ноября 2005 г.
+ Параметр -! в командной строке.

Vadikan 23-11-2005 10:14 376820

Oleg_Sch
Цитата:

Первое. "Антивирус реагирует на исполняемый файл, созданный при помощи SFX"
Понятно. Сорри, пропустил твой ответ.

У меня буквально на днях McAfee Enterprise 8.0 вдруг ни с того ни с сего завопил и удалил инсталлятор 7-zip архиватора 4.25b (ЕХЕ). Настройки АВ мне, бесправному на работе, недоступны, но сам подход к конфигурированию АВ меня озадачил. Сначала удалил, а потом пишет - у тебя вирус был, звони в HelpDesk. А чего звонить, если файла уже нет? Они даже в карантин его не поставили :)

ANDYru 04-12-2005 21:56 379788

Oleg_Sch
821 KB 2005-12-04 4.31 Windows 7-Zip _http://keihanna.dl.sourceforge.net/sourceforge/sevenzip/7z431.exe
1104 KB 2005-12-04 4.31 Windows x64 7-Zip _http://citkit.dl.sourceforge.net/sourceforge/sevenzip/7z431-x64.exe

Oleg_Sch 04-12-2005 22:11 379791

ANDYru
Спасиб. Уже качаю.
Только вот x64 мне пока тестировать не на чем :(. Пора думать оп апгрейде.

EgOrus 05-12-2005 17:08 380087

Oleg_Sch
может подредактировать шапку заменить http://unattended.solta.ru на http://7zsfx.solta.ru :) решил качнуть последнюю версию - в результате не поглядев на дату качнул со старого сайта - получил немного гемора. Или под главной ссылкой добавить урл на страничку с бэтами.

Oleg_Sch 05-12-2005 17:16 380091

EgOrus
Цитата:

Возникло неск. вопросов:
1. Ключик типа hidcon:start.cmd в новых версиях не используются?
Никуда не должен был убежать :) А что ? Возникли какие-то проблемы с новыми версиями ? Должен работать.
Цитата:

2. последняя версия 1.0.0.51123 (build 117) должна коректно работать только с 4.30 или и с последующими тоже?
C 7zip 4.31 у меня вполне нормально работает предыдущая версия 1.0.0.51028 (build 91) hidcon там тоже работает
Так и должно быть... Ядро распаковщика, которое я использую из 7-Zip'a, собственно говоря и не менялось с версии 4.29beta (или даже 4.27 - уже не помню). Сегодня собрал на основе 4.31 - бинарные файлы получились один-в-один с предыдущей версией, что говорит о том, что те файлы, которые использую я для распаковки в очередной раз НЕ ИЗМЕНИЛИСЬ. Т.е. если Игорь чего-то координально изменит в алгоритме - перестанет работать, пока сохраняется совместимость.
А hidcon - это уже моя добавка, от версии 7-zip Игоря Павлова она не зависит, должна работать всегда. Вот щас думаю, выкладывать релиз на основе 4.31 или нет ? Старая версия прекрасно будет работать и с архивами упакованными 4.31

P.S. to EgOrus:
Пока я отвечал на ваш первый вариант поста, вы его уже изменили :) А насчет шапки - думаю вы правы.

EgOrus 05-12-2005 17:23 380095

Oleg_Sch
спасибо за оперативный ответ, вопросы возникли по моей невнимательности и невнимательности еще одного человека.

ANDYru 09-12-2005 18:59 381477

только что вышел 7zip 4.32 скачать

Vadikan 10-12-2005 00:56 381557

Цитата:

только что вышел 7zip 4.32
Зачем качать?
Цитата:

Windows 95 support was improved

ixt-folk 15-12-2005 00:41 383206

Oleg_Sch

Пожалуйста ткните меня в то место где написано или подскажите как можно заставить установку распаковывать файлы не создавая папки в тойже папке где и установочный файл :) Если это ещё не реализованно то хотелосьбы добавить это метод извлечения. Спасибо.

Oleg_Sch 15-12-2005 01:02 383216

ixt-folk
Тыкаю :)
InstallPath="."

gora 15-12-2005 09:48 383270

Oleg_Sch
Как продвигаются дела с "графической оболочкой" вашего варианта модуля?
Не порадуете ли нас новогодним подарком? Если нет, то когда ждать (хотя бы ориентировочно)?
С уважением...

Oleg_Sch 15-12-2005 10:48 383289

gora
Последние две недели - никак. Загруз полный :(. На основную работу времени не хватает.
К Новому году, наверное, нет :( Но я буду стараться ;). Сроки говорить не хочу, чтобы не обнадеживать напрасно.

gora 04-01-2006 18:20 389242

Oleg_Sch
Приведу мой конфиг файл:


;!@Install@!UTF-8!
RunProgram="menu.exe"
InstallPath="%TEMP%"
ExtractTitle="Распаковка..."
GUIMode="1"
GUIFlags="22"
ExtractDialogText="Программа установки драйверов для моего компьютера";
Shortcut="D, {%%T\\menu.exe}, {}, {}, {}, {Установка драйверов}"
;!@InstallEnd@!

Программа распаковывается, запускается файл menu.exe, а вот значок на столе не появляется. Программа устанавливает драйвера и выходит с перезагрузкой компьютера. Если из файла menu.exe выйти обыкновенно, то значок появляется. Можно ли это исправить, что бы значок появлялся до запуска RunProgram=, или не ждал его завершения?

Oleg_Sch 04-01-2006 18:31 389245

gora
Хотя это частный (даже очень частный) случай, подумаю, что можно сделать... Отпишусь завтра-послезавтра...

Oleg_Sch 06-01-2006 02:54 389644

gora
Все, что вы отписали - правильный алгоритм работы модуля (он ждет ЗАВЕРШЕНИЯ работы программы, чтобы ПОТОМ выполнить все остальные действия, как то создание ярлыков, удаление чего-то после установки), и для вашего случая (исключение из правил) не надо править его (модуль).
Достаточно menu.exe запускать через какую-нибудь программу-утилиту, которая не ожидает завершения работы вашей программы и выходит. Это может быть виндовозный start или мой hidcon с ключом /nw (он запускает любые приложения, но окна скрывает только в консольных). Саму утилиту можно удалить с помощью Delete в конфигурационном файле, а в случае с виндовозным start так и вообще не надо ничего ни добавлять в архив, ни удалять после.
Попробуйте
Код:

;!@Install@!UTF-8!
RunProgram="start menu.exe"
InstallPath="%TEMP%"
ExtractTitle="Распаковка..."
GUIMode="1"
GUIFlags="22"
ExtractDialogText="Программа установки драйверов для моего компьютера";
Shortcut="D, {%%T\\menu.exe}, {}, {}, {}, {Установка драйверов}"
;!@InstallEnd@!

Я думаю, должно сработать.

Vovanchik 06-01-2006 03:30 389653

Oleg_Sch
может конечно сумбурно, но попробую обьяснить ситуевины в которых глюки ловил.

короче все дело в активной и текущей директории.
кому как больше нравиться называть.

насколько я понял в ридми - текущей директорией является директория разпаковки.

ну так вот, начну по порядку.

первый случай

среда WinPE на основе WinXP SP2 rus на виртуальной машине, темповая директория b:\
распаковывается без указания директории распаковки, т.е. в темповую папку
sfx запакованый upx минимального размера.
после разпаковки Drweb не может найти базы лежащие с ним в одной и тойже папке.
аналогично и в реальной среде WinXP SP2 rus, темповая директория C:\windows\temp
после прописывания директории распаковки в виде %temp%\\drweb все заработало в обоих средах


Второй случай
Среды теже
Пути распаковки прописаны как %temp%\\Everest
delete=%temp%\\Everest
эверест распаковывается,нормально запускается, но по выходу все файлы остаются на местах
при отсутвии указания директории распаковки - эффект тотже - приложение закрывается, темповая папка со всем содержимым в темповой директори остается жива.


Третий случай
Среды теже
приложение r-studio
При обоих методах остается один файл в папке.

четвертый случай.
в рабочей среде моей отказался выполняться dx update последний вседофенишный.
при разборке скрипта и отслеживании переменной %CD% при его выполнении текущей директорией оказалась c:\windows вместо темповой папки в темповой директории.
указание конкретной директории распаковки эффекта не оказало.
переменная %~p0 показала реальное текущее значение.

насколько я понимаю - в первом случае некорректно передалась приложению текущая директория
можно вручную при выполнении приложения добавить пермаментно папку распаковки в %path% но эт чета не совсем красивое решение.
возможно ли это делать прогрммо по умолчанию - если это уже сделано - тогда вопрос снимается.

второй и третий случаи - файлы еще открыты в момент того как папка должна удалиться.
возможно ли тут принудительное закрытие дескрипторов файлов с их последующим удалением? по типу того как работает Unlocker
возможно просто стоит сделать небольшую отсрочку для корректного закрытия файлов системой и только после этого их удаление.

четвертый случай - воще полная мистика.
отнесу его к текущему состоянию разбитости моей системы.
но на всякий случай рассказал, может чем помог.

все вышесказанное прошу расценивать как посильную помошь в разватии столь важного и интересного проекта.
никаких предьяв автору, тока пожелания сделать лучше.
за сим разрешите откланяться.

Oleg_Sch 06-01-2006 08:40 389683

Vovanchik
Будем ловить (глюки). Все довольно подробно, спасибо.
В PM (или аська в профиле) пока только конфиги 7z и переменные окружения. Попробую сэмулировать ситуевины...

gora 08-01-2006 16:50 390312

2 Oleg_Sch
Не проходит этот вариант.

RunProgram="start menu.exe"

дает результат "Error during execution "start menu.exe". He удается найти указанный файл."

Я уже писал, что не специалист я ко командной строке. Запустить, как либо, этот start, мне не удалось. Если можно по подробней, почему у меня не работает этот start?

Oleg_Sch 08-01-2006 17:04 390317

Каюсь. Был не прав. start - это из командного интерпретатора, поэтому должно быть RunProgram="cmd /c start menu.exe" (но мелькнет на доли секунды консольное окно).
Или второй вариант про который я писал - с hidcon.exe: RunProgram="hidcon.exe /nw menu.exe"
Сам hidcon.exe можете взять здесь http://unattended.solta.ru/exectools.7z

Vovanchik 11-01-2006 02:14 390975

кстати я тут применил этом модуль в довольно интересном плане...
при создании winpe

просто используя его свойство передавать параметры внутрь архива можно спокойно интегрировать эти архивы в оболочку и прописывать файловые ассоциации
т.е. архиву можно передать параметром например имя файла и он распакуется во временную папку - передаст эти параметры екзешнику внутри себя, екзешник выполниться, откроет тот файл что ему передали и по окончанию работы (при закрытии екзешника) sfx модуль автоматически затрет директорию на рамдиске (опционально).

при этом вот какие приемущества мы получаем:
выигрыш места на диске - раз
простота интеграции - два
никакой заморочки со скриптовым копированием файлов на рамдиск - три
никаких заморочек с переписываем путей всех создаваемых (read - write) файлов на рамдиск - четыре
проги быстрей загружаются при небольшом уровне компрессии за счет более мелкого размера файла - пять.
никакий принудительной очистки рамдиска - шесть

a1ex 24-01-2006 22:37 396704

Vovanchik
Цитата:

никакий принудительной очистки рамдиска - шесть
гм ... а вопросы второго и третьего случая из предыдущего поста уже решены ? ;)
в команде start /wait r-studio.exe никакого wait не происходит т.к. r-studio 32 битное приложение с графическим интерфейсом. Про это в хелпе к start сказано.

Vovanchik 24-01-2006 22:42 396705

a1ex
там нужно rs_un.bin в rs_un.exe переименовать и его запускать...

но это частный случай ... тоже самое с эверестом

Oleg_Sch 25-01-2006 02:28 396777

a1ex
Цитата:

гм ... а вопросы второго и третьего случая из предыдущего поста уже решены ?
Как раз второй и третий случай решены. Первый был списан на вспышки на солнце и фазу луны - не смогли добиться его повторения ни я ни Vovanchik (он к тому моменту переставил систему, насколько я помню). Четвертым пока не занимался.
Я неделю назад тоже все переустановил и потерял историю аськи и переписку с Vovanchik, отвечу по памяти, если что Vovanchik поправит.
2. Everest заработал нормально при указании ключа /WAIT
Код:

RunProgram="Everest.exe /WAIT"
3. Для р-студио Vovanchik уже написал. Я так понял, что кроме этого rs_un.bin в WinXP больше ничего не надо (по крайней мере у меня работало только с этим одним файлом переименованным в rs_un.exe, и SFX модуль ждал окончания его работы).

Все это не баги SFX модуля, а особенности выполняемых программ. Что Everest, что r-studio при своем запуске исполняют какие-то другие файлы и выходят. Модуль считает, что работа закончена, и затирает папку. Так r-studio.exe запускает rs_un.bin, а everest.exe - everest.bin

a1ex
Цитата:

в команде start /wait r-studio.exe никакого wait не происходит т.к. r-studio 32 битное приложение с графическим интерфейсом. Про это в хелпе к start сказано.
Это никак не связано с типом приложения (графическое-консольное), а с особенностями написаными выше. Не знаю, что там в хелпе к start, но попробуйте просто
Код:

start /WAIT notepad
start БУДЕТ ждать завершения notepad'а, хотя он и графический

a1ex 25-01-2006 11:22 396885

Oleg_Sch
Цитата:

Это никак не связано с типом приложения (графическое-консольное), а с особенностями написаными выше. Не знаю, что там в хелпе к start,
хелп читал только русский, может это трудности с переводом ... но для себя я сделал вывод, что /wait гарантировано работает с консольным приложением. К sfx в этом плане претензий нет :). Ранее в подобныхых случаях я тупо в цикле через sleep ждал окончания процессов.
Vovanchik
Цитата:

там нужно rs_un.bin в rs_un.exe переименовать и его запускать...
ради интереса запустил rs_an , тоже вроде как работает ;). Интересно, в каких случаях рстудио запускает его?

p.s. спасибо Олегу за экономию места, а Вованчику за идею использовать это в PE :)

Oleg_Sch 25-01-2006 15:21 397027

a1ex
Цитата:

ради интереса запустил rs_an , тоже вроде как работает . Интересно, в каких случаях рстудио запускает его?
Мне кажется, что rs_an и rs_un это соответственно ANSI и Unicode версии. Если так, то rs_un не будет работать в Win9x (нет врожденной поддержки Unicode), но rs_an будет работать на NT-платформе (где ANSI приложения с некоторыми оговорками поддерживаются полноценно, а Unicode - вообще врожденно).
Скорее всего r-studio.exe проверяет платформу и запускает соответствующий файл.

Цитата:

хелп читал только русский, может это трудности с переводом ... но для себя я сделал вывод, что /wait гарантировано работает с консольным приложением.
Неверно. Здесь САМОЕ ГЛАВНОЕ - дочерний процесс. start (и SFX модуль тоже) ждет окончания ОСНОВНОГО процесса, но игнорирует дочерние.
Продолжу свой пример. Создадим aa.cmd (гарантировано консольное приложение)
Код:

start notepad
exit

Т.е. в нем НЕТ ОЖИДАНИЯ окончания выполнения notepad
А теперь запустим:
Код:

start /WAIT aa.cmd
И что же мы видим ? Все выполнено. aa.cmd (основной процесс) завершил свое работу, "start /WAIT aa.cmd" тоже. Но notepad (дочерний процесс) НИКУДА не делся, он по прежнему на рабочем столе! Тоже самое происходит и в SFX модуле - основной процесс (например, r-studio.exe) завершил свою работу и SFX модуль пытается удалить файлы, но ДОЧЕРНИЙ процесс rs_un.bin свою работу продолжает, и заблокирован. Результат - SFX модуль не может его удалить.

Lexanson 26-01-2006 18:40 397508

Скачал модули. 7zS.sfx и 7zSD.sfx - никак не хотят прикручиваться - говорят "Could not read SFX config or config not found" Пол-дня бился - все никак. Со стандартным модулем - как по маслу.

Vadikan 26-01-2006 23:53 397610

Lexanson
А куда вы их прикручиваете и каким образом (после каких действий) они говорят
Цитата:

"Could not read SFX config or config not found"
?

Oleg_Sch 27-01-2006 01:55 397638

To Lexanson: Конфиги SFX и действия по сборке в студию.

Lexanson 27-01-2006 15:35 397860

Почти сошел с ума, пытаясь выяснить, что делаю не так. Все как раньше - а не работает. Было подозрение, что на кодировку config.txt, но я ее отмел - а зря, оказалось, в ней собака порылась.
После переустановки винды не мог вспомнить, какой плагин для фара использовал для конвертации в утф... Поставил AkelPad и все путем. Ногами просьба не пинать =8)

Oleg_Sch 27-01-2006 15:46 397873

Lexanson
Мне надо было написать это постом выше, но сначала хотел увидеть ваши конфиги.
Лучше поздно, чем никогда...
Данная ошибка может возникать в трех случаях:
1. Не найдена сигнатура начала конфига
2. Не найдена сигнатура окончания конфига
3. Кодировка не UTF-8

Рад, что все разрешилось

Lexanson 27-01-2006 15:55 397882

Unicode Wizard lite-version создавал иллюзию, что все замечательно. Рарегистрировался, до сих пор не прислали ключ к полной версии. Буду рад за ссылку на полнофункциональную версию какого-нибуть плагина для фара.

Oleg_Sch 27-01-2006 16:10 397894

Lexanson
Цитата:

Буду рад за ссылку на полнофункциональную версию какого-нибуть плагина для фара.
Не по адресу (да и правила форума не позволяют). Мне notepad'а хватает чтобы конфиги писать в UTF-8 :)

specialist 29-01-2006 17:32 398567

Lexanson
для редактирования и сохранения в нужной кодировке любых типов файлов рекомендую использовать Bred Кроме вышеуказанных плюсов отмечу очень быстрое открытие даже больших текстовых файлов, подсветку html тегов и много-много всего остального. инсталлятор русской версии весом в 579 кб прекрасно ставится втихую с параметром /S

Vovanchik 30-01-2006 02:01 398719

Oleg_Sch

потеря текущей директории замечена еще один раз - в этом случае на совершенно другой машине
описание - тут

у меня самого это бывает время от времени - причем происхордит абсолютно спонтанно, т.е. один и тот же архив может работать абсолютно нормально но раз или два за время своего использования выдавать похожий глюк...

что самое прикольное - у меня однажды он повторился дважды на рельной и на виртуальной машине.... общеее у них насколько я понимаю - тока проц. а именно
AMD Athlon XP, 2000 MHz (9.5 x 211) 2400+
Thoroughbred-B
CPU stepping B0
Наборы инструкций x86, MMX, 3DNow!, SSE

на разгон прошу не грешить - машина по нескольку суток работает абсолютно стабильно без перезагрузок под серьезной нагрузкой.
садомазу проходит легко и не особо разогреваясь.
кондеры напаял недавно новые, бп thermaltake 420 вт с активным pfc


сейчас буду узнавать какой проц у того товарища который глюк этот словил.

vek 30-01-2006 08:54 398780

Не могу понять, как все же приклеить нужную иконку к .exe архиву созданному на основе 7z. Ситуация такая: тихий инсталл имеет свою иконку (точнее две: 16x16x4 bit and 32x32x4bit) по умолчанию. Редактором ResourceTuner пытаюсь заменить их на свою (тоже 2 в одном файле ico только 16x16x32 и 32x32x32) - ругается что не совпадают исходный и конечный файл. Конвертирую свою иконку в (16x16x4 и 32x32x4) - все меняет, но .exe при запуске выдает ошибку.
PS Спасибо Oleg_Sch за модуль.

Oleg_Sch 30-01-2006 09:36 398798

Не знаю про ResourceTuner, но ResourceHacker'ом меняется без проблем. SFX модуль должен быть несжатый.

Vadikan 30-01-2006 10:20 398820

vek
Цитата:

Не могу понять, как все же приклеить нужную иконку к .exe архиву созданному на основе 7z
Замена иконки 7z sfx архива. Придание инсталлятору подобающего вида.

Vovanchik 30-01-2006 11:14 398851

Vadikan

тут такое дело что иконку нужно менять у несжатого UPX sfx модуля

vek 30-01-2006 11:36 398859

Всем спасибо! Ошибку понял.

a1ex 03-02-2006 02:03 400257

а вот как сменить иконку из командной строки. В хелпе к ресхакеру явно не описано, пришлось разбираться ;).
Код:

reshacker -modify SourceFile.exe, TargetFile.exe, MyIcon.ico, icongroup, 101, 1033
имя входного и выходного файла может совпадать

gora 02-03-2006 15:19 412921

Oleg_Sch
Что то тихо тут у Вас? Как идет работа над графической оболочкой и сменой иконки архива? Идет ли она вообще? Может порадуете нас какими то сроками.
С уважением, gora.

Fanzuga 15-03-2006 11:52 418032

Oleg_Sch

У меня вот вопрос. Как сделать так , чтобы при распаковке архив спрашивал про путь? Т. е. куда собственно распаковывать файлы?

Oleg_Sch 15-03-2006 12:04 418037

gora
Цитата:

Что то тихо тут у Вас? Как идет работа над графической оболочкой и сменой иконки архива? Идет ли она вообще? Может порадуете нас какими то сроками.
Не шла и пока не идет. Если все будет нормально, на следующей неделе сяду, попробую продолжить, тогда будет ясно и со сроками. Но обнадеживать не хочется :(. Эх-х-х-х. Если бы этим можно было заниматься в рабочее время...
Fanzuga
Цитата:

Как сделать так , чтобы при распаковке архив спрашивал про путь? Т. е. куда собственно распаковывать файлы?
Коротко - никак. Только в конфигурационном файле. Возможно это будет в новых версиях... На следующей неделе собираюсь посмотреть чего Игорь наменял в последних версиях и обновить свою, может быть тогда и сделаю. Еще раз - обещать ничего не хочу.

Start07 04-04-2006 23:08 424972

Для запуска программ из самораспаковывающегося архива я использую файл Install.bat чтобы его запустить скрытно, вручную приходится дописывать (RunProgram="hidcon:Install.bat")

Как бы это сделать чтобы все получалось автоматически, если это вообще возможно.

файл config.txt
;!@Install@!UTF-8!
InstallPath="%temp%\\rstudio"
GUIMode="1"
GUIFlags="2"
ExtractDialogWidth="300"
;RunProgram="setup"
RunProgram="hidcon:Install.bat"
;!@InstallEnd@!

файл install.bat нужен для добавления информации в реестр с последующим запуском программы.
cd "%~d0\%~p0"
regedit /s rstudio.reg
start /wait r-studio.exe

Vadikan 05-04-2006 01:35 425003

Start07
А в чем проблема с RunProgram="hidcon:Install.bat" или 7 символов уже лень напечатать? :)

gora 05-04-2006 11:07 425094

Oleg_Sch
1 Вы как то обещали подумать над удалением иконки из заголовка окна распаковки. Приняли ли какое то решение? Может ее сделать опционально?
2
Цитата:

На следующей неделе собираюсь посмотреть чего Игорь наменял в последних версиях и обновить свою...
Как идут дела?
3 Ваше отношение к созданию GUI hobbeat-ом, работаете ли Вы над своим GUI?

Желаю успехов!

Oleg_Sch 05-04-2006 12:15 425136

gora
Цитата:

1 Вы как то обещали подумать над удалением иконки из заголовка окна распаковки. Приняли ли какое то решение? Может ее сделать опционально?
Уже есть (см. ниже).
Цитата:

Как идут дела?
Новый модуль почти готов, завтра-послезатра уйдет к "подопытным кроликам". Если все нормально - на следующей неделе будет всем.
Цитата:

3 Ваше отношение к созданию GUI hobbeat-ом, работаете ли Вы над своим GUI?
Положительно. Здоровая конкуренция - это всегда хорошо. Мне нравятся люди, которые не кричат громогласно "это плохо, это не то, а где это" и т.д., а пытаются чего-то сделать сами.
Над своим модулем работаю (здоровая конкуренция ;) ), но сроки не буду озвучивать...

To hobbeat:
Еще будет много "граблей", поверь мне... Крепись :) (без всяких издевок, с наилучшими пожеланиями - пусть их будет поменьше).
Сам постараюсь глянуть сегодня.

SyCraft 05-04-2006 18:14 425274

Oleg_Sch
Было бы действительно здорого, если бы модуль спрашивал куда собственно распаковывать содержимое архива!

Vadikan 05-04-2006 22:52 425335

SyCraft
Цитата:

Было бы действительно здорого, если бы модуль спрашивал куда собственно распаковывать содержимое архива!
Потерпите немного, совсем чуть-чуть :)

Oleg_Sch 10-04-2006 18:18 426662

Пока Vadikan спит, я тихо выложу наше творение :)

History:
Код:

1.1 beta (build 255):
 
# Использован исходный код 7-Zip версии 4.37 beta от 18 марта 2006 г.
+ Режимы перезаписи файлов ('OverwriteMode' в конфигурационном файле и -omX в командной строке)
+ Возможность подтверждения пользователем отмены установки/распаковки
+ Возможность указания/изменения пути распаковки пользователем
+ Вывод текста помощи (указывается в конфигурационном файле 'HelpText', вызывается из командной строки -h или -?)
+ Отмена вывода иконки в заголовках окон (через 'GUIFlags') (gora:forum.oszone.net)
+ Дополнительные переменные среды при работе модуля ( %UserDesktop%, %MyDocuments% и т.д. )
+ Дополнительный префикс 'nowait' для 'RunProgram' и 'AutoInstall'ов
- Поддержка ANSI операционных систем Win95, Win98, WinMe

Домашняя страница полность обновлена (могут быть баги, о которых, просьба, сообщать незамедлительно)
Многие части кода были переписаны с нуля, опять возможны баги, там, где их не было. Не могу я проверить все :(

ОГРОМНЕЙШЕЕ СПАСИБО! Vadikan'у за терпение "подопытного кролика" и создание полноценного хелпа.

Все. Жду баг-репортов :)

P.S. Исходный текст будет через пару дней (причесать надо ;) )

gora 11-04-2006 10:16 426846

Oleg_Sch
Попробовал создать SFX архив из вашего примера №5.
1 Командой "COPY /b 7zSD.sfx + config.txt +7zSD_beta.7z 7z SFX Tools.exe" архив вообще не создался (пробелы в имени файла).
2 Командой "COPY /b 7ZSD.sfx + config.txt +7zSD_beta.7z 7z_SFX_Tools.exe" архив создался, но при запуске, после распаковки, выдает ошибку:
Код:

Error during execution "nowait:7z_SFX.chm".
He удается найти указанный файл.

папка C:\Program Files\7z SFX Tools\ и файлы в ней создались.
3 Правильно ли я понял, что для скрытия консольного окна файл hidcon.exe теперь не нужно упаковывать в архив, как раньше, все уже встроено в ваш модуль?

Vadikan 11-04-2006 10:38 426850

Из больших новшеств отмечу нтерактивный режим установки с возможностью выбора каталога распаковки. Переменные тоже очень удобны, когда не знаешь в какой языковой версии придется работать. Возможность выбора каталога я вообще долго ждал, хотя никак не озвучивал (а надо было ;-).

gora
Проблемы с пробелами в имени файла связаны с командой copy как я понимаю. Что же касается второй ошибки, а без nowait все работает? А если путь указать nowait:%%T\7z_SFX.chm

Да, hidcon встроен, и уже давно вроде.


Справка обновлена, кстати. Картинок добавилось для наглядности.

SyCraft 11-04-2006 10:50 426856

может мне как то поплохело от Кофе, но не могу отыскать ссылку на загрузку модуля..
дайте пожалуйста прямую)
Спасибо за внимание!

gora 11-04-2006 11:14 426868

Vadikan
Цитата:

Проблемы с пробелами в имени файла связаны с командой copy как я понимаю.
Это даже интересно. Через GUI можно, а через сору нельзя? Я правда раньше не создавал через copy с пробелами в имени файла, но в GUI пробовал как раз по вашей "наводке" и в последней версии все работало.
Цитата:

Что же касается второй ошибки, а без nowait все работает? А если путь указать nowait:%%T\7z_SFX.chm
Не работает ни один из предложенных Вами вариантов. А вообще я первый раз попробовал вариан скопированный из справки. Уж он то должен быть проверен автором в первую очередь, ведь это пример.
Цитата:

Да, hidcon встроен, и уже давно вроде.
Это Вы имеете доступ к вета версиям, а я, по рекомендации Олега в этой же ветке, встраивал его в архив ручками. И в последней, до сегодняшнего дня, верии этой документированной возможности не было.

SyCraft 11-04-2006 11:20 426871

) в Мозиле страница отбразилась не коррктно а в Опере на ура.
все нашел ссылку спасибо)

Vadikan 11-04-2006 11:25 426877

gora
Цитата:

Это даже интересно. Через GUI можно, а через сору нельзя?
А так работает?
Код:

COPY /b 7zSD.sfx + config.txt +7zSD_beta.7z "7z SFX Tools.exe"
В кавычки если взять имя файла?
Цитата:

Уж он то должен быть проверен автором в первую очередь, ведь это пример.
Гм, пример мой, сорри :) Но у меня работает и с nowait: и без. У вас может имя файла не то? В примере имя файла отличается от 7z_RU.chm.
Цитата:

Это Вы имеете доступ к вета версиям, а я, по рекомендации Олега в этой же ветке, встраивал его в архив ручками.
Еще в предыдущей документации (ноябрь 2005) это было описано...

SyCraft
На главной странице вторая строка http://7zsfx.solta.ru/downloads_RU.html

Oleg_Sch 11-04-2006 11:30 426879

To All
Не бейте сильно, и я и Vadikan занимаемся этим в свободное время, которого, как всегда, не хватает. Вот и получается неполноценное тестирование. Баги будут устраняться.

To gora
Цитата:

Это Вы имеете доступ к вета версиям, а я, по рекомендации Олега в этой же ветке, встраивал его в архив ручками. И в последней, до сегодняшнего дня, верии этой документированной возможности не было.
Возможность эта была давно (по крайней мере в ноябрьской есть), вот в хистори я забыл ее отметить, косяк, а в старом ридми, насколько я помню, упоминал.
Но все хорошо, что хорошо кончается. :)

Пошел травить жучков ;)

Vadikan 11-04-2006 11:36 426882

Страницу загрузок сейчас поправлю для Firefox, сорри.

Vadikan 11-04-2006 12:00 426891

Все ссылки в шапке.

Oleg_Sch 11-04-2006 12:50 426904

К багам своим еще добавились баги провайдера - проблема с линией, сервер 7zsfx.solta.ru может быть недоступен.
Если что - воспользуйтесь ссылками в шапке "Последняя бета" и "Справка", Vadikan разместил на oszone.net

gora 11-04-2006 13:09 426909

Vadikan Oleg_Sch
Прошу прощения, не правилино видимо сформулировал мысль
Цитата:

И в последней, до сегодняшнего дня, верии этой документированной возможности не было.
У меня в config файле (по подсказке Oleg_Sch) было
Цитата:

Или второй вариант про который я писал - с hidcon.exe: RunProgram="hidcon.exe /nw menu.exe"
Сам hidcon.exe можете взять здесь
то есть собственно небыло возможности использовать ключ "/nw", а теперь он есть
Цитата:

Вы можете не дожидаться окончания выполнения запущенной программы указанием префикса "nowait:"
По поводу
Цитата:

В кавычки если взять имя файла?
файл создается. Спасибо.
Цитата:

У вас может имя файла не то? В примере имя файла отличается от 7z_RU.chm.
извините не углядел, но после замены двух строк на
Код:

Shortcut="Du, {%%T\\7z_RU.chm}, {}, {}, {Modified 7-zip SFX module reference}, {}, {}"
RunProgram="nowait:%%T\7z_RU.chm"

эффект тот же. Ошибка. В качестве 7z архива использовался, скаченный сегодня, файл 7zSD_beta.7z. Что я не так делаю?

Oleg_Sch 11-04-2006 13:57 426920

Ошибка в RunProgram
Надо или так
Код:

RunProgram="nowait:\"%%T\\7z_RU.chm\""
т.е. дополнительные кавычки, т.к. после подстановки %%T содержит пробелы (при распаковке по умолчанию в "Program Files"). Обратите внимание - у вас после %%T один слеш (а надо два), а это тоже ошибка.

или так
Код:

RunProgram="nowait:7z_RU.chm"
папка распаковки текущая при запуске программы, поэтому ее (%%T) можно не указывать.

Проверил оба вариант - все ОК.

P.S. Сейчас глянул, да, и в справке ошибка. Я думаю завтра Vadikan ее исправит.

gora 11-04-2006 14:12 426921

Oleg_Sch Vadikan
Спасибо. Не доглядел. Виноват, каюсь.

SyCraft 11-04-2006 15:25 426940

Vadikan
Спасибо, зато накопал еще 7zSplit.7z и исходники, когда лазил с Американского IP через Fire Fox
забавный эффект) но спасибо)

Oleg_Sch 11-04-2006 15:44 426945

SyCraft
Цитата:

Спасибо, зато накопал еще 7zSplit.7z и исходники, когда лазил с Американского IP через Fire Fox
А можно подробнее, что значит накопал 7zSplit.7z и исходники ?
7zSplit лежит 7zsfx.solta.ru
А исходники... Для модифицированного модуля я выкладывал только для самого первого варианта. Для нового будут позже.

SyCraft 11-04-2006 16:18 426959

Oleg_Sch
ну тут вот такая штука
когда я открывал одну и туже страницу загрузки через FireFox и Opera
у меня во втором случае на выбор - справка и модуль
а в первом
Исходники, резалка и справка!
как такое может быть не вдавался но суть такова)

gora 11-04-2006 19:42 427019

Oleg_Sch
Имеется файл SetupDrivers.7z (67 712 457байт создан 7-Zip 4.31), и config файл
Код:

;!@Install@!UTF-8!
RunProgram="hidcon.exe /nw menu.exe"
BeginPrompt="Программа установки драйверов ТОЛЬКО для моего компьютера.\n Вы все-таки настаиваете на установке?"
InstallPath="%TEMP%"
GUIMode="1"
ExtractTitle="Распаковка..."
ExtractDialogText="Все батенька, теперь уже поздно ; )"
GUIFlags="30"
Shortcut="D, {%%T\\menu.exe}, {}, {}, {}, {Установка драйверов}"
;!@InstallEnd@!

Новые возможности модуля специально не использовались.
Создал архив со старым (версия 1.0.0.51123) и с новым 7zSD.sfx файлом. Старый SFX архив запускается, сразу бегут проценты и распаковывается за 30 сек. Новый после нажатия "Да" издает "булькающий" звук, 10 сек проценты стоят в нуле, потом медленно распаковывается и на все это тратит 77сек.
Почему такие тормоза, и что это за звук?

Oleg_Sch 12-04-2006 07:40 427102

gora
Со звуком буду разбираться чуть позже. Пока ничего определенного не скажу, кроме того, что в модуле я вообще звук не использую. Со временем распаковки - мой баг (связан с отладкой). Исправлено.
Страница загрузки обновлена. Все ссылки в шапке.

Vadikan 12-04-2006 08:09 427105

gora
На странице загрузок есть ЕХЕ SFX набор. Возьмите его и попробуйте установить. Если все получится, то у вас будет splitter. Им можно разбить EXE набор и посмотреть файл конфигурации, потом попробовать пересобрать набор заново.

SyCraft
Это комментарии в HTML коде почему-то попортили отображение страницы в Firefox. Вот потому и видны были "секретные" ссылки на несуществующие файлы.

gora 12-04-2006 09:48 427121

Vadikan
Спаибо уже скачал 7z_Tools.7z. Назначение splitter я знаю и уже раньше им пользовался. Вещь хорошая и нужная.
Oleg_Sch
Тормоза пропали, "бульк" остался.

ags 12-04-2006 12:06 427162

Люди! Напомните плз. чем отличается 7zS.sfx от 7zSD.sfx? я что-то подзабыл, а теперь найти не могу. Вроде бы что-то там касалось включения/невключения в sfx-модуль какой-то dll'ки, но точно что-то не помню. Ткните носом! Решил туту весь диск свой переделать и sfx-ы тоже соответственно с новыми модулями, а какой рекомендуется использовать забыл.:(

Oleg_Sch 12-04-2006 12:15 427164

To ags
Вот здесь http://forum.oszone.net/showpost.php...7&postcount=60 я объяснял.
Сейчас я не выкладываю модули, которые НЕ используют эту DLL и СЖАТЫХ модулей (также как и Игорь Павлов).

ags 12-04-2006 12:35 427170

Oleg_Sch

Спасибо! Теперь вспомнил. Короче, используем 7zSD

Oleg_Sch 13-04-2006 09:23 427416

Обновлено. Все ссылки в шапке.
History:
Код:

1.1 beta (build 258) (April 13, 2006):
* При отображении диалога распаковки БЕЗ использования в нем иконки, выводился "Стандартный звук" ("Default beep") Windows. (gora:forum.oszone.net)


Oleg_Sch 18-04-2006 09:08 428924

To All
Просьба.
А не могли бы вы меня "забомбить" своими конфигурационными файлами установок, которые вы делаете с помощью моего модуля ? У меня появились новые идеи, но для этого мне нужна кое-какая статистика. Сами архивы мне не нужны, только файлы конфигурации (вытащить их можно 7zsplit'ом)
Отправлять можно на адрес в файле справки, или на 7zsfxcfg (здесь должна быть "собака") solta.ru
Заранее спасибо!

gora 19-04-2006 08:03 429399

Oleg_Sch
1 Снова "бульк". Пример №5, изменена строка
Код:

GUIFlags="424"
Добавление строки
Код:

ExtractPathTitle="title_text"
проблему не решает.
2 Нельзя ли сделать так, чтобы 7zsplit config файл сохранял с расширением .txt ?

Oleg_Sch 19-04-2006 08:16 429402

To gora
1. Информацию принял. Буду смотреть.
2. Можно. На следующей неделе.

hobbeat 19-04-2006 13:05 429505

Цитата:

Oleg_Sch А не могли бы вы меня "забомбить" своими конфигурационными файлами установок, которые вы делаете с помощью моего модуля ?
Задумался. И понял что не сделал ни одного модуля для дела. Только для тестов своей программы. Такие дела.

gora 20-04-2006 08:56 429866

Oleg_Sch
А что должно отображаться на "Панели задач" при выборе опции "не отображать иконку в заголовке окон (и по Alt+Tab)"? Если иконка должна отображаться, то какая (если иконка SFX архива изменена)? Как задумано то?

Oleg_Sch 21-04-2006 05:08 430236

gora
Цитата:

А что должно отображаться на "Панели задач" при выборе опции "не отображать иконку в заголовке окон (и по Alt+Tab)"? Если иконка должна отображаться, то какая (если иконка SFX архива изменена)? Как задумано то?
На панели задач должна быть иконка модуля (если изменили родную, должна отображаться новая).
При переключении по Alt+Tab должна быть стандартная виндовозная иконка "приложения" (примерно такая http://tools.oszone.net/7zsfx/tmp/icon.png ).
По крайней мере, так должно быть в WinXP.

gora 21-04-2006 08:38 430257

Oleg_Sch
У меня наблюдается следующее.
Создаю SFX архив с иконкой А и не отмеченной опцией "не отображать иконку в заголовке окон (и по Alt+Tab)". Запускаю его - везде и на "Панели задач" отображаться иконка А. Далее пересоздаю тотже самый архив с иконкой В и отмеченной опцией "не отображать иконку в заголовке окон (и по Alt+Tab)". Иконка самого архива - В. Запускаю его - нигде больше иконок нет, а на "Панели задач" иконка А. Что бы это значило? Система XP SP2.

Oleg_Sch 21-04-2006 08:57 430263

Если Вы использовали для замены иконки GUI от hobbeat'а - то, насколько я знаю, иконка там НЕ ЗАМЕНЯЕТСЯ, А ДОБАВЛЯЕТСЯ (я пока детально не смотрел). Тогда возможна описанная ситуация.

gora 21-04-2006 09:08 430264

Oleg_Sch
Цитата:

Если Вы использовали для замены иконки GUI от hobbeat'а - то, насколько я знаю, иконка там НЕ ЗАМЕНЯЕТСЯ, А ДОБАВЛЯЕТСЯ (я пока детально не смотрел). Тогда возможна описанная ситуация.
Да, использовал GUI, но с Resource hacker-ом. А в этом случае, как я понял, иконка именно меняется. Извините, не отметил, что в описанном случае иконка А это тоже новая, а не родная иконка модуля.

Oleg_Sch 21-04-2006 09:18 430271

Можете бросить мне модуль с УЖЕ измененными иконками на почту (есть в справке). Посмотрю. Если в течение часа - сейчас, иначе - в воскресенье-понедельник.

qeraser 21-04-2006 13:06 430365

Очень хотелось бы кнопку Авто (автоматическая установка) помимо Да и Нет (включалась по желанию через GUI), чтобы не нажимать SHIFT + Да. Возможно ли?

YuriPet 24-04-2006 12:15 431151

Oleg_Sch
На мой взгляд, команду "Shortcut" Вашего замечательного модуля 7ZSfx крайне необходимо дополнить параметром, позволяющим назначить создаваемому ярлыку определенную иконку с указанием имени (и, может, пути) файла, ее содержащего.
Отсутствие такой возможности сейчас вынуждает во многих случаях отказываться от использования этой команды и создавать ярлыки с применением других средств.

Oleg_Sch 24-04-2006 12:36 431156

To
geraser
YuriPet

Ваши пожелания приняты, но, к сожалению, на этой неделе - никак. Очередной аврал, в лучшем случае - ближайшие выходные.

gora 25-04-2006 08:11 431338

Oleg_Sch
1 В справке
Цитата:

Выводит указанный текст НАД индикатором процесса распаковки (ProgressBar'ом).
Текст может быть многострочным, строки разделяются '\n'. Например, "Первая строка.\nВторая строка".
Если ввести
Код:

ExtractDialogText="1\n2\n3\n4\n5\n6"
и, при включенном флаге "отображать иконку в диалоге распаковки", в окне распаковки видим строки 1,2,3 строка 4 отсутствует (закрыта ProgressBar'ом), строка 5 срезана с верху, строка 6 нормальная. Если еще и флаг "отображать процент распаковки под индикатором процесса (ProgressBar'ом)" включен то и строка 6 не видна. Я понимаю, что это может быть перебор, но в справке нет ограничений на количество строк. При выключенном флаге "отображать иконку в диалоге распаковки" все строки видны над ProgressBar'ом.

2 А CancelPrompt= может быть многострочным? Опыт показал, что может, но в справке ничего не сказано. Что Вы скажете?

Oleg_Sch 25-04-2006 08:23 431340

To gora
1. Ну чтож... ToDo растет. записано, "будем посмотреть"
2. Да может (так же как и BeginPrompt, и HelpText)

DGB 28-04-2006 16:58 432488

ребят, подскажите, есть ли у этого замечательного модуля аналог WRar-овского параметра "Owerwrite=1"? и как она (и где) добавляется?

ups, сорри. у меня была старая ссылка на "Параметры" модуля. там не было. в новой нашёл...

Dimus 01-05-2006 22:31 433275

Олег, было бы очень нужным добавить в модуль возможность делать запароленные SFX архивы
попытка прикрутить модуль к запароленному 7z, после запуска выдала "Unsupported method"
а также возможность задавать пароль в коммандной строке при запуске архива не в открытрм виде, а, например, использовать MD5 хэш пароля,
типа
setup.exe -ai -y -gm2 -pmd5:5ebe2294ecd0e0f08eab7690d2a6ee69
(это слово "secret")
может конечно то что я прошу не реально, но из за этого пока в части случаев приходится пользоваться RAR'ом

Oleg_Sch 02-05-2006 03:32 433355

Сожалею, Dimus, но шифрование я не собирался (и пока не собираюсь) встраивать. Довольно мало задач (в рамках автоматической установки), которые это используют, а у меня мало времени :( Невозможно объять необъятное. Текущий ToDo я собираюсь выложить только в конце недели...

Dimus 05-05-2006 13:16 434633

Черт с ним с MD5. Нужно хотябы пароль в открытом виде в командной строке
например
setup.exe -ai -y -gm2 -p:secret
Пароль нужен! не хватает как воздуха...

Oleg_Sch 05-05-2006 13:42 434648

Может быть special for you...
Короче, моя стандартная фраза - "подумаю, но обещать ничего не буду" (с шифрованием в 7-zip я пока не разбирался, поэтому не могу ничего говорить). Чего-нибудь отвечу после праздников.
Кстати, о свободном времени... Новая версия откладывается до 10-12 мая, и снова из-за недостатка времени :( Так что, еще раз, обещать ничего не буду...

vampik 09-05-2006 18:52 436012

Обнаружилась проблема с модифицированным sfx-модулем, касающаяся всех версий.
Оказалось, что все версии некорректно работают с некоторыми архивами, которые сжаты LZMA + BCJ2. Сжатие производилось standalone консольными версиями 7-zip 4.32 и 4.40beta (разницы в результате между ними не обнаружено). Пример командной строки -
Код:

7za.exe a -t7z test.7z -i@list.txt -mx9 -m0=BCJ2 -m1=LZMA:d64m -m2=LZMA:d1m -m3=LZMA:d1m -mb0:1 -mb0s1:2 -mb0s2:3
(по умолчанию фильтр BCJ2 применяется только к исполняемым файлам и различаются они по жестко запрограммированному списку расширений, что неэффективно, если эти самые исполняемые файлы находятся в архивах без сжатия, поэтому приходится использовать подобную командную строку).
1. Дистрибутив Firefox 1.5.0.2 (исходный размер файлов - 18,6 МБ) - все работает.
2. Sun JRE 1.5.0.06 административная установочная точка (31 Мб) - все работает.
2. Мой перепакованный Nero 7.0.5.4 (97,6 МБ) - все работает.
2. Мой перепакованный Nero 7.0.5.4 c InCD (106 МБ) - все работает.
3. Мой перепакованный Nero 7.2.0.3b (те же 106Мб) - не работает!
4. Мой перепакованный Nero 7.2.0.3b с InCD (114Мб) - не работает!
"Не работает" выражается в том, что пару секунд отображается "0% Extracting", затем версия 1.0.0.51123 просто закрывается без каких-либо сообщений об ошибке, а новая версия, несмотря на ошибку распаковки, пытается запустить программу, указанную в конфиге, что у нее, естественно, плохо получается. При этом 7-zip открывает и распаковывает все архивы без проблем!
И оригинальный 7-zip setup sfx из дистрибутива 7-zip тоже работает нормально! Проверено на sfx-модулях версий 4.37beta и 4.40beta. Раз оригинальный модуль от 4.37beta работает нормально, значит что-то не так с модификацией.

melato 25-05-2006 19:41 442391

Как можно в параметрах запускаемого батника указать путь распаковки?
Проблема в том, что если указывать run.bat %%T, то путь приходит без кавычек=>иногда обрезается(передаётся двумя параметрами, а нужно одним). Если же указать run.bat \"%%T\", то приходит путь с 3(!) двойными кавычками с каждой стороны. Или это особенность моего компа? Версия модуля 1, 1, 0, 258.

P.S. В оригинальном модуле вроде такого нет (специально это проверил).

SAOPP 27-05-2006 00:34 442893

Oleg_Sch
Можно ли внести ключ в реестр с помощью данного модифицированного модуля?

vampik 27-05-2006 03:32 442923

Можно из батника запустить reg-файл. sfx-модуль - не инсталлятор!

SAOPP 27-05-2006 10:42 442959

vampik
:laugh: это и делаю как раз, просто reg add не хотел юзать...

aka Nemesis 01-06-2006 09:44 444958

Подскажите новичку как создать такой SFX архив, чтобы в инсталляторе во время установки программы например в D:/video запускался SFX архив и разорхивировал файлы в эту самую папку. При этом чтобы не появлялось окно, в котором самому надо указать папку, в которую будет сделана разорхивация. Только вот папка разорхивации не постоянная, путь распаковки выбирается инсталятором.

SAOPP 01-06-2006 09:55 444960

aka Nemesis
Почитай внимательно это, а после подробного изучения, прочти это. В последствии как создавать sfx архив - смотри первый пост...

aka Nemesis 01-06-2006 11:17 444986

Как создать SFX архив я знаю. Но как заставить архив распаковываться в ту папку, которую укажет инсталятор, понять не могу.

Oleg_Sch 01-06-2006 12:18 445009

Можно подробно ОБО ВСЕМ! Правильно указанные исходные данные - половина ответа.
Не стесняйтесь говорить подробно, и, возможно, я смогу ответить конкретнее.

YuriPet 01-06-2006 15:04 445093

Oleg_Sch
Сегодня 1 июня... :rolleyes:

Oleg_Sch 01-06-2006 15:25 445106

To YuriPet
Цитата:

Сегодня 1 июня...
Не понял... И что ? Новый модуль ? Готов. Хотите ? Завтра будет в общем доступе. Но без доков. Если не верите, что я все же им занимаюсь - спросите vampik'а, он уже две промежуточные версии получил (как лучший бета-тестер :) )
Ребята, извиняйте, времени... Эх, почему не 25 часов в сутках...

Вот, то, что успел сделать
Код:

1.1 beta (build 3??) (June ??, 2006)
# Использован исходный код 7-Zip версии 4.42 от 14 мая 2006 г.
* Неверное отображение кнопки выбора папки при включенных стилях (схемах) Windows XP
* Некорретное отображение ExtractDialogText при количестве строк больше 2 и включенном отображении иконки (gora:forum.oszone.net)
* При отображении диалога указания пути распаковки выводился "Стандартный звук" ("Default beep") Windows. (gora:forum.oszone.net)
* Некорректная передача параметров исполняемой программе, указанных в командной строке модуля (vampik:forum.oszone.net)
* Некорректная передача пути распаковки с пробелами через переменную %%T (melato:forum.oszone.net)
+ Отображение иконки в диалоге указания пути распаковки (через 'GUIFlags')
+ Запрет на исполнение RunProgram и AutoInstall'ов из командной строки (ключ -nr)
+ Переменная %%S - полный путь к папке, в которой расположен архив установки (vampik:forum.oszone.net)
+ Назначение иконки ярлыку в параметре Shortcut (YuriPet:forum.oszone.net)

Выложить без доков ?

gora 01-06-2006 16:49 445170

Oleg_Sch
Цитата:

Выложить без доков ?
Конечно, бог с ними с доками.

Цитата:

+ Отображение иконки в диалоге указания пути распаковки (через 'GUIFlags')
Значит GUI опять не будет работать из-за нововеденного параметра?
Эх, где же наш дембель? Загулял или совсем нас забросил?!

Нельзя ли шапке отображать номер версии модуля, а то гадай уже новый или еще старый лежит?

Кстати вопросик: Spliter может извлекать config файл из SFX архива, сделанного стандартным 7-Zip? У меня не получилось. Вы его тоже обещали подправить, как с ним дела? Извините за offtop.


YuriPet 01-06-2006 16:51 445171

Выкладывать "сырой" продукт, или нет - решает автор! ;)
А мне лично (может тоже чего подскажу - чем черт не шутит), можно? :shuffle: Например, на E-mail (есть в профиле).

Oleg_Sch 01-06-2006 17:14 445188

Ладно... Получайте...
http://7zsfx.solta.ru/alpha/7zSD_301.7z (примерно 65 КБ)
Это то, что получил сегодня vampik
Только не спрашивайте меня, почему их (модулей) так много в этом архиве... Доков пока никаких, окромя приведенного хистори :(
Только вот это http://7zsfx.solta.ru/new/parameters_RU.html можно глянуть

To gora
В следующем официальном выкладывании так и сделаю (про версию)...

SAOPP 01-06-2006 17:24 445197

Oleg_Sch
C нетерпеньем жду доков!!! :)

vampik 02-06-2006 13:07 445574

Цитата:

Вот, то, что успел сделать
Кстати, не упомянута ошибка с распаковкой некоторых архивов, из-за которой я собственно в первый раз и обращался.

SAOPP 02-06-2006 20:52 445769

Oleg_Sch
Вопрос следующий, указывание расширения файла (если он один в папке) не обязательно насколько я понял для того что бы сделать его ярлык?
Я случайно забыл указать расширение, оставив строчку так:
Код:

Shortcut="Pu, {%%T\\ProgramFile}, {}, {}, {}, {ProgramName}, {%%T}"
И всё нормально ассоциировалось, глюк это или так и должно быть? :)

gora 05-06-2006 14:54 446757

Oleg_Sch
Прошу разъяснить работу ключа -gfX. Вот 2 config файлы, с помощью которых созданы соответствующие SFX архивы (версия модуля 1.1.0.258):

Код:

;!@Install@!UTF-8!
Title="Установка FineReader 8.0"
BeginPrompt="Вы действительно хотите установить FineReader 8.0?\n1) Если нажать \"Да\", то произойдет интерактивная установка\n2) Если нажать \"Да\", удерживая клавишу \"Shift\", программа\nбудет установлена без вашего мудрого руководства."
AutoInstall="setup.exe /q"
RunProgram="\"setup.exe\""
GUIMode="1"
ExtractTitle="Распаковка..."
ExtractDialogText="Подождите, сейчас будут распакованы установочные файлы.\nУстановка начнется автоматически."
GUIFlags="62"
;!@InstallEnd@!

;!@Install@!UTF-8!
Title="FineReader 8.0 patch"
BeginPrompt="Установка этого патча снимет все триальные ограничения\nи решит проблему с сохранением документов с кирилицей.\n\nВы действительно хотите установить этот патч?"
RunProgram="\"patch.exe\""
InstallPath="%PROGRAMFILES%\\ABBYY FineReader 8.0 Professional Edition"
GUIMode="1"
ExtractTitle="Распаковка..."
ExtractDialogText="Подождите..."
GUIFlags="62"
;!@InstallEnd@!

1. Первый архив с ключами -ai -gf2 ставиться "тихо" без единого окна, а на второй архив ключ -gf2 ни как не действует. Почему так происходит?
2. Более того, при изменении на GUIMode="2" во втором файле, окно BeginPrompt= не исчезает. Этот ключ и флаг не действует на это окно? И почему в первом архиве ключ срабатывает?

zilexa 06-06-2006 18:07 447488

Hi, I hope the author of the modified 7zS.sfx knows English or someone else.

The modded 7zS.sfx is absolutely great! the reason I still used Winrar was because 7zip didn't had decent (good) SFX options. This modded version is truly a breaktrough.
Why o Why don't you contact the 7-zip creators? They should absolutely use your 7zS.sfx!

I have a question, I want my SFX to extract 3 folders to %programfiles% and then start an .INF file that is located in folder1.

This is the command to start the inf file:
Код:

rundll32.exe advpack.dll,LaunchINFSection %programfiles%\DVD-ReBuilder\SHORTCUTS.INF,DefaultInstall
This command WORKS, when I start it from Windows command prompt!

Now this is the Config.txt I use:
Код:

;!@Install@!UTF-8!
RunProgram="rundll32.exe advpack.dll,LaunchINFSection %programfiles%\DVD-ReBuilder\SHORTCUTS.INF,DefaultInstall"
InstallPath="%PROGRAMFILES%"
ExtractTitle="Easy Installer: Extracting..."
GUIMode="2"
;!@InstallEnd@!

After extraction it gives an error:
System cannot find given file.

Can you help me? Why does it not work?





I also have a suggestion: the newest official 7zS.sfx supports some new things:
Цитата:

-y switch for installer module (at runtime) specifies quiet mode for extracting.

Installer Config file format
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Config file contains commands for Installer. File begins from string
;!@Install@!UTF-8! and ends with ;!@InstallEnd@!. File must be written
in UTF-8 encoding. File contains string pairs:

ID_String="Value"

ID_String Description

Title Title for messages
BeginPrompt Begin Prompt message
Progress Value can be "yes" or "no". Default value is "yes".
RunProgram Command for executing. Default value is "setup.exe".
Substring %%T will be replaced with path to temporary
folder, where files were extracted
Directory Directory prefix for "RunProgram". Default value is "..\\"
ExecuteFile Name of file for executing
ExecuteParameters Parameters for "ExecuteFile"


You can omit any values.

There are two ways to run program: RunProgram and ExecuteFile.
Use RunProgram, if you want to run some program from .7z archive.
Use ExecuteFile, if you want to open some document from .7z archive or
if you want to execute some command from Windows.

If you use RunProgram and if you specify empty directory prefix: Directory="",
the system searches for the executable file in the following sequence:

1. The directory from which the application (installer) loaded.
2. The temporary folder, where files were extracted.
3. The Windows system directory.
Perhaps you could base any new compile on this official one, or the official authors replace their 7zs with yours :)

Vadikan 06-06-2006 23:44 447707

zilexa
Did you try to put the command in the batch file and run the batch file intead? It'll run silently if you prefix the command with hidcon
Код:

RunProgram="hidcon:install.cmd"
Цитата:

I also have a suggestion: the newest official 7zS.sfx supports some new things:
Looks like these new things are inspired by the modified module :)
Цитата:

Perhaps you could base any new compile on this official one
I'm sure the author (Oleg_Sch) will do this in the next release. His module usually retains all original functionality while adding extra features.
Цитата:

the official authors replace their 7zs with yours
I don't think Igor Pavlov is really interested in it. I mean, he may like the module, but would hate to support it :) On the other hand, we aren't ready to provide assistance to international audience, because the English manual is pending...

zilexa 07-06-2006 00:46 447722

@Vadikan, thanks for replying (in English ;) )
I didn't know about the hidcon (it's not in the README.txt file!) starting a file silently, thats a very good one!

The INF file installs a program and also start a CMD file (silently). But I could change the order, first start cmd file (with the quotes) and let the cmd file run the INF file.

Problem is, I also add Uninstall info in Windows, and for uninstalling, the same CMD file and INF file need to run (silently without windows flashing).
Thats why I choose the order INF file first and let INF file start CMD file silently. But I will now use this order for uninstalling and the other way for installing. Thanks for the help.

the inf file is only used to create shortcuts, by doing this with inf instead of cmd shortcuts will be created correctly even for Russian Windows :) I will release the installer very soon, for who is interested.

Vadikan 07-06-2006 01:54 447733

zilexa
The modified module is capable of creating shortcuts in certain places (Desktop, Start menu, Programs menu, Startup) either for the current user, all users or both. I think it was documented in old English help file, we should be able to dig it up, but again, at this point translation is not done.

zilexa 12-06-2006 22:44 449841

Thanks for the info! I found a few posts with code about shortcuts in this thread. But I need the INF file to create a Registry entry as well. Also, from what I've seen I am not sure if the modified module would create the shortcuts in Start Menu\Programs for ALL languages (in Dutch: "Menu Start\Programma's"). The INF file can.

I actually modified my INF file, it can do everything the install requires now very fast, doesn't need the CMD batchfile. So I tried some more tests to let the modified 7zS.sfx module run the INF file, no luck, but I think it must be possible because I found a post with this complex command:
Код:

RunProgram="StartX.exe /WAIT \"msiexec /i Adobe7.msi /qn\""
ofcourse in this example it is nonsense, since StartX and msiexec don't need to be called with the modified module. But it seems it can handle these complex commands so it must be able to handle this as well:

Код:

;!@Install@!UTF-8!
ExtractTitle="Easy Installer for DVD copying!"
BeginPrompt="Start the DVD-ReBuilder Easy Installer?"
GUIMode="2"
InstallPath="%PROGRAMFILES%"
RunProgram="rundll32.exe advpack.dll,LaunchINFSection %programfiles%\DVD-ReBuilder\SETUP.INF,DefaultInstall"
;!@InstallEnd@!

But it doesn't.

I am going to test the official 4.42 7zS.sfx version now.

EDIT
Check this out, the official 7zS.sfx + this config.txt:
Код:

;!@Install@!UTF-8!
Title="Easy Installer for DVD copying!"
BeginPrompt="Start the DVD-ReBuilder Easy Installer?"
ExecuteFile="C:\Windows\system32\rundll32.exe"
ExecuteParameters="advpack.dll,LaunchINFSection C:\Progra~1\SETUP.INF,DefaultInstall"
;!@InstallEnd@!

This runs the INF file (located in C:\Program Files, Progra~1 is the DOS 8:3 name) just fine!
BUT: if I replace "C:\Windows" for "%systemroot%" and "C:\Progra~1" for "%programfiles%", it fails.
Also I can't use the official since I can't give a path to extract... I hope Oleg_Sch will update his modified module soon :)
Oh but I read on http://unattended.solta.ru the latest versions are dated on 11 July 2005.. does this mean the modified module isn't being developed?

EDIT, thanks Oleg_Sch for all the help, everything works fine :)

desperate 23-06-2006 11:21 453988

НЕ удаляеться временная папка
 
После тихой установки Photoshopa не удаеться временная папка... программа запакована 7-zip'ом
вот мой config.txt
Код:

;!@Install@!UTF-8!
RunProgram="hidcon:install.bat"
ExtractTitle="Photoshop CS2"
GUIMode="1"
;!@InstallEnd@!


vek 23-06-2006 11:38 453997

desperate
Из справки по модулю: "Параметры файла конфигурации" http://tools.oszone.net/7zsfx/parameters_RU.html:
Код:

Delete="file_or_folder_name"
Удаляет указанный файл или папку ПОСЛЕ установки.
Если указанное имя является папкой, то она будет удалена вместе со всем содержимым.
ВНИМАНИЕ! Будьте осторожны, чтобы не указать что-нибудь вроде "C:\Windows" ;-)
Переменные среды и относительные пути допустимы. Текущей папкой при выполнении команд 'Delete' является папка, в которой находится файл SFX установки (для остальных команд текущей папкой является папка распаковки).
Команд 'Delete' может быть сколько угодно, обрабатываться они будут в той последовательности, в которой идут в конфигурационном файле.

desperate 23-06-2006 19:27 454207

а при таком подходе, она удаляеться слишком рано, т.е. батник после распаковки не успевает отработать, а как результат - часть файлов нне найдена

Oleg_Sch 24-06-2006 01:25 454323

desperate
Я уже как-то тут писал про дочерние процессы, полистайте назад, скорее всего это ваш случай.
Не видя install.bat, предположу, что из него добавляется какая-нибудь информация в реестр, а потом запускается какой-нибудь setup.exe
Чтобы дождаться выполнения этого setup.exe, попробуйте запустить его через start, т.е. в install.bat
Код:

start /WAIT setup.exe

Oleg_Sch 26-06-2006 12:32 454882

To All
Ребята, я тут немножко потерялся, от вас было много вопросов, а ответов я не давал. Просьба: кто еще не разобрался с какими-то проблемами, повторите вопросы. Ближайшую неделю я собираюсь посвятить вам. Постараюсь на все ответить.
Надеюсь на следующей неделе будет новая версия.

gora 26-06-2006 13:19 454907

Oleg_Sch
1. Повторять пост наверное не целесообразно. Пост №207, вроде нашел ключ -у, но хотел бы услышать ваш ответ.

2.
Цитата:

Q 2 Нельзя ли сделать так, чтобы 7zsplit config файл сохранял с расширением .txt ?

A 2. Можно. На следующей неделе.
Уточните срок.

3. Может ли 7zsplit извлекать config файл из стандартного (созданного не с помощью вашего модуля) SFX архива ?

Oleg_Sch 26-06-2006 13:38 454919

gora
Принято.
Цитата:

1. Первый архив с ключами -ai -gf2 ставиться "тихо" без единого окна, а на второй архив ключ -gf2 ни как не действует. Почему так происходит?
2. Более того, при изменении на GUIMode="2" во втором файле, окно BeginPrompt= не исчезает. Этот ключ и флаг не действует на это окно? И почему в первом архиве ключ срабатывает?
1. Ключ gfX (и параметр GUIMode="x") влияет ТОЛЬКО на отображение окна распаковки. Чтобы подавить вывод окна BeginPrompt надо указать -y или -ai
Цитата:

2.
Цитата:
Q 2 Нельзя ли сделать так, чтобы 7zsplit config файл сохранял с расширением .txt ?

A 2. Можно. На следующей неделе.

Уточните срок.
Можно. На следующей неделе. :) Шутка. Тестовый вариант постараюсь дать завтра-послезавтра. Будете тестером :), в смысле ссылка будем в ПМ
Цитата:

3. Может ли 7zsplit извлекать config файл из стандартного (созданного не с помощью вашего модуля) SFX архива ?
Да и текущий вариант должен. Проверю.

gora 26-06-2006 14:38 454950

Oleg_Sch
Цитата:

Да и текущий вариант должен. Проверю.
У меня не получается. Выдает ошибку
Цитата:

D: \Setup_Windows\SetupDrivers\SetupDrivers. exe:
Coud't find 5FX config. Config file not writed.
и следом за ним
Цитата:

Nothing to do.

gora 11-08-2006 15:40 471037

Oleg_Sch
Цитата:

Надеюсь на следующей неделе будет новая версия.
Цитата:

Можно. На следующей неделе. Шутка. Тестовый вариант постараюсь дать завтра-послезавтра. Будете тестером , в смысле ссылка будем в ПМ
Где обещанное Вами? Или когда будет, а то hobbeat не признает вашу
Цитата:

"даже-не-бета"
версию ;) модуля и ждет официальной версии? Можно ли ускорить ее выход?

DmitryOlenin 14-08-2006 13:59 471807

Oleg_Sch
Давно хотел спросить... Поиск по теме не помог.
Пользуюсь уже довольно давно вашим модулем 7zSDC.sfx (41*472 байт, версия файла - 1, 1, 0, 258), он дает разницу почти в 50Кб в итоговом архиве в сравнении с вашим последним 7zSD.sfx (86*528 байт, версия файла - 1, 0, 0, 51123).
В чем отличия этих модулей?

YuriPet 14-08-2006 20:18 471992

DmitryOlenin
Цитата:

В чем отличия этих модулей?
UPX? ;)

Pa3BED4UK 10-09-2006 17:52 483144

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

Vadikan 12-09-2006 10:59 483805

Pa3BED4UK
Что-то сходу не могу сказать, как это сделать красиво. Ну в крайнем случае команду можно сделать типа
Код:

ping 127.0.0.0 > nul

Pa3BED4UK 12-09-2006 14:08 483862

не мог бы расписать по-подроадробней.

gora 13-09-2006 18:33 484507

Pa3BED4UK
Если я Вас правильно понял, то Вам нужно просто распаковать содержимое архива. Если так, то вот два варианта:

Первый, "недокументированный" (в справке по модулю не нашел такого варианта ; ) ) - просто удалите/не вписывайте в файл конфигурации параметр "RunProgram=". У меня работает.
Второй - используйте параметр командной строки "-nr". Подробнее см. справку на модифицированный модуль версии 1.1.0.301 (в более ранних версиях параметр отсутствует).

Pa3BED4UK 16-09-2006 15:27 485619

Действительно мне надо просто распаковаь архив над написнным подумаю. Спасибо Vadikan и gora. Если у кого-то есть ещё варианты, - не забудьте поделиться )

neitral72 01-10-2006 01:17 491769

Вопрос: можно ли сделать что-то вроде FinishMessage допустим "установка завершена"

Prince Mandor 12-10-2006 14:24 496775

Подскажите, пожалуйста, а работает ли данный sfx с 7z443?
Я делаю архив используя 7z версии 4.43, в архиве .cmd и папка с ещё тремя .cmd
Делаю самораспаковывающийся архив. Он работает (рисует окошки с праивльным prompt), но ничего никуда не распаковывает (проверял запуская из RunProgram команду start -- каталог Temp\7ZipSfx.000 девственно чист).
Где могут быть грабли?

gora 12-10-2006 14:55 496798

Prince Mandor
Приведите ваш config файл, тогда, возможно, получите ответ!

exFirst 16-10-2006 13:24 498472

весь мануал перерыл, но ответа так и не нашел. Как в конфиге указать, что б распаковалось в ту же папку, где и sfx находится? Это вообще реально?

snark 16-10-2006 14:50 498525

exFirst
Параметром
Код:

InstallPath="%папка с sfx%"
Цитата:

InstallPath="path_to_extract"
Указывает использовать ОПРЕДЕЛЕННЫЙ путь для распаковки.
Переменные среды (%SYSTEMDRIVE%, %PROGRAMFILES% и т.д.) допустимы, вместо них будут подставлены реальные значения.
При указании данного параметра, 'RunProgram' необязателен, данные будут просто распакованы в указанную папку. Если 'RunProgram' указано - будет выполнено. Папка установки с разархивированными данными в любом случае не удаляется.
Примечание: обязательно используйте ДВОЙНЫЕ обратные слеши в путях.
Например, InstallPath="%PROGRAMFILES%\\test".

gora 16-10-2006 14:58 498532

exFirst
В версии 1.1.0.301 модуля есть новая переменная
Цитата:

Так же в этих параметрах подстрока %%T будет заменена полным путем распаковки, а подстрока %%S - полным путем к файлу SFX-установки.
но у меня она почему то не работает т.е.
Код:

InstallPath="%%S"
создает рядом с sfx-архивом папку с именем %%S и все распаковывает в нее.

Oleg_Sch
Может подскажете в чем дело?

Oleg_Sch 16-10-2006 15:22 498550

Прежде всего... Перед всеми извиняюсь, но мне некогда заниматься модулем :( , поэтому не спрашивайте, когда будет новая версия. Как что-то появится - обязательно выложу и сообщу.

To gora
Вы правы, в InstallPath %%S не подставляется :( , мой недочет, исправлю (но не знаю когда :( )

To exFirst
Цитата:

весь мануал перерыл, но ответа так и не нашел. Как в конфиге указать, что б распаковалось в ту же папку, где и sfx находится? Это вообще реально?
Реально. Попробуйте
Код:

InstallPath="."
Должно работать

snark 16-10-2006 15:31 498555

Работает. Распаковывает в ту же папку, где находится сам архив. :)

exFirst 16-10-2006 21:35 498695

Oleg_Sch, спасибо, сработало.

-----

Только недавно открыл для себя ваш сфикс. Господа, реально восхищен. Супер алгоритмы сжатия сфикса плюс реальный интерфесс... супер, иначе не скажешь, вот только просьба одна... для новичков, в мануале пропишите в мануале (chm) каким собсна раком они (сфикс из простого архива) создаются... ну не слова же. Или в шапке, большими буквами волшебную строчку..

copy /b 7zSD.sfx + config.txt + archive.7z archive.exe

меньше вопросов будет.

-----

спасибо

Fanzuga 28-10-2006 21:56 503848

Пытался использовать данный SFX модуль с архивами созданными новыми версиями 7-zip (4.4x). Созданный SFX-архив оказался неработоспособен. Распаковка обрывалась в результате на 15-20% прогресс-бара, в указанную папку файлы не распаковывались. Пришлось откатиться на версию архиватора 7-zip 4.32. Создал архив старой версией. Собрал SFX с теми же модулем 7zSD.sfx и файлом конфигурации config.txt - все заработало.

Видимо с новыми версиями 7-zip модуль работает некорректно. :(.

qeraser 29-10-2006 04:25 503923

Fanzuga
Я уже давно пользуюсь 7.42 и все в порядке. Какой у Вас виндовс, случаем не 2000? В нем я таккое наблюдал с новой версией.

Fanzuga 29-10-2006 05:23 503924

qeraser
Windows XP SP 2.

И еще обратите внимание на этот пост.

PS. А что за версия 7.42? ;).

Vovanchik 29-10-2006 09:26 503962

Fanzuga

подтверждаю. сам долго копал в чем дело, так и не раскопал. обновил версию sfx модуля на текущую бету и вроде как все заработало

jameszero 29-10-2006 10:45 503975

Fanzuga
Сталкивался с неработоспособными sfx, когда при создании основных архивов использовался 7-zip версии 4.33beta.
Откатился на версию 4.32 - полёт нормальный. Видимо действительно, с новыми версиями архиватора модуль работает некорректно.

Fanzuga 29-10-2006 13:53 504016

Стало быть будем ждать пока Олег учтет изменения последних версий, а пока гарнтированно рабочая версия для создания архивов - 4.32.
Надо бы это в шапке отметить.

Oleg_Sch 29-10-2006 14:27 504027

Цитата:

Стало быть будем ждать пока Олег учтет изменения последних версий, а пока гарнтированно рабочая версия для создания архивов - 4.32.
Надо бы это в шапке отметить.
Пилот будет завтра. Сейчас сижу-занимаюсь, делаю на основе 4.42 (будет немножко нового :) ). Потестируете недельку, я за это время документацию подправлю. Если все будет нормально - сделаю ее stable.

Oleg_Sch 29-10-2006 17:28 504073

Выкладываю сейчас, потому как завтра как минимум до 12-13 МСК буду в полном оффлайне.
История:
Код:

1.1 beta (build 457) (October 29, 2006)
* В InstallPath не подставлялась переменная %%S (gora:forum.oszone.net)
+ FinishMessage в кофигурационном файле (neitral72:forum.oszone.net)
+ Поддержка новых параметров оригинального модуля: ExecuteFile, ExecuteParameters, Progress, Directory
+ Множественное использование RunProgram, ExecuteFile и всех AutoInstall'ов

1.1 beta (build 301) (June 1, 2006)
# Использован исходный код 7-Zip версии 4.42 от 14 мая 2006 г.
* Неверное отображение кнопки выбора папки при включенных стилях (схемах) Windows XP
* Некорректное отображение ExtractDialogText при количестве строк больше 2 и включенном отображении иконки (gora:forum.oszone.net)
* При отображении диалога указания пути распаковки выводился "Стандартный звук" ("Default beep") Windows. (gora:forum.oszone.net)
* Некорректная передача параметров исполняемой программе, указанных в командной строке модуля (vampik:forum.oszone.net)
* Некорректная передача пути распаковки с пробелами через переменную %%T (melato:forum.oszone.net)
* Невозможность распаковки некоторых архивов созданных консольной версией 7-Zip'а (vampik:forum.oszone.net)
+ Отображение иконки в диалоге указания пути распаковки (через 'GUIFlags')
+ Запрет на исполнение RunProgram и AutoInstall'ов из командной строки (ключ -nr)
+ Переменная %%S - полный путь к папке, в которой расположен архив установки (vampik:forum.oszone.net)
+ Назначение иконки ярлыку в параметре Shortcut (YuriPet:forum.oszone.net)

Архивов два:
1 - Оригинальный (тот, который всегда и использовался) http://7zsfx.solta.ru/beta/7zsd.7z (примерно 36Кб)
2 - Оригинальный (в данном архиве - 7zsd_lzma.sfx) + дополнительные методы компрессии (кто ими пользовался - поймет) - http://7zsfx.solta.ru/beta/7zsd_extra.7z (примерно 64 Кб)
На конкретные вопросы о методах постараюсь ответить.

По новым параметрам:
Те, которые относятся к сборке 301 - можно посмотреть здесь http://7zsfx.solta.ru/new/
По текущей сборке:
FinishMessage - если указано, после всех операций (распаковка, запуск программ, удаление файлов, создание ярлыков и т.д.) будет выведено окошко с указанным сообщением. Текст может быть многострочным.

Теперь параметров запуска программ (RunProgram, ExecuteFile, все AutoInstall'ы) может быть несколько, обрабатываются они в той последовательности, в которой указаны в конфигурационном файле. Если для ExecuteFile применяется ExecuteParameters - они должны следовать парами (т.е. для каждого ExecuteFile должен присутствовать, пусть даже пустой ExecuteParameters=""). Алгоритм выбора следующий: если указано использование AutoInstall'а (Shift, командная строка) - используется он. Если нет - проверяется наличие ExecuteFile. Если и его нет - проверяется RunProgram.
При нескольких командах ожидается окончание предыдущей, после этого запускается следующая.
Для ExecuteFile действуют те же правила, что и для RunProgram, т.е. использование префиксов hidcon и nowait, заключение исполняемого файла в кавычки, например:
Код:

ExecuteFile="hidcon:\"%RunProgram%\\test1.cmd\""
Та-а-а-а-к... Вроде пока все.
Тестируйте (особено, с новыми >= 4.42 версиями архивов).
Огромнейшая просьба - отпишитесь ВСЕ, кто тестировал, независимо от результата (просто иногда не понятно - то ли пробовали и все хорошо и потому не пишут, то ли не пробовали :( ).
Что-нибудь вроде "пробовал на том-то на том-то, параметры были такие-то. Все ОК."
Или - "пробовал на том-то на том-то, параметры были такие-то. Там-то там-то вылезла ошибка / не сделалано то-то то-то..."
Полные конфиги в сообщениях приветствуются!

Пока все. Потихоньку займусь обновлением документации.

gora 30-10-2006 00:19 504180

Oleg_Sch
В архивах файлы датированные 07.04.06 и версии 1.0.0.60407, а последний модуль от 01.06.06 имел версию 1.1.0.301. Как это понимать?

Oleg_Sch 30-10-2006 00:41 504187

gora
Цитата:

В архивах файлы датированные 07.04.06 и версии 1.0.0.60407, а последний модуль от 01.06.06 имел версию 1.1.0.301. Как это понимать?
Правильно говорят - ночью надо спать. Извиняюсь, на полусонную голову не то залил :( Сейчас перезалил. Должно быть 1.1.0.457
http://7zsfx.solta.ru/beta/7zsd.7z
http://7zsfx.solta.ru/beta/7zsd_extra.7z
В предыдущем своем сообщении подправил ссылки/размеры

Brainrif 30-10-2006 01:54 504207

Молодец, а я уже успел скачать старое... :clever-ma

Oleg_Sch 30-10-2006 02:20 504209

Brainrif
Цитата:

Молодец, а я уже успел скачать старое...
Я еще раз извиняюсь, но ваш сарказм........ Я понимаю закачали бы несколько мегов, но 100 Кб....... Выкладывал я это в третьем часу ночи по своему местному времени, а подъем - в шесть.
"Хотели как лучше, получилось как всегда" (с) Чубайс (по-моему)

Brainrif 30-10-2006 03:38 504211

Да не обижайся... :yahoo: Я это больше про себя сказал - типа поспешишь.... А то я сижу тут, парюсь - думаю че это с версией 4.43 не работает, а оказывается вот где собака зарылась. :vampire: Я даже в отличие от gora не посмотрел на даты и версии, да собственно и некогда было - топоропился побыстрее сделать тихий установщик. :ninja: Вроде работает, правда ещё не все функции проверил, а вообще написал бы про всё, что он может прямо здесь в своем сообщении...

qeraser 30-10-2006 16:04 504472

Fanzuga
Цитата:

PS. А что за версия 7.42? :)
Это я подумал про 7zip и в голове крутилась семерка :). Конечно 4.32. Все работает

gora 30-10-2006 18:54 504563

Oleg_Sch
Цитата:

2 - Дополнительные методы компрессии (кто ими пользовался - поймет) - http://7zsfx.solta.ru/beta/7zsd_extra.7z (примерно 64 Кб)
Я бы исправил на: "2 - Оригинальный + дополнительные методы компрессии...", что бы было ясно, что можно не качать оба архива ;) .

7-zip версия 4.42; модуль версия 1.1.0.457 (7ZSD_LZMA.sfx).

1 Некорректное отображение ExtractPathText при количестве строк больше 2 (появляются дополнительные пустые строки по количеству строк в сообщении)
2 При отображении FinishMessage и HelpText выводится "Стандартный звук" ("Default beep") Windows. Так задумано? (не подумайте, что я против, может это и хорошо, я пока не определился).
3 Не сработал Progress="no". Я думал, что это уберет прогресс бар или все окно распаковки, но может я ошибаюсь? Тогда разъясните, что это?

Цитата:

Теперь параметров запуска программ (RunProgram, ExecuteFile, все AutoInstall'ы) может быть несколько
а) А сколько?
б) Как они маркируются, цифрами как AutoInstall'ы или вообще ни как?

Понимаю, что забегаю вперед, и это, наверное, будет в справке, но, идя Вам на встречу ;) ,
Цитата:

Огромнейшая просьба - отпишитесь ВСЕ, кто тестировал
а также учитывая
Цитата:

Потихоньку займусь обновлением документации.
позволил себе задать эти вопросы здесь и сейчас ;) .

Oleg_Sch 31-10-2006 00:42 504704

gora
Пока отвечу только на
Цитата:

а) А сколько?
б) Как они маркируются, цифрами как AutoInstall'ы или вообще ни как?
а) сколько душе угодно :)
б) никак не маркируются. прицип тот же, что и в 'Shortcut' или 'Delete' - обрабатываются последовательно в том порядке, в котором идут в конфигурационном файле, например
Код:

RunProgram="\"Setup.exe\" /s"
RunProgram="\"regedit\" settings.reg"

Сначала выполнится setup.exe, а после окончания его работы - regedit

По остальным вопросам - займусь. Можно увидеть ваш конфигурационный файл ?

Oleg_Sch 31-10-2006 10:00 504762

gora
Отвечу на остальные вопросы:
Цитата:

1 Некорректное отображение ExtractPathText при количестве строк больше 2 (появляются дополнительные пустые строки по количеству строк в сообщении)
Пофиксил. Обновление будет завтра.
Цитата:

2 При отображении FinishMessage и HelpText выводится "Стандартный звук" ("Default beep") Windows. Так задумано? (не подумайте, что я против, может это и хорошо, я пока не определился).
Нюанс работы функции MessageBox виндовозного API :( Когда указываешь вывод иконки в диалоге сообщения, она смотрит какая иконка (информация, ошибка и т.д.) и выводит соответствующий звук. Отложу это дело на "попозже"...
Цитата:

3 Не сработал Progress="no". Я думал, что это уберет прогресс бар или все окно распаковки, но может я ошибаюсь? Тогда разъясните, что это?
Еще раз проверил - все работает. Этот параметр полностью скрывает окно распаковки. Единственное, что могу предположить, почему у вас не сработало - вместе с Progress="no" был указан GUIMode (неважно где, в файле конфигурации или командной строке), а он имеет приоритет. Т.е. если не указан GUIMode - используется Progress, иначе - используется GUIMode.
Собственно этот Progress и не нужен, т.к. равносилен GUIMode="2", сделан для обратной совметимости с оригинальным модулем Игоря Павлова.

gora 31-10-2006 18:19 504971

Oleg_Sch
Цитата:

был указан GUIMode
Именно так. Спасибо, все понял. Конфигурационный файл уже не нужен. Извините, что так долго не мог его выслать, Съеден месячный трафик.

gora 01-11-2006 14:00 505296

Oleg_Sch
Еще несколько вопросов.
1.
Цитата:

+ Поддержка новых параметров оригинального модуля: ExecuteFile, ExecuteParameters, Progress, Directory
Как я понял это дань, которую Вы должны платить
Цитата:

для обратной совметимости с оригинальным модулем Игоря Павлова
Правда он пишет в справке к 7-Zip
Цитата:

Есть два пути запуска программ: RunProgram и ExecuteFile. Используйте RunProgram, если вы хотите запустить некоторую программу из .7z архива. Используйте ExecuteFile, если вы хотите открыть некоторый документ из .7z архива или, если вы хотите выполнить некоторую команду из Windows.
Есть ли разница использования ExecuteFile и RunProgram в вашем модуле (кроме необходимого параметра ExecuteParameters)? Если RunProgram годиться и для первого и второго, из перечисленного в справке к 7-Zip, то можно ли обходиться одними RunProgram? К тому же они не требуют дополнительного параметра типа ExecuteParameters.

2.
Цитата:

+ Множественное использование RunProgram, ExecuteFile и всех AutoInstall'ов
Про RunProgram и ExecuteFile Вы объяснили, а как с AutoInstall-ами? Без номера для Shift, и десять номерных для командной строки (как было раньше) или как то иначе? Как?

3. Что реально дополнительно дает использование параметра Directory? Мы же вроде обходились без него раньше?

4. Действует ли для RunProgram
Цитата:

Значение по умолчанию - "setup.exe"
и последовательность поиска файла
Цитата:

1 Директория из которой приложение (инсталлятор) загружено.
2 Временная директория, куда были распакованы файлы.
3 Системная директория Windows.
как в 7-zip?

5. Есть ли ключ командной строки для подавления вывода FinishMessage? Если нет то вроде нужен (для универсальности sfx-архива), примите заявку.

Oleg_Sch 01-11-2006 18:05 505440

gora
Прежде всего, сорри, что не успел сегодня выложить обновление. Постараюсь завтра часам к 8-9 МСК.
По вопросам.
1.
Цитата:

Есть ли разница использования ExecuteFile и RunProgram в вашем модуле (кроме необходимого параметра ExecuteParameters)? Если RunProgram годиться и для первого и второго, из перечисленного в справке к 7-Zip, то можно ли обходиться одними RunProgram?
Разницы почти никакой, можно обходится и одним RunProgram. Единственная разница (это будет в обновленном завтра) - для ExecuteFile необязательны дополнительные кавычки даже для имен с пробелами (там же может быть только имя исполняемого файла).
Параметр ExecuteParameters необязателен, он нужен только в том случае, если небходимо передать что-то в командной строке для ExecuteFile. При множественном использовании ExecuteFile и применении хотя бы для одного из них ExecuteParameters, необходимо их делать парами, пусть даже какие-то будут пустыми, примерно так:
Код:

ExecuteFile="File1.exe"
ExecuteParameters="/parameter1"
ExecuteFile="File2.exe"
ExecuteParameters=""
ExecuteFile="File3.exe"
ExecuteParameters="/parameter3"

2.
Цитата:

а как с AutoInstall-ами?
Да все так же...
Код:

AutoInstall="AutoInstall_1.exe /a"
AutoInstall="AutoInstall_2.exe /b"
...
AutoInstall5="AutoInstall_5_1.exe"
AutoInstall5="AutoInstall_5_2.exe"

Здесь логика простая - ищем первый указанный параметр (будь то какой-то из AutoInstall'ов, RunProgram и т.д.) и выполняем то, что в нем указано. Смотрим дальше в файле конфигурации, есть ли еще параметр с таким же именем. Если есть - исполняем, смотрим дальше... И так до конца файла конфигурации.
3.
Цитата:

Что реально дополнительно дает использование параметра Directory? Мы же вроде обходились без него раньше?
Я и сам, собственно, не знаю зачем Игорь его сделал. Все что указано в этом параметре просто добавляется перед RunProgram, т.е.
Код:

RunProgram="notepad.exe"
Directory="C:\\Windows\\system32\\"

Равносильно
Код:

RunProgram="C:\\Windows\\system32\\notepad.exe"
4.
Цитата:

Действует ли для RunProgram
Цитата:
Значение по умолчанию - "setup.exe"
Нет, не действует. Я специально это убрал, чтобы можно было просто распаковывать в указанную папку ничего не исполняя.

Цитата:

и последовательность поиска файла

Цитата:
1 Директория из которой приложение (инсталлятор) загружено.
2 Временная директория, куда были распакованы файлы.
3 Системная директория Windows.

как в 7-zip?
Здесь Игорь немножко обманул. Вот последовательность поиска для функции CreateProcess виндовозного API:
Цитата:

1. The directory from which the application loaded.
2. The current directory for the parent process.
3. Windows 95/98/Me: The Windows system directory. Use the GetSystemDirectory function to get the path of this directory.
Windows NT/2000 or later: The 32-bit Windows system directory. Use the GetSystemDirectory function to get the path of this directory. The name of this directory is System32.

4. Windows NT/2000 or later: The 16-bit Windows system directory. There is no Win32 function that obtains the path of this directory, but it is searched. The name of this directory is System.
5. The Windows directory. Use the GetWindowsDirectory function to get the path of this directory.
6. The directories that are listed in the PATH environment variable.
У меня - все так же, т.к. функция одна и таже :).

5.
Цитата:

Есть ли ключ командной строки для подавления вывода FinishMessage? Если нет то вроде нужен (для универсальности sfx-архива), примите заявку.
Если FinishMessage не указан - ничего не будет выведено. А вот для автоустановок - да... Надо подумать... Может сделать, чтобы вывод автоматически подавлялся при любом AutoInstall ?

gora 01-11-2006 22:16 505562

Oleg_Sch
Цитата:

завтра часам к 8-9 МСК
Ну ладно, только не позже :) .
Цитата:

Нет, не действует. Я специально это убрал
Значит в вашей справке
Цитата:

RunProgram="command_for_executing"
Команда для исполнения. Параметр оригинального 7-zip SFX.
не совсем корректно?
Цитата:

Может сделать, чтобы вывод автоматически подавлялся при любом AutoInstall ?
Нет, я считаю это не выход. А если у меня в архиве нет AutoInstall-ов, а я хочу запустить один и тотже SFX-архив и с помощью, например, WPI без FinishMessage, а вручную с FinishMessage? Может лучше -gm4 (можно и -gm3)? А вот с помощью -gm3 я бы продублировал параметр оригинального 7-zip SFX -y. Вроде логично - подавление всех окон по нарастающей. Не сочтите за наглость, это только мои предложения - решать Вам.

P.S. Увлекся и забыл поблагадарить Вас за подробный и особо за быстрый ответ на все вопросы. Спасибо.

SiLeNcE thE KiLLeR 23-11-2006 08:32 515783

Создаю SFX инсталлятор. Во время распаковки выдает ошибку:

Error during execution "run.cmd"
Не удается найти указанный файл.

Смотрел Filemon'ом: архив распаковывается не до конца (всего 8 файлов из 50 ти), не находит run.cmd - поэтому и ошибка.

В чем дело? Может кто-нибудь с этим сталкивался.

Конфиг в UTF-8, все нормально.

qeraser 23-11-2006 08:54 515795

SiLeNcE thE KiLLeR
Может быть у вас включена опция не дожидаться окончания распаковки?
И вообще больш информации. (версия модуля, версия архиватора, содержимое конфига)

gora 23-11-2006 08:54 515796

SiLeNcE thE KiLLeR
Покажите ваш файл конфигурации. Версия модуля? Версия 7-zip? Не стесняйтесь, больше информации приведете - быстрее получите ответ.

Debugger 23-11-2006 10:40 515837

Oleg_Sch
Может в будущем как-нибудь введем в первое сообщение (о подтверждении распаковки) поддержку какой-нибудь картинки?

qeraser 23-11-2006 13:16 515913

Oleg_Sch
Насчет картинки, было бы замечательно

Oleg_Sch 23-11-2006 14:14 515942

All
До 30 ноября я в полном ауте :(

Debugger
qeraser
Можно подробнее, как вы это видите ?

Debugger 23-11-2006 14:37 515957

Oleg_Sch
Подробнее расскажу позже, пока сам еще не обдумал :) А кратко - наподобие самораспаковывающегося архива WinRAR (пример - инсталляшка Nero 6). Только более гибкая настройка, например поддержка картинок разных размеров и разного их расположения (сверху или по бокам). Просто я уже кучу софта затолкал в 7zip, много людей пользуется, хотелось чтобы посолиднее выглядело.

Oleg_Sch 23-11-2006 14:45 515963

Debugger
Вы подумайте и выскажите, как это видете. Лучше со скриншотами (нарисоваными, или примерными из других программ и т.д.). Потом уже буду думать я :)

dzh2000 23-11-2006 17:12 516058

Извините за ламерский вопрос, только начинаю изучать данную разработку.
С какими ключами запустить 7z.exe, чтобы подключить 7zSD.sfx и свой файл конфигурации?

qeraser 23-11-2006 17:30 516069

dzh2000
Цитата:

Теперь, когда в одной директории собраны все три файла (adobe7.7z, config.txt и 7zS.sfx), нужно из командной строки выполнить следующую команду
Код:

COPY /b 7zs.sfx + config.txt + adobe7.7z adobe7.exe

SiLeNcE thE KiLLeR 23-11-2006 18:20 516089

Цитата:

Может быть у вас включена опция не дожидаться окончания распаковки?
Нет, не включена. Вот config.txt:
Код:

;!@Install@!UTF-8!
RunProgram="hidcon:run.cmd"
GUIFlags="8"
;!@InstallEnd@!

Версия модуля: 1.1 (сборка 258)
Архиватор: 7-zip v4.43a4

qeraser 23-11-2006 18:43 516103

SiLeNcE thE KiLLeR
Эта версии sfx модуля некорректно работает с 7-zip v4.43.
Используйте нову версию из шапки.

gora 24-11-2006 08:37 516295

SiLeNcE thE KiLLeR
Цитата:

Версия модуля: 1.1 (сборка 258)
Архиватор: 7-zip v4.43a4
В истрии модуля написано
Цитата:

1.1 beta (build 301) 1 Июня 2006 г.

# Использован исходный код 7-Zip версии 4.42 от 14 мая 2006 г.
Так что Вам нужно не только обновить версию модуля, а может быть еще и откатиться с архиватором на v4.42 ;) .

qeraser
А от куда у Вас информация, что новая версия модуля должна работать с v4.43? Вроде Oleg_Sch этого нигде не анонсировал?

dzh2000
В шапке есть ссылка
Цитата:

Справочник - Создание SFX архива - 7-zip
зайдите, почитайте - все очень подробно и доходчиво написано.

qeraser 24-11-2006 09:07 516308

gora
В описании к новой версии указано:
Цитата:

Тестируйте (особено, с новыми >= 4.42 версиями архивов).

gora 24-11-2006 09:50 516320

qeraser
Я эту цитату понял так. "Пробуйте, возможно будет работать, а если нет отпишитесь."
В истории нет ничего об "использовании исходного кода 7-Zip версии > 4.42". Вы же пишете
Цитата:

Если я не ошибаюсь эта версии sfx модуля некорректно работает с 7-zip v4.43.
Используйте нову версию из шапки.
Меня, в вашем сообщении, удивила некоторая категоричность рекомендации, как будьто новая версия модуля должна решить возникшую у SiLeNcE thE KiLLeR-а проблему. Я в этом совсем не уверен, почему и спросил у Вас "откуда у Вас такая уверенность?". Теперь понятно, мы с Вами по разному трактуем эту фразу Oleg_Sch.

qeraser 24-11-2006 10:05 516327

gora
Я эту цитату понял также как Вы.
Новой версией 7зипа не пользовался, поэтому всю ситуацию с некорректной работой модуля не знаю. Судя потому, что новая версия модуля вышла относительно давно и никто пока не жаловался на работу с новым 7зипом, я и предположил что все нормально.
В следующий раз буду выражаться точнее, извиняюсь.

qeraser 28-11-2006 06:33 517791

Oleg_Sch
Хотелось бы возможность создавать ярлык с нестандартным расположением - например Quick Launch, а не только стандартные (раб.стол, пуск, автозагрузка)

gora 28-11-2006 08:22 517813

Oleg_Sch
Присоединяюсь к qeraser

Oleg_Sch 28-11-2006 09:16 517845

qeraser
gora

Ух, как вы :)
По поводу Quick Launch
На текущей версии можете попробовать указать в поле type (где всякие Du, P и т.д.) недокументированные ;) вещи: 26 для текущего пользователя и 35 для всех пользователей и указать папку ярлыка {Microsoft\\Internet Explorer\\Quick Launch} - должно сработать (самому сейчас не получается проверить). 26 должно работать при установленном IE 5 и выше, про 35 - не уверен, может быть только на шестерке и выше.
Примерно так:
Код:

Shortcut="26, {%ProgramFiles%\\Media Player Classic\\mplayerc.exe}, {}, {Microsoft\\Internet Explorer\\Quick Launch}, {Media Player Classic}, {Media Player Classic}"
По поводу остальных "нестандартных" подумаю, как лучше реализовать.

P.S. Отпишитесь о результатах, а то я сам не знаю сработает или нет :)

Oleg_Sch 28-11-2006 09:37 517853

В довесок к предыдущему сообщению бонус:
Код:

7zSfxFolder00=C:\Documents and Settings\Oleg_Sch\Рабочий стол
7zSfxFolder02=C:\Documents and Settings\Oleg_Sch\Главное меню\Программы
7zSfxFolder05=C:\Documents and Settings\Oleg_Sch\Мои документы
7zSfxFolder06=C:\Documents and Settings\Oleg_Sch\Избранное
7zSfxFolder07=C:\Documents and Settings\Oleg_Sch\Главное меню\Программы\Автозагрузка
7zSfxFolder08=C:\Documents and Settings\Oleg_Sch\Recent
7zSfxFolder09=C:\Documents and Settings\Oleg_Sch\SendTo
7zSfxFolder11=C:\Documents and Settings\Oleg_Sch\Главное меню
7zSfxFolder13=C:\Documents and Settings\Oleg_Sch\Мои документы\Моя музыка
7zSfxFolder14=C:\Documents and Settings\Oleg_Sch\Мои документы\Мои видеозаписи
7zSfxFolder16=C:\Documents and Settings\Oleg_Sch\Рабочий стол
7zSfxFolder19=C:\Documents and Settings\Oleg_Sch\NetHood
7zSfxFolder20=C:\WINDOWS\Fonts
7zSfxFolder21=C:\Documents and Settings\Oleg_Sch\Шаблоны
7zSfxFolder22=C:\Documents and Settings\All Users\Главное меню
7zSfxFolder23=C:\Documents and Settings\All Users\Главное меню\Программы
7zSfxFolder24=C:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка
7zSfxFolder25=C:\Documents and Settings\All Users\Рабочий стол
7zSfxFolder26=C:\Documents and Settings\Oleg_Sch\Application Data
7zSfxFolder27=C:\Documents and Settings\Oleg_Sch\PrintHood
7zSfxFolder28=C:\Documents and Settings\Oleg_Sch\Local Settings\Application Data
7zSfxFolder31=C:\Documents and Settings\All Users\Избранное
7zSfxFolder32=C:\Documents and Settings\Oleg_Sch\Local Settings\Temporary Internet Files
7zSfxFolder33=C:\Documents and Settings\Oleg_Sch\Cookies
7zSfxFolder34=C:\Documents and Settings\Oleg_Sch\Local Settings\History
7zSfxFolder35=C:\Documents and Settings\All Users\Application Data
7zSfxFolder36=C:\WINDOWS
7zSfxFolder37=C:\WINDOWS\system32
7zSfxFolder38=C:\Program Files
7zSfxFolder39=C:\Documents and Settings\Oleg_Sch\Мои документы\Мои рисунки
7zSfxFolder40=C:\Documents and Settings\Oleg_Sch
7zSfxFolder41=C:\WINDOWS\system32
7zSfxFolder43=C:\Program Files\Common Files
7zSfxFolder45=C:\Documents and Settings\All Users\Шаблоны
7zSfxFolder46=C:\Documents and Settings\All Users\Документы
7zSfxFolder47=C:\Documents and Settings\All Users\Главное меню\Программы\Администрирование
7zSfxFolder53=C:\Documents and Settings\All Users\Документы\Моя музыка
7zSfxFolder54=C:\Documents and Settings\All Users\Документы\Мои рисунки
7zSfxFolder55=C:\Documents and Settings\All Users\Документы\Мои видеозаписи
7zSfxFolder56=C:\WINDOWS\resources
7zSfxFolder59=C:\Documents and Settings\Oleg_Sch\Local Settings\Application Data\Microsoft\CD Burning

Это дополнительные переменные среды, которые присутствуют ТОЛЬКО в момент работы модуля. Взял со своей реальной машины, у вас положение папок и имя пользователя будут другими, конечно же.
А теперь сравните номера папок с цифрами, которые я указал в предыдущем сообщении и поймете куда еще можно сделать ;)

caveman007 28-11-2006 09:46 517858

Новый модуль (1.1 beta, build 457) прекрасно работает с 7-zip v4.43.7.0 при использовании Ultra - LZMA
Предыдущая версия не хотела распаковывать файлы, созданные 7-zip v4.43.7.0 (Ultra - LZMA)

Хотелось бы (если это сильно не увеличит размер модуля) добавить обратный таймер с прогресс-баром и кнопкой отмены

Oleg_Sch 28-11-2006 10:00 517864

caveman007
Цитата:

Хотелось бы (если это сильно не увеличит размер модуля) добавить обратный таймер с прогресс-баром и кнопкой отмены
Т.е. сколько ПРЕДПОЛОЖИТЕЛЬНО времени осталось до конца распаковки ? Или автозапуск самораспаковки после определенного интервала ?

caveman007 28-11-2006 10:17 517869

автозапуск самораспаковки после определенного интервала

очень удобно при запуске из RunOnce/RunOnceEx

Oleg_Sch 28-11-2006 10:22 517874

caveman007
Подумаю.

caveman007 28-11-2006 10:39 517878

огромное спасибо (за "подумаю") :)

gora 28-11-2006 11:00 517892

Oleg_Sch
Цитата:

Отпишитесь о результатах
Рапортую:
Код:

Shortcut="26, {%%T\\7z_RU.chm}, {}, {Microsoft\\Internet Explorer\\Quick Launch}, {Modified 7-zip SFX module reference}, {Modified 7-zip SFX module help}"
Shortcut="35, {%%T\\7z_RU.chm}, {}, {Microsoft\\Internet Explorer\\Quick Launch}, {Modified 7-zip SFX module reference1}, {Modified 7-zip SFX module help1}"

создались оба ярлыка в соответствующих папках, но на панели быстрого запуска появился только первый.

caveman007
Цитата:

добавить обратный таймер с прогресс-баром и кнопкой отмены
А в каком диалоге Вы себе это видете: BeginPrompt(который начальный), ExtractPath (который ввода пути) или ExtractDialog (который процесс распаковки)? И что это конкретно дает (вот здесь поподробнее пожалуйста, может и мне это очень надо, а я не знаю?)

Oleg_Sch 28-11-2006 11:35 517911

gora
Цитата:

создались оба ярлыка в соответствующих папках, но на панели быстрого запуска появился только первый.
Попробовал просто скопировать ярлык в All Users и Default User - да, винда игнорирует их. Значит для быстрого запуска можно использовать только текущего пользователя :(

Цитата:

А в каком диалоге Вы себе это видете: BeginPrompt(который начальный), ExtractPath (который ввода пути) или ExtractDialog (который процесс распаковки)? И что это конкретно дает (вот здесь поподробнее пожалуйста, может и мне это очень надо, а я не знаю?)
Если я правильно понял, человек имеет в виду BeginPrompt и автоматическое нажатие "да" спустя указаное время. При этом время на этой самой "да" показывается и убывает.

caveman007 28-11-2006 21:38 518129

Поподробнее так поподробнее:
я собираю диски с Unattended инсталляциями WinXP, которыми пользуются практически все мои знакомые. Кроме системы, там лежит проверенный надежный софт, которым большинство пользуется постоянно. Но имеются некоторые вещи, которые нужны не всем - как-то: Microsoft .NET или раскладка клавиатуры "Украинская, но апостроф вместо буквы Ё (by Shtirliz)"...
для примера - параметры файла конфигурации создания sfx
Код:

ExtractTitle=" распаковано"
ExtractDialogText="распаковка файлов в папку C:\U.Ptofi  "
InstallPath="C:\\"
GUIMode="1"
GUIFlags="56"
OverwriteMode="1"

т.е. интерфейс минимальный - можно проследить за процессом распаковки, но не вмешаться - поскольку установка ведется из RunOnceEx
Суть таймера в том, что кого всё устраивает, идет пить кофе, а кого - нет, посидит пару минут и отменит то, что ему не надо.
Предлагаю две фазы на фейсе 1) прогресс-бар укороченный, бежит в обратную сторону, справа от него кнопка отмены, в заголовке - обратный отсчет времени 2) после окончания отсчета кнопка отмены исчезает (или не исчезает - в зависимости от того, что написано в конфиге) , прогресс-бар показывает как положено состояние распаковки и т.д.

Karfax 01-12-2006 14:12 519404

Как отменить самоудаление SFX-файла по окончанию процесса установки? Использование ключей в коммандной строке не подходит.
У меня почему-то sfx-файл удаляется даже если в конфигфайле отсутствует SelfDelete="1"
Такое впечатление, что берется какой-то отфонарный конфиг, т.к. даже заголовок окна не тот, который я указываю.

И почему-то у меня распаковка 80-мегабайтного архива происходит за доли секунды. Такое впечатление, что он непольностью распаковывается.

gora 01-12-2006 14:22 519410

Karfax
Так собственно не вписывать в файл конфигурации SelfDelete="1", а уж если вписали, то только ключ '-sdX'.
Других вариантов нет. :)

Oleg_Sch
Цитата:

человек имеет в виду BeginPrompt и автоматическое нажатие "да" спустя указаное время
Да я тоже так думал (вроде самое удобное место для этого), ан нет. caveman007, по описанному им, предагает в ExtractDialog. Но я, к сожалению, так и не понял:

caveman007
1 SFX архив только распака без установки?
2 SFX архив один, а в нем весь софт кучей?
3 Если (п.2) - нет, сколько таких аривов?
4 Если (п.1) - да, чем устанавливаются (WPI или нечто подобное)?

gora 01-12-2006 14:52 519425

Karfax
Скачайте сплитер (с его помощью можно вытащить все составляющие SFX архива) и посмотрите, что у Вас в файле конфигурации в SFX архиве (который Вы запускаете), а уж потом сюда на доклад.

Karfax 01-12-2006 15:45 519446

Проделал это. Конфигуратор создавал при помощи GUI оболочки. Вот что в конфиге:

;!@Install@!UTF-8!
RunProgram="Descriptions.exe"
ExtractTitle="Распаковка пакета..."
GUIMode="1"
SelfDelete="1"
;!@InstallEnd@!

А вот то, что я вообще-то задавал:

;!@Install@!UTF-8!
Title="Идет распаковка...."
RunProgram="\"Descriptions.exe\""
ExtractTitle="Идет распаковка..."
;!@InstallEnd@!


Первый вариант - это я пробовал вчера сделать установку с таким конфигом. После этого тот конфиг был удален, комп несколько раз перезагружался. Но непонятно по каким причинам оно теперь все время подключает этот конфиг.

Кроме этого, оно еще и зам архив не тот прикрепляет: хоть после разделения sfx-файл на составляющие, размер у архива вроди совпадает, но его содержимое совсем не то и показывае, что содержимое весит ~1 Мб (этот архив я пробовал раньше прикреплять). Кроме того, сам 7zSD.sfx тоже не тот, а более раняя версия, которую я тоже использовар раньше.
Просто маразм какой-то.

caveman007 02-12-2006 01:23 519640

Цитата:

gora
1 SFX архив только распака без установки?
2 SFX архив один, а в нем весь софт кучей?
3 Если (п.2) - нет, сколько таких аривов?
4 Если (п.1) - да, чем устанавливаются (WPI или нечто подобное)?
предварительные замечания: в корне диска С: я создаю три папки, в которые складываю софт, не требующий инсталляции - его можно просто переписывать с диска на диск без потери работоспособности. Это U.Win (софт общего назначения - графические вьюверы, мелкие текстовые редакторы,..), U.Web, U.Profi (работа с реестром, жесткими дисками - короче, не для чайников :) ), U.Dos - каждая из папок пакуется в отдельный sfx-архив и каждый из архивов запускается отдельной строкой из RunOnceEx
1 - распака без установки
2 - SFX архивов несколько (а в нем весь софт кучей :) ) см. выше
4 - я сторонник минимализма - чем проще, тем меньше вероятности, что ты что-то где-то забудешь или сделаешь не так

Lexanson 03-12-2006 12:01 520193

Можно сделать, чтобы при отсутствии в конфиге значения ExtractDialogText, иконка отображалась слева от прогрессбара, а не над ним. В старой версии вроде так было. Если вписывать ничего не хочется - остается пустое поле, выглядит не очень.

gora 04-12-2006 12:34 520627

Karfax
Ваши проблемы скорее всего связаны с GUI, перемещайтесь туда (ссылка на ветку GUI в шапке) я Вам там ответил.

Lexanson
Если это вопрос, то ответ - нет, а если это пожелание, то ждите, что скажет автор.
А что, в ExtractDialogText совсем нечего написать? Можете, как альтернативу, попробовать указать "маленькое значение" в ExtractDialogWidth
Цитата:

Если вписывать ничего не хочется
Лень, конечно, двигатель прогресса :) , но...

caveman007
Цитата:

посидит пару минут и отменит то, что ему не надо.
1 Ну это Вы наверно приуменьшили. Надо ведь ждать всю установку Windows? А это не пара минут. Да еще не проследить появления окна с таймером, да еще и понять, что там написано (про то, чего пользователь лишиться, если отменит распаковку).
2 Если просто распаковать и вообще не выводить окон (диск то не треснет), а потом все равно устанавливать ручками? Пользователь сам потом решит, что ему нужно.
3 Если уж вводить таймер, то в окно BeginPrompt (который начальный), там и кнопки Да/Нет есть (можно не только отменить установку, но и прервать таймер и установить немедленно нажатием кнопки Да), и написать по больше о том, что будет ставиться, и автоустановка (AutoInstall) возможна только отсюда.
4 А если будет нужен ExtractPath, как быть с ним? Он же тормознет всю дальнейшую работу и таймер в том числе?

В вашем варианте, если я буду использовать BeginPrompt (мне нужна возможность AutoInstall) и захочу использовать таймер, то я сначала получу окно BeginPrompt, затем ExtractPath (как вариант), а уж только потом ExtractDialog с таймером! Ну и к чему он мне здесь?
Резюмируя все - Вы меня пока не убедили (я понимаю, что Вы и цели такой не ставили :) ) в необходимости таймера, но главное, чтобы убедили Oleg_Sch. Посмотрим, что он скажет.

Oleg_Sch 04-12-2006 13:36 520657

To All
Я более-менее освободился :) Через неделю-две будет обновление, и не просто обновление, а 2.0 alpha.
Основное изменение - DHTML вариант установки, вы ПОЛНОСТЬЮ сможете конфигурировать диалоги (наличие/расположение отдельных элементов) и варианты установки (сейчас я предусматриваю все варианты, нпр. таймер, выбор одного из вариантов автоматической установки из BeginPrompt'a и т.д), кто знает DHTML - поймет (кстати, я его пока знаю очень поверхностно). Думаю, придется заводить отдельную ветку "Скины для модифицированного модуля..." ;), где все знатоки DHTML смогут выставить свои решения.
Немножко терпения, все будет (но зависит от свободного времени :( )

caveman007 08-12-2006 09:35 522275

Oleg_Sch
Цитата:

кто знает DHTML - поймет (кстати, я его пока знаю очень поверхностно)
DHTML - это всего-лишь JavaScript + CSS :)
Тут же возникает вопрос - а почему не XML? Вроде во всех продвинутых проектах используется именно он, как обладающий большой гибкостью

Oleg_Sch 08-12-2006 14:57 522383

caveman007
Цитата:

DHTML - это всего-лишь JavaScript + CSS
Именно так. А надо больше ? Аргументируйте свои доводы в пользу XML, кроме
Цитата:

Вроде во всех продвинутых проектах используется именно он, как обладающий большой гибкостью
А еще лучше - сделайте пример какого-нибудь окна используя XML, и так, чтобы все это без проблем открывалось хотя бы в IE5 без всяких проблем.
Если я увижу, что оно того стоит, пойду изучать...

P.S. Я не претендую на роль "продвинутого проекта"

Debugger 08-12-2006 17:10 522433

Oleg_Sch
Я так понимаю, что и картинки можно будет вставить? :)

gora 17-12-2006 18:45 525864

Т.к. Oleg_Sch ни как не порадует нас "давно обещанным" GUI, да и hobbeat что-то пропал :( , всем тем, кому приходиться создавать/отлаживать SFX архивы, предлагаю "малую механизацию" этого процесса.
Предлагаю создать кнопку в Total Commander-e (далее TC) для этого процесса. После ее создания нужно только выделить два файла (7-z архив и файл конфигурации), на одной из панелей TC, и нажать эту кнопку. SFX архив будет создан в этом же каталоге (открытом в этой панели TC) с именем, полученным из имени 7-z архива заменой расширения с .7z на .exe. Ни какие файлы не удаляются. Если SFX архив с таким именем уже существует, он будет переписан.
Для этой кнопки понадобиться утилита lst2str от JackFoo (есть в прикрепленном архиве с русским readme), кнопка и .bat файл.

Кнопка:
Код:

TOTALCMD#BAR#DATA
%commander_path%\Utilites\lst2str\lst2str.exe
/X:"D:\totalcmd\Utilites\CreateSFX\comndlin.bat" /L:%L /N:2
%commander_path%\WCMICONS.DLL,20
Создание SFX архива
%commander_path%\Utilites\CreateSFX\comndlin.bat

-1

.bat файл (comndlin.bat):
Код:

@ECHO off
set error=Мало данных.
IF "%~x2"=="" GOTO Err_msg
set config=%2
set len=%~z2
set archive=%1
set name=%~n1
set path_=%~dp1
IF %~x1==.7z GOTO Find1
set error=Нет 7z-архива.
IF NOT %~x2==.7z GOTO Err_msg
set config=%1
set len=%~z1
set archive=%2
set name=%~n2
set path_=%~dp2
:Find1
IF %len% GTR 10240 GOTO No_cfg
find /c ";!@Install@!UTF-8!" %config%
IF errorlevel 1 GOTO No_cfg
echo.
COPY /b "D:\DISTRIBUT\7-Zip\7zSD_499\7ZSD_LZMA.sfx" + %config% + %archive% "%path_%%name%.exe"
echo.
echo Создан SFX архив - "%name%.exe"
echo.
pause
exit

:No_cfg
set error=Нет файла конфигурации.
:Err_msg
echo.
echo %error%
echo.
echo Надо выделить только ДВА файла: 7z-архив и файл конфигурации.
echo.
pause
exit

Распакуйте файлы архива в папку TC.
Пути нужно изменить на свои. В первом файле пути к TC - строки 2, 3, 6, а во втором, путь к SFX модулю - строка 22 (COPY /b ...).
Чтобы создать кнопку, скопируете код в буфер обмена, затем щёлкните правой кнопкой по пустому месту на панели инструментов TC, и выберите пункт "Вставить" (этот пункт появится только в том случае, если в буфере обмена у вас правильный код кнопки).

Все, можете пользоваться!

ps Изменен принцип поиска файла конфигурации, исправлены мелкие ошибки - архив перезалит.

caveman007 19-12-2006 08:43 526523

gora
Цитата:

Все, можете пользоваться!

Вложения
Тип файла: 7z Utilites.7z (7.4 Kb, 6 просмотров)
Да что-то не получается пользоваться – архив похоже битый. Пытался скачивать вложение разными броузерами – везде одно и то же – "Неизвестный формат или ошибка в архиве" – открывать пытался 7-zip-ом

zuckij 19-12-2006 08:52 526527

caveman007
Цитата:

Пытался скачивать вложение разными броузерами
Попытайся теперь с помощью качалки, особеность сайта с качиваешь вложения с помощью Менеджера загрузки

gora 19-12-2006 09:00 526529

caveman007Только что проверил - все скачалось нормально :) . Щелкнул по ссылке - скачалость браузером (IE7), ReGet даже не успел перехватить :( . Возможно Вы попали в то время когда я перезаливал архив. У вас
Цитата:

Тип файла: 7z Utilites.7z (7.4 Kb, 6 просмотров)
, а сейчас в посте
Цитата:

Вложения Utilites.7z (7.5 Kb, 0 просмотров)

gora 25-12-2006 09:33 528792

"Модернизированная" кнопка для создания SFX архивов для Total Commander-а. Теперь можно с ее помощью не только создать SFX архив, но и СМЕНИТЬ его иконку (требуется Resource Hacker, у кого нет - легко может найти его в интернете).
После создания кнопки:
Цитата:

Чтобы создать SFX архив с заменой иконки,
надо выделить только ТРИ файла:
- 7z-архив (.7z)
- файл конфигурации (.txt)
- файл иконки (.ico, .exe, .dll, и т.д.)


Можно выделить только ДВА файла:
- 7z-архив (.7z)
- файл конфигурации (расширение любое)

При этом иконка созданного SFX архива изменена не будет.
После выделения файлов, на одной из панелей TC, и нажатия этой кнопки, SFX архив будет создан в том же каталоге (открытом в этой панели TC) с именем, полученным из имени 7-z архива заменой расширения с .7z на .exe. Если SFX архив с таким именем уже существует, он будет переписан. Ни какие файлы не удаляются, кроме временных, создаваемых программой во время работы, в папке с .bat файлом (не храните в ней посторонних файлов). Все необходимое для создания этой кнопки (за исключением Resource Hacker) находиться в прикрепленном архиве.

Распакуйте файлы архива в папку TC (у меня D:\totalcmd\Utilites\).
Пути нужно изменить на свои:
- в файле кнопки пути к TC - строки 2, 3, 6
- в .bat файле (перед соответствующими строками есть комментарии)
--- путь к SFX модулю - строка 4
--- путь к исполняемому файлу Resource Hacker-а - строка 6 *
--- тип файла конфигурации - строка 8 **
--- максимальная длина файла конфигурации - строка 10 ***

* Обратите внимание, что путь к Resource Hacker-у указан с именем испоняемого файла, но его расширение .exe удалено (D:\DISTRIBUT\Resource_hacker_V.3.4.0.79\ResHacker).

** В режиме с заменой иконки (три файла), файл конфигурации должен быть обязательно с расширением .txt. Если Вы привыкли/используете другое расширение можете заменить .txt в .bat файле на любое удобное для Вас.

*** Можете изменить, если ваши файлы конфигурации больше :) .

Чтобы создать кнопку, скопируете код в буфер обмена, затем щёлкните правой кнопкой по пустому месту на панели инструментов TC, и выберите пункт "Вставить" (этот пункт появится только в том случае, если в буфере обмена у вас правильный код кнопки).

Все, можете пользоваться!

biggreeder 25-12-2006 20:18 529038

gora
Пожалуйста, перезалейте куда-нибудь. У некоторых прикрепленные файлы с этого сайта, как не извращайся - не качаются.

gora 25-12-2006 23:42 529113

biggreeder
и все у кого проблемы со скачиванием "вложений".
Эти проблемы (и нередкие - подтверждение здесь, например) не зависят от меня. Обращайтесь к АДМИНИСТРАТОРАМ сайта! Только они МОГУТ/ДОЛЖНЫ решить эти проблемы.
Мне же сообщать, что
Цитата:

прикрепленные файлы с этого сайта, как не извращайся - не качаются.
бесполезно. Сам, такой же рядовой участник форума и, как и Вы, сталкиваюсь с этими же проблемами.

Файлы для:
Цитата:

"Модернизированная" кнопка для создания SFX архивов
перезалил сюда: Utilites_2612.7z.

biggreeder 26-12-2006 20:12 529442

gora
Спасибо.

Oleg_Sch 28-12-2006 15:44 530167

Обновлено.
Все ссылки в шапке.
За обновленную справку все благодарности to gora, сам ему выражаю свою ОГРОМНУЮ благодарность!!!

Но попутно задам вопрос - а не найдется ли человека, который сделает справку от gora на английском языке ?

qeraser 29-12-2006 04:34 530301

Oleg_Sch
Отличная работа.

gora 10-01-2007 11:51 534236

Для любителей сжимать модуль UPX-ом (экономия около 50кб :) )
В "Модернизированную" кнопку после метки :Copyb можно вставить строку
Код:

Полный\путь\к\файлу\upx.exe --best %module%>nul
Будет сжимать модуль с уже измененной иконкой. Разумеется UPX должен лежать в указанном Вами месте ;) .

zilexa 26-01-2007 02:44 541477

Popular Installers thanks to Oleg_Sch
 
I would like to inform you about the Installers I have created with Oleg_Sch great 7zS.sfx and his help.
http://dvd.yardcure.com/ (the link on the top for all installers).
Thanks again Oleg_Sch!:)
Currently helping someone else to create a 10MB Nero CD Burning installer pack :)

gora 26-01-2007 11:16 541604

zilexa
Если Вам так понравился модуль Oleg_Sch, то могли бы и упомянуть на своем сайте о том, что ваши инсталляторы собраны с использованием этого "great 7zS.sfx" и ссылки дать на сайт Oleg_Sch ;).

Oleg_Sch 31-01-2007 11:40 543959

Обновлено. Тестируйте. Если все нормально - текущий вариант перейдет в stable и дальнейшие усилия будут направлены на разработку 2.0.

history:
Код:

1.2 beta (build 551) 31 Января 2007 г.
 
* Не обрабатывались (не разбирались) переменные среды в параметре 'Directory'

1.2 beta (build 549) 29 Января 2007 г.
 
# Использован исходный код 7-Zip версии 4.44beta от 20 января 2007 г. 
# В диалоге 'CancelPrompt' по умолчанию кнопка "Нет"
# Полностью переписано отображение диалогов 
# Клавиша [Esc] работает во всех диалогах, срабатывая как "Нет" или "Отмена"
# Звуки только в диалогах 'CancelPrompt', 'Error' и 'FinishMessage'
* Некорректная работа 'FinishMessage' при указании ключа '-y'
* Некорректная работа 'CancelPrompt' при указании ключа '-y'
* Совместимость с Windows Vista
+ Русская/английская локализация всех сообщений (язык сообщений выбирается автоматически, исходя из языка интерфейса пользователя)
+ Пакетный режим автоматической установки программ (ключ '-aiX') (gora:forum.oszone.net)
+ 'SetEnvironment' в конфигурационном файле (gora:forum.oszone.net)
+ Ключ '-sfxconfig' (gora:forum.oszone.net)
+ Таймер в 'FinishMessage'

За справку все благодарности - gora.

Цитата:

Но попутно задам вопрос - а не найдется ли человека, который сделает справку от gora на английском языке ?
Вопрос остается открытым. К сожалению, никто не откликнулся :(


P.S. О забытом...
В истории забыл(и) упомянуть пару новых значений в GUIFlags:
Код:

2048 - отображать иконку модуля в диалоге 'BeginPrompt' и в совмещенном диалоге 'BeginPrompt' + 'ExtractPath', вместо иконки со знаком вопроса
4096 - изменить в диалоге 'BeginPrompt' и в совмещенном диалоге 'BeginPrompt' + 'ExtractPath' названия кнопок: вместо "Да"-"Нет" будет "ОК"-"Отмена"

Все это есть в справке, просто "историю" упустил(и) :(

Oleg_Sch 31-01-2007 13:44 544018

Извиняюсь перед всеми, кто уже успел закачать :(
Были маленькие огрехи в выложенных файлах :( , уже исправлено

SAOPP 31-01-2007 13:52 544025

Oleg_Sch
Спасибо :) Чего так грустно то? Я ничего не заметил... ;)

Oleg_Sch 31-01-2007 13:58 544028

SAOPP
В оба вариант 7zS_Tools не был включен сплитер :(

SAOPP 31-01-2007 14:09 544034

Аааа, ну дак это же не совсем огрехи ;) Я то просто обычно по отдельности всё сливаю от 7zsd до сплиттера :)

SAOPP 31-01-2007 17:26 544130

Oleg_Sch
Кстате, вопрос, в последующих версиях сплиттера можно реализовать пакетный сплитт?

Т.е. что бы не запускать несколько сплиттеров если файлы большого размера и так же не запуская по нескольку раз сплиттер если нужно распаковать n-ое колличество маленьких архивов подряд.

SAOPP 31-01-2007 19:14 544175

Oleg_Sch
После обновления сталкнулся со странной проблемой, архив не устанавливается в указанную папку а ставится в папку указанную по дефолту в файле конфигурации - по началу думал, что причиной всему внедрённый 4х форматный ресурс иконки (16-256, 16-xp, 32-256, 32-xp) который сдвигает код, после ссылался на косяк upx'а, в конце концов со стандартным скачанным сегодня модулем без упаковки upx'ом и изменением иконки такая же проблема. Возможно мой баг, но всё же, сейчас попробую с прошлогодним модулем. Результат отпишу...

Такс, со старым модулем вообще другая ситуация, но уже яснее становится, по моему всё таки мой косяк, только не пойму в чём дело, ибо не менял ничего в файле (предыдущий билд модификации от декабря 2005 работал) :( Старый модуль не показывает путь распаковки соответственно с новым конфигурационным файлом (где есть новые параметры).

Вот конфигурационный файл, что здесь не так?
Код:

;!@Install@!UTF-8!
Title="Установка обновления"
BeginPrompt="В архиве находятся следующие компоненты:\n\n• Полное обновление до версии 27\n\nУкажите путь к папке\nнапример: C:\Windows\n\nЧто бы установить данные компоненты\nнажмите 'Да', нажмите 'Нет' для отмены."
CancelPrompt="Вы хотите прервать распаковку?"
ExtractDialogText="Подождите, пожалуйста..."
ExtractPathText="Пожалуйста, введите путь:"
ExtractTitle="Распаковка..."
GUIFlags="8+64+256"
GUIMode="1"
InstallPath="C:\Utils\CS"
OverwriteMode="0"
;!@InstallEnd@!

зы Такс, похоже, что я упустил двойной слэш... Сейчас проверю :) Ох и нафлудил же я :(

gora 31-01-2007 19:30 544180

SAOPP
Цитата:

InstallPath="C:\Utils\CS"
Нужно писать так
Цитата:

InstallPath="C:\\Utils\\CS"
Внимательнее читайте справку
Цитата:

Если надо указать обратный слеш (\) (например, в путях или тексте диалога), НЕОБХОДИМО использовать ДВОЙНОЙ (\\), а если "значение_параметра" или текст диалога содержит кавычки ("), НЕОБХОДИМО перед ними использовать обратный слеш (\").
;)

SAOPP 31-01-2007 19:31 544182

Да да, я уже отписался вышел :) Перед твоим постом... Сейчас проверю...

Итак, расписываю свою проблему ещё раз тщательнее.
Вот мой файл конфигурации:
Код:

;!@Install@!UTF-8!
Title="Установка обновления"
BeginPrompt="В архиве находятся следующие компоненты:\n\n• Полное обновление до версии 27\n\nУкажите путь\nнапример: C:\Utils\CS\n\nЧто бы установить данные компоненты\nнажмите 'Да', нажмите 'Нет' для отмены."
CancelPrompt="Вы хотите прервать распаковку?"
ExtractDialogText="Подождите, пожалуйста..."
ExtractPathText="Пожалуйста, введите путь:"
ExtractTitle="Распаковка..."
GUIFlags="4+8+16+32+64+256+2048"
GUIMode="1"
InstallPath="C:\\Utils\\CS"
OverwriteMode="0"
;!@InstallEnd@!

Указываю в диалоге путь G:\Utils\CS - ставит в C:\Utils\CS. Указываю любой другой путь, всё равно ставит туда куда указанно в cfg - ну что я не так делаю, честно говоря за 4 часа пыхтения ниасилил :( у меня нету больше комментариев, жду Oleg_Sch :(

gora 31-01-2007 19:33 544183

SAOPP
Цитата:

Да да, я уже отписался вышел Перед твоим постом... Сейчас проверю...
Тогда извини :)

SAOPP 31-01-2007 20:08 544201

Так, я всё же не разобрался с проблемой, и двойной слеш тут не причём оказался (вообще не понятно тогда, получается, что предыдущий билд "кушал" мою конфигурацию а с новым пошла трабла?) :(

SAOPP 31-01-2007 20:51 544208

Такс, всё же я ссылаюсь на багу модуля, только что специально тестировал, прописывал разные пути, изменить путь не получается, установка происходит по-умолчанию в ту директорию, которую указываю в файле конфигурации. Нужно ждать автора.

Oleg_Sch 01-02-2007 02:29 544283

SAOPP
Цитата:

Такс, всё же я ссылаюсь на багу модуля
Так и есть... Думал мы с gora всех потравили... Нет - один (надеюсь, что один ;) ) жук пробрался...
Так что - обновлено.
Код:

1.2 beta (build 552) 1 Февраля 2007 г.
 
* Не работал (не воспринимался модулем) указанный пользователем путь распаковки (SAOPP:forum.oszone.net)

Надеюсь при очередном обновлении ничего не упустил, а то всегда "хочется побыстрее" и получаются глупые ошибки :(

SAOPP 01-02-2007 14:20 544480

Такс, отлично :) Сейчас протестим ;)

artas90 19-02-2007 18:52 552556

не подумайте что я неблагодарный
но где же обещаная и долгожданая HTML(XML) версия 2.0a

SAOPP 19-02-2007 18:59 552558

Наподходе ;)

Oleg_Sch 20-02-2007 05:53 552708

artas90
Цитата:

но где же обещаная и долгожданая HTML(XML) версия 2.0a
SAOPP
Цитата:

Наподходе
Будет, но плотно ей заняться смогу только в марте :(
Сейчас идет "вылизывание" 1-ой ветки, т.к. ядро во второй - от нее (первой). Судя по молчанию в форуме - наступает стабильность :)
Результат последних правок здесь http://7zsfx.solta.ru/ru/571/7zsd.7z
Цитата:

1.2 beta (571) (February 20, 2007)
* Отсутствие GUIFlags в файле конфигурации приводило к неверному отображению диалогов (gora:forum.oszone.net)
* Самоудаление не работало на архивах имеющих атрибут "только для чтения" (SAOPP:forum.oszone.net)
Обновление шапки и страниц загрузки будет позже (надеюсь - в ближайшую неделю)

SAOPP 20-02-2007 12:13 552847

Цитата:

SAOOP
SAOPP ;)

Oleg_Sch 20-02-2007 12:54 552867

SAOPP
Цитата:

Цитата:

Цитата:
SAOOP
SAOPP
Извиняюсь :(
Пост подправил.

qeraser 20-02-2007 21:03 553108

Oleg_Sch
Я рад что развитие проекта продолжается. :)

Sham 27-02-2007 12:55 555923

Конфигурационный файл к модулю можно создать здесь http://tools.oszone.net/7zsfx/conf/ (разумеется - только online)

P.S. благодарю Oleg_Sch и Vadikan :)

SAOPP 27-02-2007 13:08 555930

Ох, ну это уже совсем обленились товарисчи ;)

Кстате, я думаю, что некоторым персонажам, очень помогла бы оффлайн версия, раз у ж на то пошло ;)

gora 27-02-2007 13:11 555932

Sham
Ни в коей мере не хотел бы умалять полезность данного "сервиса" (вещь интересная и наверное будет востребована), но считал бы необходимым предупредить пользователей (особенно начинающих):
Файл конфигурации можно создать по указанному адресу только в онлайн режиме. Попытки сохранить и затем использовать страничку в оффлайне не приведут к желаемому результату (файл конфигурации создаваться не будет :( ).

Просто что бы люди не наступали на одни и те же грабли. ;)

Sham 27-02-2007 13:24 555940

gora я думал это и так понятно :)
SAOPP к сожалению, я всего лишь web-coder... :)

gora 27-02-2007 13:31 555943

Sham
Цитата:

... думал это и так понятно
Цитата:

я ... web-coder...
Именно по этому Вам и понятно ;) , но поверьте мне далеко не всем. (собственный опыт с вашими граблями :) ).

Sham 28-02-2007 03:13 556213

Цитата:

очень помогла бы оффлайн версия
попробовал я это - ActiveXObject("Scripting.FileSystemObject") - соотв. только для IE... Ну, Maxthon нормально сохраняет, а вот сам IE не разрешает - надо копаться в настройках - дыры открывать - оно надо? Правильно :) - выкладывать не буду... к тому же в UTF-16 сохраняет (по-другому низзя)...

Vadikan 28-02-2007 04:30 556218

All
Вообще, идея онлайн-генератора возникла у меня и я предложил реализовать ее Sham'у, поскольку был уверен, что имея интерес и желание, он справится с реализацией веб-сервиса вполне профессионально. Качество исполнения работы абсолютно соответствовало моим ожиданиям, а скорость - превзошла их :) Если бы я был знаком с программистом, обладающим адекватными знаниями, таким же желанием поучаствовать в проекте и свободным временем, я бы предложил этому человеку сделать GUI. Если вы знаете такого человека, предложите ему. А онлайн-генератор - он и в Африке онлайн-генератор. Не может быть у него оффлайн версии, это веб-сервис.

Sham 28-02-2007 06:06 556222

Цитата:

он справится
да, он такой... :)
Цитата:

Не может быть у него оффлайн версии
в принципе уже есть в какой-то степени (на JScript) - проблема в политике безопасности IE - настройки по умолчанию (в SP2) не позволяют создать файл с относительным адресом, только с абсолютным - что неудобно.

Vadikan 28-02-2007 06:13 556223

Sham
Под "не может быть оффлайн версии" подразумевалось, что у веб-сервисов не может быть оффлайн версии. Если же делать "оффлайн-версию"... то будь готов, что следующим шагом нужно будет реализовать замену иконки в модуле :)

SAOPP 28-02-2007 16:17 556460

Vadikan
Вот вот :) Но таким образом, мы подбираемся ближе мне кажется к этой ветке про GUI фейс, но, хотя, автор то не особо имеет время для поддержки, может быть всё же стоит заняться данным направлением? Чесговоря, конечно, всё прывык ручками :) Но с другой стороны, создавать с приятным фейсом схожим с этим веб-скриптом, было бы не плохо, отмечая какие "возможности" нужны данному инсталлятору + возможно внедрение таких "прилипших" мелочей как изменение иконки модуля без "посторонних" телодвижений ;) Ну, а там уже по надобности... и опять же, по существующему времени у автора на данные разработки...

Sham 28-02-2007 16:28 556470

Vadikan я - за разделение труда :)

gora 01-03-2007 16:29 556862

Sham
Цитата:

в принципе уже есть в какой-то степени (на JScript)
А где бы его"стянуть"/познакомиться поближе ;) ?

Эх не удержался. Замечание по "сервису":
1 Радио кнопки GUIMode, Progress, OverwriteMode не имеют сброса. Т.е. если уж выбрал одну из них по ошибке то получай параметр в файл конфигурации или стирай "все что нажито непосильным трудом"
2 Вообще то у GUIMode есть еще и значение "0" недокументированное ;) с действием аналогичним отсутствию параметра GUIMode в файле конфигурации. Может хоть его введете, если п.1 не будете править.
3 Еще есть пожелание развить "сервис" за счет учета взаимного влияния флагов GUIFlags и некоторых параметров. Например, GUIFlags="1+2" комбинация "бессмысленная" ну и т.д.

Vadikan 01-03-2007 19:59 556938

Цитата:

Например, GUIFlags="1+2" комбинация "бессмысленная" ну и т.д.
Ну это уж пусть юзер сам решает - там же описание есть.

gora 01-03-2007 21:04 556951

Цитата:

пусть юзер сам решает
А помочь ему в этом не легком деле, разве не это главная цель Настоящего СЕРВИСА? Но спорить не буду, не надо, так не надо. Остаюсь при своем мнении.

Sham 02-03-2007 00:30 557012

gora
Цитата:

где бы его"стянуть"/
да я просто переписал серверную часть на JScript - в результате файл создается локально, НО с кодировкой UTF-16 (не UTF-8) ... :(... другого пока не дано (JScript - отстой)...
Цитата:

Радио кнопки GUIMode, Progress, OverwriteMode не имеют сброса
двойной щелчок сбрасывает теперь...
Цитата:

пожелание развить "сервис"
не вижу смысла... сам процесс постановки галочек подразумевает заинтересованность пользователя в конечном результате, для чего он должен изучить приведенное описание :), а всякие непредсказуемые изменения галочек\полей только создадут неудобства и непонятки... :)

jurand 17-04-2007 15:14 575590

Как распаковать архив в папку, указанную в реестре (к примеру раздел реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Via4in1Driver параметр: 4in1Path значение: C:\Documents and Settings\Sempron\Local Settings\Temp\pft10~tmp\)

gora 17-04-2007 15:39 575603

jurand
Сам модуль читать значения ключей реестра "не умеет" и если Вы ему в этом не поможете (какими нибудь внешними скриптами/утилитами), то вряд ли у Вас что то получиться :( .

Sham 17-04-2007 22:04 575794

jurand
запусти из временной папки скриптик *.vbs (WSH-скрипт) с примерно следующим содержимым (описание внутри):
Код:

Dim h, fso, sh, m, reg_key
on error resume next

'какой ключ читать?
reg_key="HKEY_LOCAL_MACHINE\SOFTWARE\Via4in1Driver\4in1Path"

Set fso = CreateObject("Scripting.FileSystemObject")
Set sh = Wscript.CreateObject("Wscript.Shell")

'Читаем значение заданного ключа
m = sh.RegRead(reg_key)

'Если папки нету, создаем (опционально)
if fso.FolderExists(m)=false then
fso.CreateFolder(m)
end if

'Копируем содержимое текущей (временной) папки в папку из реестра
fso.CopyFile "*", m

'Сообщения об окончании скрипта (опционально)
if err.number=0 then
h=MsgBox ("Скрипт успешно завершен",64,"Успешно")
else
h=MsgBox ("Скрипт выполнен неудачно",16,"Ошибки")
end if


Liox 18-04-2007 13:28 576034

Здраствуйте. Я прочитал почти весь топик перепробовал всячески но несмог сделать, чтобы при запуске моего архива просто шла распаковка файлов в заданную изначально дерикторию в файле config.txt . Помогите плиз, если это возможно сделать, а мне кажеться что да. Заранее спасибо.

gora 18-04-2007 13:32 576037

Liox
Из справки:
Цитата:

Допустимы относительные пути. Текущей папкой будет папка программы, из которой произведен запуск SFX архива. Например:

InstallPath="test"
создаст папку с именем "test" в папке программы из которой, произведен запуск SFX архива и распаковка произойдет в нее,

InstallPath="."
произведет распаковку прямо в папку программы, из которой произведен запуск SFX архива, а

InstallPath="%%S"
произведет распаковку прямо в папку, где находится SFX архив.

Цитата:

Если нужно просто распаковать архив, 'InstallPath' должен присутствовать в файле конфигурации. При этом и 'RunProgram', и 'ExecuteFile' должны отсутствовать, а 'AutoInstall' и 'AutoInstallX' либо отсутствовать, либо присутствовать, но не должны быть запущены ([Shift]-ом или из командной строки). В противном случае будет запущен исполняемый файл из 'RunProgram', 'ExecuteFile', 'AutoInstall' или 'AutoInstallX'.

Yuki 19-04-2007 17:14 576691

Запаковал 2 каталога с файлами в один архив.
Можно ли создать sfx, распаковывающий каждый из этих каталогов в разные места?
Если нет, то можно ли, сделав 2 архива, объединить их в один sfx, но распаковывать в разные места?

gora 19-04-2007 17:27 576694

Yuki
Цитата:

Можно ли создать sfx, распаковывающий каждый из этих каталогов в разные места?
Можно. Посмотрите пример №6 из справки, там есть аналогичные команды.
Можно например так:
Цитата:

RunProgram="hidcon:cmd /c xcopy Ваш_каталог1 \"Путь_назначения_каталога1\" /s /e /i /y"
RunProgram="hidcon:cmd /c xcopy Ваш_каталог2 \"Путь_назначения_каталога2\" /s /e /i /y"
Важно. Параметра InstallPath при такой записи быть не должно!

Yuki 19-04-2007 18:40 576721

Цитата:

gora
Если нужно просто распаковать архив
Такой конфиг:
Цитата:

;!@Install@!UTF-8!
InstallPath="%ProgramFiles%"
;!@InstallEnd@!
Выдает:
Цитата:

Can not find setup.exe
Так как же просто распаовать архив?

gora 19-04-2007 19:18 576737

Yuki
Цитата:

Так как же просто распаовать архив?
Я уже цитировал справку в посте 353!
Цитата:

Такой конфиг:

Цитата:
;!@Install@!UTF-8!
InstallPath="%ProgramFiles%"
;!@InstallEnd@!


Выдает:

Цитата:
Can not find setup.exe
Не подтверждаю. Все распаковывается, Проверьте версию модуля и скачайте последнюю.

Yuki 19-04-2007 19:32 576743

Цитата:

gora
Не подтверждаю. Все распаковывается, Проверьте версию модуля и скачайте последнюю.
7zSD.sfx 4.45 beta
Даже не знаю, в каком направлении искать ошибку :(

Что совсем уж не получается уменя :(
Цитата:

gora
Можно. Посмотрите пример №6 из справки
Такой конфиг:
Цитата:

;!@Install@!UTF-8!
RunProgram="hidcon:cmd /c xcopy Far \"%ProgramFiles%\" /s /e /i /y"
;!@InstallEnd@!
выдает в конце распаковки:
Цитата:

Не удается найти указанный файл
И ничего не распаковано в итоге...

PS: текстовый файл делаю вручную (utf8), но собираю в GUI 0.5.7

gora 19-04-2007 19:34 576748

Yuki
Цитата:

7zSD.sfx 4.45 beta
:) А здесь обсуждается
Цитата:

Модифицированный SFX модуль 7-Zip'а для установок
Версия 1.2 beta, сборка 552
Скачайте (ссылка в шапке) и будет Вам счастье ;)

Yuki 19-04-2007 19:41 576749

PPS: что-то действительно с модулем :( Включил "использовать стили XP", а стиль прогресса не появился :(

упс... :) сори!

Вот бы еще возможность свойства ярлыка для cmd-based программ настраивать! Например шрифт...

Liox 19-04-2007 20:43 576781

Странное дело. Может я что-то неправильно делаю.. Мои действия.
1) Запаковываю папку calc в архив с помощью 7zip calc.7z
2) Копирую в папку содержащую calc.7z, из программ файлсов программы 7-zip, файлик 7z.sfx
3) Создаю файл config.txt где прописываю InstallPath="%systemdrive%\Distrib"
OverwriteMode="0"
4) прописываю в коммандной строке
COPY /b 7z.sfx + config.txt + calc.7z Setup.exe и получаю установочный файл, который нехочет ставиться в папку указанную в конфиге. Даже если указать чтонить другое

Yuki 19-04-2007 21:46 576812

Не посоветуете - перед распаковкой sfx "замутить" какую-нибудь проверку на предмет наличия прав группы Администраторы и при отсутствии - отказ. Спасибо!

gora 19-04-2007 22:02 576825

Liox
Цитата:

я что-то неправильно делаю
Именно. Всегда надо начинать с чтения шапки темы. Ну прочтите хоть мой предыдущий пост.
Что ж вы не читаете шапку! Там есть Страница загрузок, скачайте Модифицированный SFX модуль и справку. Прочтите ее ВНИМАТЕЛЬНО, а если потом остануться вопросы - тогда сюда. А то
Цитата:

из программ файлсов программы 7-zip
Могу только предположить (понятно писать надо :) ), что Вы используете, как и Yuki, оригинальный модуль программы "7-Zip File Manager". Тогда Вам не сюда, а на форум этой программы. Подавляющее большинство возможностей модуля, обсуждаемых в этой ветке, НЕ ДОСТУПНЫ с оригинальным модулем программы "7-Zip File Manager".

Yuki 20-04-2007 17:03 577215

А зачем в примере 6 дублируется:
Цитата:

; Установка "чистого" TC
RunProgram="%DelKey1%"
RunProgram="%DelKey2%"
RunProgram="fm20:tcmd7pb3_E.exe"
AutoInstall1="%DelKey1%"
AutoInstall1="%DelKey2%"
AutoInstall1="fm20:tcmd7pb3_E.exe"
?

gora 24-04-2007 09:02 578703

Yuki
Я, лично Вам, ответил на три поста, а в ответ от Вас было только загадочное
Цитата:

упс... сори!
:(
Остается только гадать:
1 Пользуетесь ли Вы модифицированным модулем или продолжаете использовать оригинальный?
2 Разобрались ли Вы с предыдущими вопросами, получив ответ, или нет?
3 Внимательно ли прочитали справку? (судя по вопросам - нет)
Повторю избитую фразу: "здесь телепатов нет!". Домысливать за Вас то, о чем Вы поленились написать, ни кто не будет. Краткость в задавании вопросов не достоинство, а скорее недостаток.
Цитата:

А зачем в примере 6 дублируется
Ну как ответить на ваш вопрос? Процитировать половину справки?
Дублирования нет! RunProgram и AutoInstallX - "две большие разницы". Подробнее см. справку.
Уж извините, каков вопрос - таков и ответ. ;)

Yuki 24-04-2007 13:43 578799

Цитата:

gora
Пользуетесь ли Вы модифицированным модулем
Да, сразу же после вашего указания на то, что я использовал не тот (оригинальный)

Насчет справки - смотрю, вроде разобрался. Просто сам гуй иногда в заблуждение вводит! Например, у меня 10 штук RunProgram= ..., а гуй только первую показывает. Я уже понял, что лучше вместо него notepad + справка :)

gora 24-04-2007 14:34 578822

Yuki
Цитата:

Просто сам гуй иногда в заблуждение вводит
К сожалению, GUI сильно отстал в развитии от модуля и не только "не позволяет", а иногда и "запрещает" использование некоторых параметров, которые по его мнению "не допустимы" (GUIFlags со значениями >1024, HelpText и все новые параметры, появившиеся после сборки 258). Поэтому, не рекомендовал бы при изучении возможностей модуля пользоваться GUI.
Цитата:

Я уже понял, что лучше вместо него notepad + справка
И это радует :) .

Yuki 25-04-2007 14:22 579365

Oleg_Sch
Пожелание (в надежде, что это не трудно сделать :) ):
При создании ярлыков (Shortcut= ) добавить возможность установки шрифта (и его размера) для ярлыка, создаваемого для консольных программ. По умолчанию там растровый шрифт 8х12 - некрасивый и довольно мелкий.
Спасибо!

Oleg_Sch 26-04-2007 13:09 579847

Yuki
Цитата:

Пожелание (в надежде, что это не трудно сделать ):
При создании ярлыков (Shortcut= ) добавить возможность установки шрифта (и его размера) для ярлыка, создаваемого для консольных программ. По умолчанию там растровый шрифт 8х12 - некрасивый и довольно мелкий.
Спасибо!
С налету - не получится :( А тратить много времени на "изучение мат.части", к сожалению, не могу. Так что (пока?) ответ - нет :(

hobbeat 01-05-2007 18:01 581720

SAOPP,
я использую ТС7 плюс вот этот плагин для 7зип архивов http://www.totalcmd.net/files/wcx_7zip-0.5.5.zip

SAOPP 01-05-2007 18:36 581748

gora
Кстате, upx обновился до версии 3 - обновления кнопочки будет? :)

hobbeat
Ессно :) Я с Юрцом всегда перетераю нововведения и т.д. ;)

gvshil 02-05-2007 21:01 582301

Подскажите, пожалуйста, как запустить после распаковки INF на выполнение.
Из cmd срабатывает (команда rundll32.exe advpack,LaunchINFSection XXXX.inf,DefaultInstall,4)
хотелось бы поизящней сделать.

gora 02-05-2007 22:18 582322

gvshil
Цитата:

Из cmd срабатывает (команда rundll32.exe advpack,LaunchINFSection XXXX.inf,DefaultInstall,4)
Ну если срабатывает из cmd, то попробуйте
Код:

RunProgram="hidcon:cmd /c rundll32.exe advpack,LaunchINFSection XXXX.inf,DefaultInstall,4"

Oleg_Sch 03-05-2007 12:03 582503

To All
Обновление http://7zsfx.solta.ru/beta/7zSD_643.7z (70КБ)
Код:

1.2 beta (643) (May 03, 2007)
# Использован исходный код 7-Zip версии 4.45beta от 17 апреля 2007 г.
* Утечка памяти, особенно заметная при большом количестве файлов в архиве

1.2 beta (571) (February 20, 2007)
* Отсутствие GUIFlags в файле конфигурации приводило к неверному отображению диалогов (gora:forum.oszone.net)
* Самоудаление не работало на архивах имеющих атрибут "только для чтения" (SAOPP:forum.oszone.net)

К сожалению, у меня нет времени для полноценного тестирования. Игорь Павлов ОЧЕНЬ много изменил в структуре исходных файлов. Я хотел сделать данную версию RC1, но теперь боюсь без хорошего тестирования (на которое, как я уже сказал, не хватает времени :( )
Надеюсь на вашу помощь.
Проверьте свои архивы на данной версии (особенно, кто использует отличные от LZMA методы).
Просьба - отпишитесь о результатах.

Также обновился сплитер http://7zsfx.solta.ru/beta/7zsplit_637.7z (4КБ)

Debugger 27-05-2007 20:50 591710

Вопрос тут назрел...
Конфиг такой:
Код:

;!@Install@!UTF-8!
Title="Антивирус Dr.Web 4.33 + Антиспам"
BeginPrompt="blablabla"
ExtractTitle="Распаковка..."
RunProgram="hidcon:install.cmd"
GUIFlags="30"
GUIMode="1"
;!@InstallEnd@!

Задача - показать окно, спросить да или нет и запустить установку. Но если нажать Shift+Да, появится сообщение об ошибке - "Параметр AutoInstall" не найден в файле конфигурации". Все работает нормально, просто люди которые привыкли к моим перепакованным инсталляторам часто нажимают эту комбинацию уже не глядя на вводный текст. Это глюк или я чего-то не учел? Версия 5.52, с версией 6.43 то же самое.

Sham 28-05-2007 00:12 591768

Debugger
Цитата:

Цитата из справки
'AutoInstall' запускается нажатием кнопки "Да/OK" в окне 'BeginPrompt', с нажатой кнопкой [Shift], или из командной строки.

видимо нужно подсунуть юзеру AutoInstall (добавить в конфиг) с соотв. значением...

Oleg_Sch 28-05-2007 03:49 591778

Sham правильно сказал.
Добавить в конфиг
Код:

AutoInstall="hidcon:install.cmd"

Debugger 28-05-2007 09:30 591813

Oleg_Sch
Т.е. два параметра будут ссылаться на один и тот же файл? Логично блин, как же я сам не допетрил... Три часа ночи все-таки было :)

Dmitry Popov 08-06-2007 13:34 596876

Люди, подскажите пожалуйста, почему не работает следующая строчка:
"ShortCut="Du,{%TC%\\TOTALCMD.EXE},{/i=C:\\totalcmd\\wincmd.ini /f=C:\\totalcmd\\wcx_ftp.ini},{%Desktop%},{File Manager},{TotalCMD}"

проповал еще так

"ShortCut="D,{%TC%\\TOTALCMD.EXE},{/i=C:\\totalcmd\\wincmd.ini /f=C:\\totalcmd\\wcx_ftp.ini},{%Desktop%},{File Manager},{TotalCMD}"
"ShortCut="Du,{%TC%\\TOTALCMD.EXE},{/i=C:\\totalcmd\\wincmd.ini /f=C:\\totalcmd\\wcx_ftp.ini},{%Desktop%},{File Manager},{TotalCMD}"
"ShortCut="D,{%TC%\\TOTALCMD.EXE},{/i=C:\\totalcmd\\wincmd.ini /f=C:\\totalcmd\\wcx_ftp.ini},{},{File Manager},{TotalCMD}"
"ShortCut="D,{%TC%\\TOTALCMD.EXE},{/i=C:\\totalcmd\\wincmd.ini /f=C:\\totalcmd\\wcx_ftp.ini},{%ALLUSERSPROFILE\Рабочий стол},{File Manager},{TotalCMD}"

Пробовал непосредственно путь к Тоталу прописывать, а не использовать переменную - без толку. Ничего не помогает. Не создается ярлык на рабочем столе, хоть убейся. Чего делаю не так, подскажите?

YuriPet 08-06-2007 13:40 596879

Dmitry Popov
У меня прекрасно работает такое:
Код:

Shortcut="D, {%%T\\TOTALCMD.EXE}, {}, {}, {Файловый диспетчер для Windows™}, {Total Commander}, {}, {%%T\\TOTALCMD.EXE}, {}"
Думаю, разберешься... ;)

gora 08-06-2007 13:47 596885

Dmitry Popov
Уберите первые кавычки перед Shortcut (как показано у YuriPet).
А переменную %Desktop% Вы сами "определяете" (устанавливаете) в файле конфигурации? Вроде нет такой переменной!?

Dmitry Popov 08-06-2007 15:02 596904

Цитата:

Уберите первые кавычки перед Shortcut
В конфиге строка без кавычек. Переменную сам определял.

gora 08-06-2007 15:08 596906

Dmitry Popov
Цитата:

В конфиге строка без кавычек
Тогда зачем здесь их (кавычки) пишите!?
Давайте сюда весь файл конфигурации в таком виде как он у Вас есть и заключайте его теги CODE.

Oleg_Sch 01-07-2007 03:23 606534

Обновление http://7zsfx.solta.ru/ru/702/7zSD.7z (70КБ)

Код:

* - Пофиксено
+ - Добавлено
- - Удалено
# - Изменено

1.2 RC1 (702) (July 01, 2007)
# Небольшие изменения в автоматическом определении языка системы и пользователя

1.2 beta (699) (June 28, 2007)
# Использован исходный код 7-Zip версии 4.48beta от 27 июня 2007 г.
+ Метод 'copy' для несжатых файлов (gora:forum.oszone.net)

1.2 beta (687) (June 16, 2007)
# Использован исходный код 7-Zip версии 4.47beta от 27 мая 2007 г.

1.2 beta (643) (May 03, 2007)
# Использован исходный код 7-Zip версии 4.45beta от 17 апреля 2007 г.
* Утечка памяти, особенно заметная при большом количестве файлов в архиве

1.2 beta (571) (February 20, 2007)
* Отсутствие GUIFlags в файле конфигурации приводило к неверному отображению диалогов (gora:forum.oszone.net)
* Самоудаление не работало на архивах имеющих атрибут "только для чтения" (SAOPP:forum.oszone.net)

По вашему молчанию в ветке, считаю, что пора переводить в RC1.
Надеюсь новых багов не добавил...

Roka 13-07-2007 07:42 612611

Подскажите почему выдает ошибку в строке c Delete, вот кусок:
SetEnvironment="PathA=%appdata%\\aaaaaaa\bbbbbbb"
Delete=%PathA%

gora 13-07-2007 12:44 612763

Roka
Цитата:

Подскажите почему выдает ошибку в строке c Delete, вот кусок:
SetEnvironment="PathA=%appdata%\\aaaaaaa\bbbbbbb"
Delete=%PathA%
У вас две ошибки, должно быть так:
Код:

SetEnvironment="PathA=%appdata%\\aaaaaaa\\bbbbbbb"
Delete="%PathA%"


Roka 13-07-2007 13:04 612771

Спасибо!

garbals 18-07-2007 16:43 615318

есть небольшой вопрос на счёт ссамораспаковывающего архива
вот сделал инсталятор
запускаеш ее спрашивает устанавить копируется куда надо ярлыки куда надо вобщем всё как надо
а вот аддон не хочет по тихой устанавливаться а аддоне в файле RUN запись вот такая programma.exe -y
при установке всеравно выводит диалог хочю я установить или нет

vek 18-07-2007 16:58 615327

garbals
А можно config опубликовать? Дело скорее всего в нем.

garbals 18-07-2007 17:04 615333

вот
PHP код:

;!@Install@!UTF-8
Title="EVEREST Ultimate Edition 2007 3.80.955"  
BeginPrompt="Данный архив содержит программу EVEREST Ultimate Edition 2006 3.80.955"  
InstallPath="%PROGRAMFILES%\\Everest"  
OverwriteMode="2"  ExtractTitle="Разархивирую..."  
ExtractDialogText="Секундочку..."  
ExtractPathText="Выберите путь для распаковки:"  
CancelPrompt="Вы хотите отменить установку.\nВы уверены?" 
GUIFlags="8"  
Shortcut="P, {%PROGRAMFILES%\\Everest\\everest.exe}, {}, {Утилиты}, {Всё о Вашем компьютере}, {Everest Ultimate}, {}";
!@
InstallEnd@! 

хотя если сейчас запускать с ключом -y срабатывает тихая инсталяцыя чудеса да и только

Oleg_Sch 23-07-2007 11:25 617360

Обновление!
1.2 Release Candidate 1 (сборка 715)

Все ссылки в шапке.

Между делом... Сайт стал двухязычным, если у кого будет время - протестируйте оба варианта. Об ошибках сайта лучше в ПМ или почту, чтобы не захломлять ветку временными сообщениями. Об ошибках модуля - лучше в ветку, чтобы все знали.

Polo7 01-08-2007 13:46 621306

Oleg_Sch
Олег, залей пожалуйста старые версии модуля (7zS), а то новый на 95 и NT4 вываливаетя с ощибкой (MSVCRT.DLL присутствует) раньше со старым работало без проблем (поспешил с удалением).
P.S. Жалко что на сайте отсутствует АРХИВ или СТАРЫЕ ВЕРСИИ, не всё новое есть хорошо ... :)

gora 01-08-2007 14:59 621339

Polo7
А Вы уверены, что оно Вам надо!? Ведь это почти двухлетней давности и многие параметры/функции работать не будут!!! Да и версия исходного модуля только 4.30 beta от 18 ноября 2005 г. Ну если очень надо... получите сборка 117

Polo7 01-08-2007 19:03 621436

gora
Спасибо, с этой версией все работает.
---
А в какую последнию сборку входил модуль (7zS) ?
Если у кого сохранилось залейте для успокоения души.

Oleg_Sch 02-08-2007 03:55 621598

Цитата:

Цитата Polo7
А в какую последнию сборку входил модуль (7zS) ?
Если у кого сохранилось залейте для успокоения души.

То, что Вам дал gora - последняя официальная.
У автора нашлась последняя неофициальная 251 (150Кб)
В архиве полный набор ( т.е. все 7zS* и все 7zSD* ). Все модули несжаты.
Времени проверять нет, оставляю эту задачу на Вас. Теоритически она попадает в истории под сборку 255 за исключением двух строчек:
1. исходники 7-Zip'а 4.30
2. должна держать Win9x

Проверите, отпишитесь пожалуйста. Хоть сам буду знать ;)

P.S. Возможно я вернусь к поддержке ANSI систем в версии 1.3, но ориентировочно это не раньше сентября-октября :(

Polo7 02-08-2007 10:52 621695

Oleg_Sch
Докладываю, на 95 и NT4 полет нормальный, багов и косяков не замечено, установка прошла в штатном режиме.
У этой сборки все же интерфейс близок к последним версиям.
Пользуясь случаем, хочу поблагодарить за чудесный модуль. :hi:

$VARdead 10-09-2007 09:26 640726

не работает такая команда:

Delete="xxx\eee\reg*.*"

Oleg_Sch 10-09-2007 10:24 640772

Цитата:

Цитата $VARdead
не работает такая команда:
Delete="xxx\eee\reg*.*" »

И не должна, wildcards модулем не обрабатываются, только поностью указаные имена файлов и папок...
Хотя... я занесу это в ToDo...

P.S. По поводу синтаксиса
Цитата:

Цитата Справка
ВАЖНО! Следующие двухсимвольные последовательности в "значение_параметра" заменяются односимвольными:

\\ = \
\" = "
\n = перевод строки
\t = табуляция
Если надо указать обратный слеш (\) (например, в путях или тексте диалога), НЕОБХОДИМО использовать ДВОЙНОЙ (\\), а если "значение_параметра" или текст диалога содержит кавычки ("), НЕОБХОДИМО перед ними использовать обратный слеш (\") (правило "лидирующего слеша").


gora 11-09-2007 10:33 641361

$VARdead, попробуйте так:
Код:

RunProgram="hidcon:cmd /c \"del xxx\\eee\\reg*.*" /q\""

Oleg_Sch 24-09-2007 16:02 648599

Я извиняюсь перед всеми за долгое отсутствие. Еще месяц я буду "почти оффлайн", но работа над модулем продолжается (пусть и не так быстро, как хотелось бы самому).
Из-за недостатка времени решил дать версию без обновления сайта/справки, только новые модули.
Цитата:

1.2 RC2 (787) (September 24, 2007)
# Флаг 4096 изменяет не только названия кнопок, но и изображения иконки в диалогах BeginPrompt и BeginPrompt+ExtractPath

1.2 RC2 (770) (September 07, 2007)
# Использован исходный код 7-Zip версии 4.55beta от 5 сентября 2007 г.
+ Информация о поддреживаемых методах и фильтрах в -sfxversion

1.2 RC1 (739) (August 7, 2007)
# Использован исходный код 7-Zip версии 4.52beta от 3 августа 2007 г.

1.2 RC1 (727) (July 26, 2007)
# Использован исходный код 7-Zip версии 4.51beta от 25 июля 2007 г.

1.2 RC1 (726) (July 25, 2007)
# Использован исходный код 7-Zip версии 4.50beta от 24 июля 2007 г.

1.2 RC1 (715) (July 14, 2007)
# Использован исходный код 7-Zip версии 4.49beta от 11 июля 2007 г.
Прямые ссылки на закачку:
7zSD сборка 787
7zSD_extra сборка 787

Oleg_Sch 29-10-2007 05:38 668905

"Театр одного актера" :(
Как в прошлый раз - только прямые ссылки на закачку

7zSD сборка 822
7zSD_extra сборка 822

Из изменений только новая версия самого 7-Zip'а
Цитата:

1.2 RC2 (822) (October 29, 2007)
# Использован исходный код 7-Zip версии 4.56beta от 24 октября 2007 г.

1.2 RC2 (787) (September 24, 2007)
# Флаг 4096 изменяет не только названия кнопок, но и изображения иконки в диалогах BeginPrompt и BeginPrompt+ExtractPath
Честно скажу - версии после обновления Игорем Павловым своих исходников я не тестирую, т.к. для полноценного времени не хватает, а "поверхностное" - не показатель :(
Сейчас могу ориентироваться на то, что нет проблем, только по тому, что есть благодарности на мои посты и нет вопросов.
Можно вас немножко "растормашить" :) ? Напишите мне результат использования данной сборки (в почту, в ветку форума, по аське.....), желательно с подробностями архива (метод/параметры сжатия), но можно и без них. Т.е. мне важны любые результаты - и положительные, и отрицательные (об отрицательных - лучше в ветку, чтобы ВСЕ знали проблему).
Релиз на подходе... И от меня и от Игоря...
Цитата:

By: Igor Pavlov (ipavlov) - 2007-10-24 21:54
There are some small fixes in code. Some of them are for better compatibility with Posix compilers (for p7zip).
I hope it was latest beta before "release" version.
Поэтому хотелось бы знать все...

gora 29-10-2007 19:20 669313

Цитата:

Цитата Oleg_Sch
"Театр одного актера" »

Выскажу свои предложения в надежде, что великий ALL поддержит их.
1 Попытаться решить проблемы связанные с "дочерними" процессами.
2 Как временную альтернативу п1. предусмотреть параметр типа Timer="x", где x - время в сек. Это позволит обходиться в некоторых случаях без применения сторонних утилит.
3 "Запретить" модулю проверку закомментированных строк. Комментарии, проверяться на синтаксис не должны.
4 Разрешить использование "пустого" параметра RunProgram="" и RunProgram="fm20", а то сейчас приходиться использовать конструкции типа RunProgram="fm20:hidcon:cmd /c есно" с холостыми операциями.
5 Предусмотреть в модуле создание (при установке приложения) информации для возможности последующей деинсталляции.

ps. Видимо solta.ru лежит :( Скачать модули не смог. Можно попросить зеркало?

Oleg_Sch 30-10-2007 01:04 669464

gora,
Тебе ли не знать, что большинство тобой написанного лежит в ToDo на 1.3 ;)

All
Проблемы с solta.ru действительно есть, преследуют меня уже 4-й день :(
Скоро вопрос решу кардинально - переездом на другую площадку, а пока зеркало:
7zSD сборка 822
7zSD_extra сборка 822

gora 30-10-2007 19:07 669879

Когда я писал свои предложения я надеялся, что к моему "гласу вопиющего в пустыне" присоединиться ALL и наш "хор" подвигнет Вас (мы на форуме) на ... ну Вы сами знаете куда ;) .
Цитата:

Цитата Oleg_Sch
большинство тобой написанного лежит в ToDo на 1.3 »

Ключевыми словами здесь я считаю "большинство", а очень бы хотелось видеть "все", и "лежит", которое больше всего и удручает (ассоциируются с "положить под сукно", "лежит в долгом ящике" и т.д.). :(

PS Спасибо за зеркало. :)

gora 01-11-2007 12:53 670826

Для тех кто использует EmEditor при написании файлов конфигурации для модифицированного модуля думаю будут полезно это.

kill-kit 10-11-2007 18:05 676269

Подскажите пожалуйста что я не так сделал?
Попытался на примере Первые шаги к созданию SFX архива
создать Total Commander, сделал как написано в примере.
Ниже код, текстовый файл сохранен в UTF-8.
Код:

;!@Install@!UTF-8!  RunProgram="Totalcmd.exe /qn"  GUIMode="2"  ;!@InstallEnd@!
Добовляю строку COPY /b 7ZSD_LZMA.sfx + config.txt + Total Commander.7z Totalcmd.exe
в командную строку, пишет неудается найти файл.
Может там ключи надо другие указывать.

gora 10-11-2007 19:54 676324

kill-kit
1 Текст файла конфигурации должен быть написан "в столбик", т.е. так:
Код:

;!@Install@!UTF-8!
RunProgram="Totalcmd.exe /qn"
GUIMode="2"
;!@InstallEnd@!

2
Цитата:

Цитата kill-kit
Добовляю строку COPY /b 7ZSD_LZMA.sfx + config.txt + Total Commander.7z Totalcmd.exe »

Попробуйте так:
Код:

COPY /b 7ZSD_LZMA.sfx + config.txt + "Total Commander.7z" Totalcmd.exe
Имена файлов с пробелами должны заключаться в кавычки. ;)

kill-kit 11-11-2007 00:48 676440

gora, неа таже проблемма, мне кажется что он не находит путь к папке?
COPY /b может здесь надо писать что то другое?

Oleg_Sch 11-11-2007 00:56 676442

kill-kit,
А все три файла (7ZSD_LZMA.sfx, config.txt и Total Commander.7z) лежат в одной папке из которой запускается команда copy ?

Глянул скриншоты - у Вас текщая папка не та, где они лежат.
Попробуйте перед командой copy выполнить:
Код:

cd "Рабочий стол\Новая папка"
ну а потом в той же консоли copy

kill-kit 11-11-2007 02:30 676473

СпасибоOleg_Sch, Да все файлы в одной папке. COPY /b copy - это получается папка?
cd "Рабочий стол\Новая папка"
COPY /b 7ZSD_LZMA.sfx + config.txt + "Total Commander.7z" Totalcmd.exe так надо сделать?
Все получилось ура!!!!

$VARdead 21-11-2007 21:41 682980

Возможно заставить модуль принимать команду для указания директории распаковки через .bat без .txt конфигурации?

Oleg_Sch 22-11-2007 01:34 683091

Цитата:

Цитата $VARdead
Возможно заставить модуль принимать команду для указания директории распаковки через .bat без .txt конфигурации?

На данный момент - нет. Планируется позже.
Сейчас единственный способ сделать это - следующий:
В файле конфигурации указываем
Код:

InstallPath="."
а перед вызовом из батника SFX архива выставляем текущей ту папку, в которую необходимо распаковать. В батнике, в этом случае, надо указывать полный путь и имя SFX архива.
Нпр, нам надо распаковать в папку C:\Windows, сам SFX архив лежит в D:\install
Код батника может быть следующий
Код:

C:
cd c:\windows
D:\install\sfx.exe


Oleg_Sch 08-12-2007 11:18 693190

Продолжу "театр одного актера" :(
С учетом того, что замечаний (ошибок) по текущей версии нет, перевожу ее (как и Игорь Павлов сам 7-Zip) в release/stable.
Цитата:

* - Пофиксено
+ - Добавлено
- - Удалено
# - Изменено

1.2 Release (861) (December 7, 2007)
# Использован исходный код 7-Zip версии 4.57 от 6 декабря 2007 г.

1.2 RC2 (822) (October 29, 2007)
# Использован исходный код 7-Zip версии 4.56beta от 24 октября 2007 г.

1.2 RC2 (787) (September 24, 2007)
# Флаг 4096 изменяет не только названия кнопок, но и изображения иконки в диалогах BeginPrompt и BeginPrompt+ExtractPath

1.2 RC2 (770) (September 07, 2007)
# Использован исходный код 7-Zip версии 4.55beta от 5 сентября 2007 г.
+ Информация о поддерживаемых методах и фильтрах в -sfxversion

1.2 RC1 (739) (August 7, 2007)
# Использован исходный код 7-Zip версии 4.52beta от 3 августа 2007 г.

1.2 RC1 (727) (July 26, 2007)
# Использован исходный код 7-Zip версии 4.51beta от 25 июля 2007 г.

1.2 RC1 (726) (July 25, 2007)
# Использован исходный код 7-Zip версии 4.50beta от 24 июля 2007 г.

1.2 RC1 (715) (July 14, 2007)
# Использован исходный код 7-Zip версии 4.49beta от 11 июля 2007 г.
Сайт, справка и остальные файлы буду обновлены на следующей неделе. Пока только прямые ссылки на закачку модулей:
7zSD сборка 861
7zSD_extra сборка 861

Polo7 09-12-2007 18:15 693858

Oleg_Sch
Цитата:

P.S. Возможно я вернусь к поддержке ANSI систем в версии 1.3, но ориентировочно это не раньше сентября-октября
Будет ли 7zS сборка ?

Oleg_Sch 10-12-2007 14:29 694387

Единственное, что могу добавить к старому посту - решаемо, но есть проблема с Вин95 (наличие msvcrt.dll и не только) :(
Пока сказать больше нечего :( , надеюсь, будет решение. Но в каком виде, пока самому неизвестно :(

Oleg_Sch 10-12-2007 17:07 694485

Пока суть-да-дело, предлагаю совместно создать ToDo на 1.3
Пока:
1. Отслеживание дочерних процессов для wait
2. Поддержка ANSI систем (Windows95 пока под вопросом)
3. Мультиязыковая поддержка (уже поступают запросы от других стран)
4. Проверка админских прав для установки приложения
5.
Цитата:

Цитата gora
"Запретить" модулю проверку закомментированных строк. Комментарии, проверяться на синтаксис не должны.

6.
Цитата:

Цитата gora
Разрешить использование "пустого" параметра RunProgram="" и RunProgram="fm20", а то сейчас приходиться использовать конструкции типа RunProgram="fm20:hidcon:cmd /c есно" с холостыми операциями.

7. Возможность записи/изменения реестра
8. (завязано на 7) - возможность деинсталяции приложения
9. Указание InstallPath в ком.строке, точнее замена (или создание, если не указан) содержимого InstallPath в файле конфигурации из командной строки.
-----------------------------------------------
10. Отдельным пунктом, потому как "отдельная песня"... Давно обещаный DHTML.

Дополняйте. Я "буду посмотреть" и принимать решения. Отвечу всем, независимо от полярности решения.

gora 10-12-2007 20:23 694639

Мои предложения в TO DO. (позвольте пофантазировать :) )
1 Предусмотреть (например, за счет использование нового флага GUIFlags) изменение функции параметра InstallPath. Сейчас имеется возможность указать параметр InstallPath через ввод в соответствующем окне пути, но это будет путь распаковки, а не установки приложения, которые не всегда удобно совмещать. А так (при указании доп. флага), распаковка будет происходить во временную директорию и уже оттуда будет производиться установка в указанную пользователем директорию программы.
2 Сделать BeginPrompt множественный. Сейчас у пользователя имеется только одно окно какого либо выбора, (BeginPrompt или совмещенный BeginPrompt + ExtractPath) и если пользователю нужно иметь дополнительные запросы при установке приложения, то нужно прибегать к бат файлам с дополнительными утилитами вывода окон, или использовать принцип "матрешки".
3 Предусмотреть параметр таймера.
4 Предусмотреть возможность возврата, из запускаемого из модуля приложения, кода возврата, возможность анализа его в модуле и принятии решения о дальнейших действиях.
5 Очень не хватает хотя бы простейших логических операций типа IF ... ELSE. Понимаю, что это не CMD, но от этого не легче. :(
6 Расширить возможность использования "самодельных" переменных (SetEnvironment) в других параметрах в том числе и текстовых (Title, BeginPrompt, FinishMessage и т.д.).

Oleg_Sch 12-12-2007 09:44 695654

gora,
1 Если я правильно понял. Модуль позволит пользователю изменить InstallPath через тот же BeginPromt, но сам ее использовать будет ТОЛЬКО для подмены в параметрах файла конфигурации, нпр
Код:

RunProgram="setup.exe /path=%%InstallPath"
подставит вместо %%InstallPath реальное содержимое (возможно измененное пользователем) InstallPath
Если так - это п.11

В версии 1.3 я собираюсь реализовать систему плагинов. Плагины можно будет подключать к готовому модулю (как сейчас файл конфигурации) простым copy /b. И многие задачи будут реализовываться через них. Это позволит каждому "сконструировать" модуль под свои задачи, соответственно и конечный размер модуля будет зависить от задач/подключенных плагинов.
Из моего предыдущего поста пункты 2,3,4,10 попадают под эту систему.
К чему это я ? То, что ваши пункты 2,4,5 лучше всего реализовать по данной схеме.

3 Можно реализовать префиксом "sleepXXX:", где XXX - время в миллисекундах. С учетом моего п.6 (исполнение отдельных префиксов без исполнения реальных программ) - вполне можете осуществить любую задержку.

6. Все понятно. Буду реализовывать.

Speedy Gonzalez 16-12-2007 02:07 698029

В TO DO :)

На данный момент меня расстраивает отсутствие только 2-х возможностей:
- Невозможно запоминать в реестре путь распаковки. Очень необходимо при установке апдейтов на уже установленные программы.
Вернее запомнить-то можно, создав свой ключ через RunProgram, а вот прочитать - не получается. Надеюсь, именно об этом и говорится в пункте 7.
Моё воображение рисует примерно такую картину:
Например после инсталяции основной программы прописываю ключ в реестр
RunProgram="hidcon:cmd /c reg ADD \"HKCU\Software\MySuperProgram\" /v \"InstallPath" /t REG_SZ /d \"%%T\" /f"
а впоследствии в апдейтах пользуюсь такой функцией
InstallPath="Reg,{HKCU\\Software\\MySuperProgram\\InstallPath},{%PROGRAMFILES%\\MySuperProgram}"
(второй параметр обязательно необходим и присваивается переменной в случае если прочитать значение из реестра не удалось по причине отсутствия ключа, прав на его чтение и т.п.)

- Очень хотелось бы увидеть чуть более разнообразную графику, чтобы была возможность придавать инсталятору ещё большую индивидуальность. Причём, мне кажется что особо мудрить и не надо, достаточно сделать один баннер фиксированного размера и дать возможность менять его через какой-нибудь reshack. По умолчанию можно сделать максимально простой баннер, чтобы он хорошо сжимался, и те пользователи кому он не нужен не почувствовали заметного учеличения объёма sfx модуля (1-2 кило максимум).
Лично мне очень симпатичен подобный внешний вид.
Было бы приятно видеть подобное вместо обычной иконки (да и технически реализовать не так сложно).

Speedy Gonzalez 16-12-2007 03:02 698046

gora,
Поддержу мысль насчёт логических операций. Иногда может быть необходимо.
В принципе, на первом этапе вполне хватило бы возможности сравнить строковые значения и переменные, а также было бы здорово если бы в логических функциях можно было проверить существование файла или папки.
Учитывая строение конфигурационного файла и чтобы не заморачиваться со скобками всякими можно было бы использовать подобную форму:
Код:

IF %MyVar%="123abc"
RunProgram=...
AutoInstall=...
Shortcut=...
ENDIF


Oleg_Sch 16-12-2007 14:39 698163

Цитата:

Цитата Speedy Gonzalez
- Невозможно запоминать в реестре путь распаковки. Очень необходимо при установке апдейтов на уже установленные программы.

Буду учитывать при реализации...
Цитата:

Цитата Speedy Gonzalez
- Очень хотелось бы увидеть чуть более разнообразную графику, чтобы была возможность придавать инсталятору ещё большую индивидуальность.

Это в мой п.10. Там можно будет (наработки уже есть) реализовать любой вид диалога, который позволит DHTML (читай - "как душе угодно"). Пока только одна проблема - наличие IE5 :( Для Вин2000 и младше - не проблема, но я собираюсь вернуться к поддержке Вин95 & 98. Если уж совсем проблематично будет, сделаю оговорку, что для DHTML требования другие. Пока разбираюсь с предметом (количество ВМ на компе уже 8 штук (и так понимаю неконечно, т.к. SP к той же 2000, нпр, играют роль) и в каждой надо протестировать :( )

Добавлю еще к своему ToDo п11:
Поддержка x64. Наконец-то я заимел XP 64-bit (не поверите, Microsoft раздает нахаляву 120 дней trial http://www.microsoft.com/windowsxp/6...cts/trial.mspx )
Так что осталось поставить и заняться, хотя сам пока на 64 bit пересаживаться не собираюсь, но надо смотреть в будущее ;)

Вообщем, "у меня все ходы записаны" (с) Ильф & Петров, в смысле "copy-paste" я сделал :)

SerWer 18-12-2007 11:39 699185

Добрый день господа старожилы. Недавно занялся вопросом автоустановки с диска. Прочитал весь форум поэтому вопросу, возник вопрос: где в архиваторе находится командная строка, в которую и записывается подготовленная папка(вер.4.57)? И еще, если не трудно, можно для примера посмотреть конфиг файл приложения с установкой серийного номера, и активационного номера, например Фотошопа 9? Прошу прощения за юзерские вопросы, но очень уж хочется этим овладеть.

gora 18-12-2007 12:23 699216

Цитата:

Цитата SerWer
Прочитал весь форум»

Позвольте Вам не поверить!!! Не знаю найдется ли на форуме человек который смог бы это осилить ;) .
Цитата:

Цитата SerWer
где в архиваторе находится командная строка, в которую и записывается подготовленная папка(вер.4.57)? »

См. справку, после этого вопрос отпадет, либо Вы сможете его грамотно сформулировать.
Цитата:

Цитата SerWer
можно для примера посмотреть конфиг файл приложения с установкой серийного номера, и активационного номера »

Фотошопом не пользуюсь, но как пример:
Код:

!@Install@!UTF-8!
Title="Установка EmEditor Professional Rus"
SetEnvironment="PathM=%ProgramFiles%\\EmEditor\\"
BeginPrompt="Сейчас будет установлен
EmEditor Professional 7.00 beta 32"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
RunProgram="emed700b32epx.msi /q REGKEY=XXXX-XXXX-XXXX-XXXX"
RunProgram="hidcon:cmd /c xcopy PlugIns \"%PathM%PlugIns\" /s /e /i /y"
RunProgram="hidcon:cmd /c xcopy mui \"%PathM%mui\" /s /e /i /y"
RunProgram="fm20:hidcon:cmd /c copy \"%PathM%mui\\1033\\emeditor.chm\" \"%PathM%mui\\1049\\emeditor.chm\""
RunProgram="REGEDIT /S EmEditor.reg"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
FinishMessage="EmEditor Professional 7.00 beta 32 установлен!"
;!@InstallEnd@!

Т.е. в строку RunProgram записывается имя оригинального инсталлятора с его ключами и серийным номером, если он (инсталлятор) поддерживает эти ключи. ;)

SerWer 18-12-2007 13:14 699254

gora, большое спасибо за ответ, вы не могли бы дать ссылку на 7za.exe, забиваю в поиск, идут ссылки на простой 7z, а не который с командной строкой

gora 18-12-2007 13:23 699265

Цитата:

Цитата SerWer
дать ссылку на 7za.exe »

Зачем Вам именно 7za.exe !? С ком. строкой прекрасно работает и 7z.exe (без интерфейса) и 7zG.exe (с интерфейсом) из комплекта самого архиватора. Но если нужен обязательно автономный вариант то посмотрите здесь (7za457.zip )

SerWer 18-12-2007 13:33 699273

gora, еще раз боьшое спасибо, буду изучать

SerWer 18-12-2007 13:49 699281

gora, да нашел в папке 7zG.exe, но при двойном клике на него появляется сообщение: Specify command, понимаю, что делаю что-то не так, но что? как вызвать эту самую командную строку?

gora 18-12-2007 15:04 699335

Данный диалог в этой ветке - оффтоп!!!
Воспользуйтесь поиском и найдите нужную Вам ветку или создайте свою тему (типа "Как использовать архиватор 7-Zip с командной строкой") в соответствующем разделе форума, если не найдете аналогичной, прочитайте справку к 7-Zip, ссылку я давал.
Цитата:

Цитата SerWer
Specify command, понимаю, что делаю что-то не так, но что? »

Нужно определить ком. строку! Пример из справки:
Цитата:

7z a -tzip archive.zip subdir\

добавляет все файлы и подкаталоги из каталога subdir в архив archive.zip.

7z - это как раз и есть 7z.exe (можете заменить на 7zG.exe). Как работать в консоли я писать не буду, надеюсь умете. Если нет, то это опять не в эту ветку.

Заканчиваем оффтоп!

SerWer 18-12-2007 16:01 699382

gora, спасибо за помощь!

$VARdead 19-12-2007 23:28 700211

а возможно убрать окно из панели пуск? типа WS_EX_TOOLWINDOW и убрать кнопку "Х".... неплохо было бы редактировать ети параметры вручную через restorator или тому подобное...

Mechael 20-12-2007 09:36 700378

Здравствуйте!
Пытаюсь использовать модифицированный sfx модуль столкнулся с проблемой с параметром
OverwriteMode="x", при любых значениях x происходит повторное разворачивание архива.
прочитал последнее TODO не заметил там информации об исправлении. Поддерживаю потребность
в возможности не писать параметр RunProgram совсем, так как необходимо в том числе и просто
развернуть архив ничего не устанавливая, но и путь указывать не хочется.
Так же хотел бы добавить к TODO такую потребность как задание временной папки для распаковки
архива и корректную работу с ключом распаковки -o<Path>, сейчас при задании ключа распаковка
происходит в указанную папку но с созданием еще и временной папки по указанному пути. Возможно это както пересекается TODO по InstallPath, но хотелось бы разделять паки установки и папки распаковки и иметь возможность как удалять после распаковки временную папку так и нет(если вся задача только распаковать то удалять не надо).

Спасибо.

P.S.: Когда будит новая сборка?

gora 20-12-2007 09:51 700384

Цитата:

Цитата Mechael
Пытаюсь использовать модифицированный sfx модуль столкнулся с проблемой с параметром OverwriteMode="x", при любых значениях x происходит повторное разворачивание архива. »

Приведите ваш файл конфигурации и что Вы понимаете под словом "разворачивание"? Подробнее, пожалуйста.

Mechael 20-12-2007 09:54 700387

Еще есть вопрос возможно ли использование значений ключей в качестве переменных?
И еще, естли описание предопределенных переменных?

;!@Install@!UTF-8!
ExtractTitle="Распаковка базы приложения"
ErrorTitle="Ошибка распаковки!"
GUIFlags="1"
OverwriteMode="1"
...
;!@InstallEnd@!

Разворачивание - это повторная разархивация и индикация этого процесса
можно и просто разархивация :)

Извиняюсь что много вопросов :)
Как сейчас проще всего передать sfx путь?
Предыдущий пример не точный, я уже поправил конфиг
попробую дать более точный:
;!@Install@!UTF-8!
ExtractTitle="Распаковка базы приложения"
ErrorTitle="Ошибка распаковки!"
GUIFlags="1"
OverwriteMode="1"
InstallPath="%%S\\BackUp"
;!@InstallEnd@!

Вот не должен по идее ничего раз архивировать, или всетаки он раз архивирует и потом только сравнивает ине заменяет?
Если второе то не понятно зачем проводить разархивацию :(

gora 20-12-2007 10:24 700408

Mechael, не надо сокращать свой файл конфигурации!!! Я что, должен догадаться, что у Вас скрыто под символами многоточия!? Параметр InstallPath там присутствует и т.д.? Здесь как у доктора на приеме: хотите получить диагноз - говорите без стеснения. ;)
Цитата:

Цитата Mechael
Разворачивание - это повторная разархивация и индикация этого процесса »

И что Вас не устраивает!? Модуль распакует все во временную папку (сужу по отсутствию InstallPath в вашем файле) и ...
Цитата:

1 - не перезаписывать существующие файлы
... не перезапишет существующие файлы! Хотя папка временная, создается заново при каждом запуске 7z SFX архива и там не может быть старых файлов. :)


Вот теперь Вы решили таки привести полный файл (на будущее - заключайте его в теги CODE для лучшего восприятия)!
Цитата:

Вот не должен по идее ничего раз архивировать, или всетаки он раз архивирует и потом только сравнивает ине заменяет?
Если второе то не понятно зачем проводить разархивацию :(
А как модуль без разархивирования сравнит содержимое вашей папки и вашего архива!? В результате Вы получаете то что указали в файле конфигурации? Да!!! Значит модуль выполнил поставленную задачу и вопрос снят! Не хотите видеть ход распаковки - используйте соответствующие параметры.

Mechael 20-12-2007 10:44 700424

Я не хочу прежде всего тратить время на установку, если устанавливать нечего, время и размер файла по логике должны быть зашиты в заголовке архива, мне не надо по байтового сравнения :)
Я то ожидал что распаковка не будит произведена если там куда распаковывает уже есть это :(. При больших архивах это достаточно существенно, в том числе и для экономии места , оперативной памяти, загрузки ЦПУ :).

вообщем то да параметр OverwriteMode работает, но хотелось бы чтобы он работал как описано выше.
Кстати в какое место разворачивается временный файл если задан InstallPath?

Oleg_Sch 20-12-2007 12:48 700527

Цитата:

Цитата $VARdead
а возможно убрать окно из панели пуск? типа WS_EX_TOOLWINDOW и убрать кнопку "Х".... неплохо было бы редактировать ети параметры вручную через restorator или тому подобное... »

Цитата:

Цитата Mechael
вообщем то да параметр OverwriteMode работает, но хотелось бы чтобы он работал как описано выше »

Извиняюсь, но этого не будет. Надо учитывать массовые пожелания. Если размениваться на единичные - время на реализацию, увеличеный размер модуля из-за ненужных большинству функций и т.д.
Может быть для таких случаев поможет (когда будет реализована) система плагинов, соответствено, написание плагина под конкретный запрос, чтобы модуль не разрастался. Но пока ничего определенного сказать не могу. На данный момент я ориентируюсь на более частые запросы.
Цитата:

Цитата Mechael
Кстати в какое место разворачивается временный файл если задан InstallPath? »

Если указан InstallPath - содержимое архива сразу разворачивается в указаную в InstallPath папку.

Mechael 20-12-2007 13:38 700578

Сразу туда он не разворачивается так как не заменяет файл согласно параметру OverwriteMode.
Скорее всего OverwriteMode моде у вас уже работает на основании заголовка архива, просто почемуто еще и раз архивация идет полностью если даже ничего изменено не будет.

На вопрос:

Как сейчас проще всего передать в sfx путь?

есть ответ?

Oleg_Sch 20-12-2007 14:42 700629

Цитата:

Цитата Mechael
Еще есть вопрос возможно ли использование значений ключей в качестве переменных? »

Ключей командной строки ? Если так - нельзя.
Цитата:

Цитата Mechael
И еще, естли описание предопределенных переменных? »

http://7zsfx.solta.ru/ru/configinfo.html#vars
Другого (по части описания) ничего нет.
Можете еще посмотреть здесь и здесь

Цитата:

Цитата Mechael
Сразу туда он не разворачивается так как не заменяет файл согласно параметру OverwriteMode.
Скорее всего OverwriteMode моде у вас уже работает на основании заголовка архива, просто почемуто еще и раз архивация идет полностью если даже ничего изменено не будет. »

Работает, работает... Но перед распаковкой и записью на диск конкретного файла проверяется его наличие и дата/время и принимается решение на основе OverwriteMode. Но в любом случае он распаковывается (пусть и без записи на диск). Т.е. это ответ на второе предложение в цитате.

Цитата:

Цитата Mechael
Как сейчас проще всего передать в sfx путь?
есть ответ? »

Ответ будет при точно поставленом вопросе.
"Чей путь? Куда передать? Зачем?" и т.д.
Процитирую:
Цитата:

Цитата gora
Только полный ответ, возможно, убережет от повторных "занудных" вопросов ;) . »


Real Root 09-01-2008 22:05 712790

По поводу пожеланий в новой версии:
Может уже говорили, но нельзя ли добавить возможность использования своей иконки.
Папример, командой copy /b icon.ico+7z.sfx+config.txt+file.7Z file.exe получается екзешник с нужной нам иконкой, но к сожалений не работоспособный. Может получиться реализовать подобный метод впаивания иконок?

gora 09-01-2008 23:02 712826

Цитата:

Цитата Real Root
Может уже говорили, но нельзя ли добавить возможность использования своей иконки. »

Вы правы, этот вопрос уже неоднократно поднимался и обсуждался. Иконку нужно менять в ресурсах модуля, а ни какая команда copy или какая то другая этого сделать НЕ может! Для этого нужен какой то редактор ресурсов (Restorator, ResHacker и т.п.) Можете щелкнуть по ссылке в моей подписи и Вы навсегда забудете все эти copy /b ... и прочие "сложности" изготовления 7z SFX архивов ;)

Mechael 11-01-2008 09:39 713993

Еще один вопросик появился, не смог найти информации по кодах ошибок возвращаемых sfx модулем, не подскажите ссылку на такую информацию, или может быть перечислите возможные коды и их значения?

Vadikan 11-01-2008 09:53 714001

Mechael, я думаю, что лучше изложить проблему, привести конфиг и сообщение об ошибке.

Mechael 11-01-2008 10:52 714033

Извиняюсь что побеспокоил :)
Код ошибки оказался системный, ступил малость :(.

Speedy Gonzalez 04-02-2008 22:43 732972

Прошу прощения за беспокойство. Никаких новостей нет насчёт выхода новой версии? (а то какое-то подозрительное затишье)

Котяра 07-02-2008 22:46 735379

Цитата:

Цитата qeraser
Очень хотелось бы кнопку Авто (автоматическая установка) помимо Да и Нет (включалась по желанию через GUI), чтобы не нажимать SHIFT + Да. Возможно ли? »

Да, очень хотелось бы такую кнопку. Например, в Справке есть пример про Media Player Classic. Люди, которым нужен установщик, не всегда знают, что такое "запустить с ключом". Лучше всего сделать (по желанию создателя SFX-архива) кнопки "Авто 1", "Авто 2". Или переключатель "Установить", "Авто 1", "Авто 2" и кнопку OK.

нужна кнопка "Авто" вдобавок к Да и Нет в окне BeginPrompt. Например, в Справке есть пример про Media Player Classic. Люди, которым нужен установщик, не всегда знают, что такое "запустить с ключом". Лучше всего сделать (по желанию создателя SFX-архива) кнопки "Авто 1", "Авто 2". Или переключатель "Установить", "Авто 1", "Авто 2" и кнопку OK.

Котяра 09-02-2008 21:30 736826

Хотелось бы, чтобы при нажатии Нет в диалоге BeginPrompt не выводился CancelPrompt. Я например, сделал так в своем SFX-архиве, что BeginPrompt - это "Установить программу?", а CancelPrompt - "Программа установлена не полностью. Все равно отменить установку?". Так вот при нажатии Нет в диалоге BeginPrompt CancelPrompt выглядит неуместным (на мой взгляд).

gora 09-02-2008 22:30 736863

Котяра, из GUIFlags удалите флаг 256.
Цитата:

Если флаг 256 параметра 'GUIFlags' отсутствует параметр 'CancelPrompt' игнорируется и окно не выводится. В противном случае окно выводится с тестом указанным в 'CancelPrompt', а если 'CancelPrompt' отсутствует, используется текст по умолчанию.

Котяра 10-02-2008 00:22 736960

Да я знаю про флаг 256. Мне надо, чтобы при нажатии Нет, окно CancelPrompt НЕ выводилось, а при нажатии Отмена в окне прогресса - выводилось.

gora 10-03-2008 22:52 757415

Oleg_Sch, еще предложение в TO DO.
7 Предусмотреть "расшифровку" внутренних ошибок 7-Zip (105, 106 и т.п.) и предусмотреть вывод имени папки/файла "виновника", если последнее возможно. Примерно так:
Код:

7-Zip: Внутренняя ошибка. Код ошибки 105.
Невозможно записать файл "Setup.exe"

Предлагаю список TO DO прикрепить в первый пост (под тег "читать далее"), чтобы можно было его быстро найти и знать какие из предложений приняты и занесены в него. Про сроки не спрашиваю, но хотелось бы некоторые "молотрудоемкие" увидеть еще до выхода версии 1.3 ;). Думаю, что активные пользователи модуля меня поддержат.

worm123456 19-03-2008 17:07 763712

Возможно оффтоп,
существует ли возможность посмотреть параметры файла config.txt, который использовался при создании SFX-архива?
Вроде все облазил - не нашел...В WinRar такая возможность есть

Petya V4sechkin 19-03-2008 17:10 763718

Цитата:

Цитата worm123456
существует ли возможность посмотреть параметры файла config.txt, который использовался при создании SFX-архива?

Заходите на http://7zsfx.solta.ru/ru/download.html и видите:
Цитата:

7z SFX Archive splitter

Утилита позволяющая извлекать из SFX архива его компоненты (7z архив, файл конфигурации и SFX модуль), либо все разом, либо любую их комбинацию.

Real Root 28-03-2008 22:55 770149

Не знаю, просили или нет.
Пожалуйста добавьте в новую версию возможность использования PreCommand - как у WinRAR. Чтоб можно было выполнить команду еще до начала распаковки архива. Например очистка папки назначения, или убивания процесса taskkill'ом.

IgNat 23-05-2008 21:28 809478

Oleg_Sch, подправьте, пжл, шапку:
Цитата:

Цитата Oleg_Sch
Прямые ссылки на последнюю версию (1.2 сборка 861) смотреть здесь »

на смотреть здесь
Спасибо ;)

EN130 24-05-2008 12:05 809749

У меня вышел архив 4.3 ГА и винда пишет "не могу запустите исполняемый файл больше 4 ГА" а потом "приложение архив.ехе не являктся приложением вин32. что с этим делать? может можно разбить на 2 части?

Oleg_Sch 25-05-2008 02:30 810211

Цитата:

Цитата Real Root
Пожалуйста добавьте в новую версию возможность использования PreCommand - как у WinRAR. Чтоб можно было выполнить команду еще до начала распаковки архива. Например очистка папки назначения, или убивания процесса taskkill'ом. »

На будущие версии я предусматривал такую возможность. Вопрос времени :(
Цитата:

Цитата _IgNat_
Oleg_Sch, подправьте, пжл, шапку »

Подправил. Спасибо.
Цитата:

Цитата EN130
У меня вышел архив 4.3 ГА и винда пишет "не могу запустите исполняемый файл больше 4 ГА" а потом "приложение архив.ехе не являктся приложением вин32. что с этим делать? может можно разбить на 2 части? »

Попробую проэкспериментировать, но, скорее всего, это нюансы Windows и я здесь ничего не смогу сделать. Возможность разбиения SFX архивов на тома давно запрашиваемая функция. В оригинальном варианте ее нет, насколько сложно ее реализовать - "с налету" не скажу. Более точный ответ постараюсь дать завтра.

EN130 25-05-2008 23:04 810635

Цитата:

Цитата Oleg_Sch
В оригинальном варианте ее нет, »

Почему? Есть но надо выбирать, SFX или разбиение.

0NI 26-05-2008 00:48 810698

Может, кто сталкивался с такое проблемой.
Ниже приведены инструкции, которые из CMD файла, отрабатываются без каких либо траблов
Код:


%SYSTEMROOT%\system32\rundll32.exe printui.dll,PrintUIEntry /dl /n "Microsoft XPS Document Writer" /q
REG ADD "HKLM\SOFTWARE\Microsoft\Updates\Windows Presentation Foundation\KB932471" /V Installed /t REG_DWORD /D 1 /F

а вот из инсталяка .7zSfx, ни хрена не работает сегодня полдня ломал голову так и не понял в чем дело, а хочется довести дело до конца, есть у кого какие соображения буду рад выслушаю, ну в смысле вычитать :)
Код:

...
RunProgram="hidcon:REG ADD %KEY%\\770 /V 3 /D \"cmd REG ADD %SYSTEMROOT%\system32\rundll32.exe printui.dll,PrintUIEntry /dl /n \"Microsoft XPS Document Writer\" /q \" /f"
RunProgram="hidcon:REG ADD %KEY%\\770 /V 4 /D \"cmd REG ADD \"HKLM\SOFTWARE\Microsoft\Updates\Windows Presentation Foundation\KB932471\" /V Installed /t REG_DWORD /D 1 /f\" /f"
...

Методом (тыка) проб и ошибок было выяснено что всему виноваты подсвеченные выше на примере скобки, если их убрать команда вносится в реестр корректно в реестр, НО нафик она там такая, если она не корректно затем будет отработана.

Vadikan 26-05-2008 01:33 810721

0NI, так вы батник запускайте с hidcon, а не команды и все сработает. Или это дело принципа?

Mr dUSHA 26-05-2008 03:22 810751

Цитата:

Цитата 0NI
а вот из инсталяка .7zSfx, ни хрена не работает сегодня полдня ломал голову так и не понял в чем дело, »

Возможно в первой строчке оно не понимает переменную %SYSTEMROOT%
А во второй строчке - не находит REG.EXE. Там нужно указать полный путь.

0NI 26-05-2008 05:00 810763

Цитата:

Цитата Vadikan
0NI, так вы батник запускайте с hidcon, а не команды и все сработает. Или это дело принципа? »

так и делаю сечас но это не эстетично да и мучает меня что немогу справится с такой ерундо думал вот колективный разум подключу и решу эту проблему так сказать одна голова хорошо а много еще лутше :).. ,может проблема в самом модуле SFX ?

Цитата:

Цитата Mr dUSHA
Возможно в первой строчке оно не понимает переменную %SYSTEMROOT%
А во второй строчке - не находит REG.EXE. Там нужно указать полный путь. »

нет не возможно, я же написал, что без /" все прописывается в реестр, но вот толку с этого мало...
читай внемательно пост...

gora 26-05-2008 08:36 810808

Цитата:

Цитата 0NI
инсталяка .7zSfx, ни хрена не работает ... было выяснено что всему виноваты подсвеченные выше на примере скобки »

2 0NI
Читайте внимательнее справку:
Цитата:

ВАЖНО! Следующие двухсимвольные последовательности в "значение_параметра" заменяются односимвольными:
\\ = \
\" = "
\n = перевод строки
\t = табуляция
Если надо указать обратный слеш (\) (например, в путях или тексте диалога), НЕОБХОДИМО использовать ДВОЙНОЙ (\\), а если "значение_параметра" или текст диалога содержит кавычки ("), НЕОБХОДИМО перед ними использовать обратный слеш (\") (правило "лидирующего слеша").
Только не говорите, что у Вас все также написано! В приведенных вами строках правило "лидирующего слеша" нарушено минимум 11 раз! Остальные (возможные) ошибки отловите сами.

0NI 27-05-2008 02:17 811581

Цитата:

Цитата gora
Только не говорите, что у Вас все также написано! В приведенных вами строках правило "лидирующего слеша" нарушено минимум 11 раз! Остальные (возможные) ошибки отловите сами. »

все что ты написал я знаю, а вот что указано сверху это описки(грубые :) ) просто по памяти писал на быструю руку вот за это извеняюсь кароче даже при правельном раскладе всеравно не прокатывает.

EN130 28-05-2008 13:33 812757

Проблемка. Устанавливаемая прога привязана в реестре к пути. как сделать чтобы SFX внес в реестр определенное зтачение в виде адреса к нужному файлу установленой программы?

gora 28-05-2008 14:38 812819

EN130, например так:
Код:

RunProgram="hidcon:REG ADD \"HKLM\\SOFTWARE\\Microsoft\\Updates\\Windows Presentation Foundation\\KB932471\" /V Installed /t REG_DWORD /d 1 /f"
Ключ реестра и путь пропишите сами, т.к. Вы их не указали. При написании ключа и пути не забудьте про правило "лидирующего" слеша (см. в справке или в моем посте выше).

Vadikan 28-05-2008 21:41 813155

Цитата:

Цитата 0NI
так и делаю сечас но это не эстетично да и мучает меня что немогу справится с такой ерундо »

Почему же не эстетично? Наоборот, команды CMD в стандартном формате - легко добавить/убрать/изменить, не надо со слэшми возиться, конфиг файл не перегружен командами.

По сути же проблемы... похоже, кавычки не заэкранированы слэшами, как надо - из примера трудно понять, там много косяков. И попробуйте без hidcon для проверки.

0NI 29-05-2008 06:51 813366

Цитата:

Цитата Vadikan
похоже, кавычки не заэкранированы слэшами, как надо - из примера трудно понять, там много косяков. »

в перваначальном варианте я малость описался :) глянь на исравленый вариант в том же посте. вроде по синтаксису все правильно ?

EN130 29-05-2008 14:11 813659

gora Чтото у меня не очень получается. Должно выхлядить примерно так:

[HKEY_LOCAL_MACHINE\SOFTWARE\soft\PОРТТТ]
"Product_Path"="С:\\soft\\РОРТТТ"

Если не сложно приведи готовуй команду которую можно вставить в мой конфиг.

gora 29-05-2008 14:50 813686

Цитата:

Цитата EN130
приведи готовуй команду которую можно вставить в мой конфиг »

Попробуйте так:
Код:

RunProgram="hidcon:REG ADD \"HKLM\\SOFTWARE\\soft\\PОРТТТ\" /v Product_Path /t REG_SZ /d \"С:\\soft\\РОРТТТ\" /f"

EN130 29-05-2008 17:49 813814

Цитата:

Цитата gora
Попробуйте так: »

ЭЭЭ :(
Вы не поняли, При установке я выбираю место куда надо ставить прогу (c:\Program Files, E:\Soft или другой) и уже этот путь, тот который я выбрал при установке, вносится в реестр.
В предыдущем примере легче создать reg ключ и внести его в реестр и этим способом я иногда пользуюсь.

gora 29-05-2008 19:37 813886

Цитата:

Цитата EN130
Вы не поняли »

Так трудно понять, если Вы не четко формулируете задачу. ;)
Цитата:

Цитата EN130
и уже этот путь, тот который я выбрал при установке, вносится в реестр»

Если путь вносится только в значение ключа (но не в имя ключа), то попробуйте как то так:
Код:

;!@Install@!UTF-8!
Title="Установка РОРТТТ"
BeginPrompt="Сейчас будет установлен РОРТТТ"
ExtractPathTitle="Путь установки РОРТТТ"
ExtractPathText="Введите путь установки"
GUIFlags="32+128+1024+2048+4096"
GUIMode="1"
InstallPath="C:\\soft\\РОРТТТ"
RunProgram="hidcon:REG ADD \"HKLM\\SOFTWARE\\soft\\PОРТТТ\" /v Product_Path /t REG_SZ /d \"%%T\" /f"
;!@InstallEnd@!

Цитата:

Цитата EN130
С:\\soft\\РОРТТТ" »

Обратите внимание, что буква диска в вашем примере русская, а не латинская.

EN130 29-05-2008 22:03 813978

gora ЗАРАБОТАЛО! Только художествами с флагами можно было себя не утруждатть. Здесь функцианальный только 32.
Без помоши я бы точно не нашел все эти ключи в RunProgram хотя мог бы и сам догодатся про %%Т
Кстати, где бы найти описание или справку по этим ключам. В винде их вроде нет.
И еще, у Вас двойные слеши а у меня работает и с проитыми?

gora 29-05-2008 22:23 813994

Цитата:

Цитата EN130
где бы найти описание или справку по этим ключам. В винде их вроде нет. »

Пуск->Справка и поддержка->введите REG и все найдете! ;)
Цитата:

Цитата EN130
у Вас двойные слеши а у меня работает и с проитыми »

Это все до случая. Автор предписывает в справке использовать двойные - значит нужно привыкать использовать двойные.

EN130 30-05-2008 11:53 814333

Цитата:

Цитата gora
Пуск->Справка и поддержка->введите REG и все найдете! »

Действительно. Чего только нет в чентре справки и подлдержки

EN130 02-06-2008 22:55 816974

Пытаюсь организовать удалялку вотак

;!@Install@!UTF-8!
BeginPrompt="Удалить"
Delete="%%s\файл"
;!@InstallEnd@!

Но чтото не очень получается. Архив пишет

Фaйл "setup exe" нe нaйдeн

и ничего не происходит. Как быть?

gora 02-06-2008 23:02 816983

EN130, добавьте холостую операцию иначе модуль пытается запустить файл по умолчанию с именем setup exe. Например, так:
Код:

RunProgram="hidcon:cmd /c Echo"

EN130 03-06-2008 12:04 817245

Другим на заметку.
Для использования 7Z sfx как удалялку делаем такой код

;!@Install@!UTF-8!
BeginPrompt="Удалить"
Delete="файл или папка"
RunProgram="hidcon:cmd /c Echo"
InstallPath="%%s"
;!@InstallEnd@!

Где:
RunProgram="hidcon:cmd /c Echo" -- Без нее идет ошибка
InstallPath="%%s" -- Установливает директорию с прогой как рабочую
Delete="файл или папка" -- непосредственно то что удаляем, их можно писать много раз

Другие функции добовляем по своему усмотрению

gora 03-06-2008 12:15 817254

EN130, Вы не правы.
Цитата:

Цитата EN130
Без нее идет ошибка »

Не вводите в заблуждение других! Внимательно изучите справку - там все написано и написано ПРАВИЛЬНО.

EN130 03-06-2008 14:11 817350

gora

Цитата:

Цитата gora
Не вводите в заблуждение других! »

Это добовляет холостую операцию как Вы говорили выше
К тому же выриант не оптимален и возможно Вы бы написали лучше.

conductor 29-07-2008 14:10 863570

во как раз в тему попал
;!@Install@!UTF-8!
RunProgram="setup.msi /norestart /qn"
RunProgram="rus.exe"
RunProgram="hidcon:fm0:regedit /s reg.reg"
Delete="Del %ALLUSERSPROFILE%\\Главное меню\\Программы\\Автозагрузка\\SnagIt 9.lnk\""
Delete="Del %ALLUSERSPROFILE%\\Рабочий стол\\SnagIt 9.lnk\""
Delete="Dei %ALLUSERSPROFILE%\\Рабочий стол\\SnagIt 9 Editor.lnk\""
;!@InstallEnd@!

;!@InstallEnd@!
не удаляет ярлыки может кто чаво подскажет
конфиг делал GUI_7zS
Del %ALLUSERSPROFILE%\Главное меню\Программы\Автозагрузка\SnagIt 9.lnk"
Del %ALLUSERSPROFILE%\Рабочий стол\SnagIt 9.lnk"
Dei %ALLUSERSPROFILE%\Рабочий стол\SnagIt 9 Editor.lnk"
а батник отдельно срабатывает
и ещё вопрос \"" 2 или 4?

gora 29-07-2008 14:35 863592

Цитата:

Цитата conductor
не удаляет ярлыки может кто чаво подскажет »

Сделайте так:
Код:

;!@Install@!UTF-8!
RunProgram="setup.msi /norestart /qn"
RunProgram="rus.exe"
RunProgram="regedit /s reg.reg"
Delete="%ALLUSERSPROFILE%\\Главное меню\\Программы\\Автозагрузка\\SnagIt 9.lnk"
Delete="%ALLUSERSPROFILE%\\Рабочий стол\\SnagIt 9.lnk"
Delete="%ALLUSERSPROFILE%\\Рабочий стол\\SnagIt 9 Editor.lnk"
;!@InstallEnd@!


conductor 29-07-2008 14:52 863613

gora
результат тот же блин 2ой день борюсь

Oleg_Sch 29-07-2008 15:39 863682

Цитата:

Цитата conductor
gora
результат тот же блин 2ой день борюсь »

gora Вам все правильно расписал, указаный конфиг. файл должен работать. А точно ли, что удаляемые ярлыки расположены в папке "всех пользователей" ?
Модуль использовали скаченный с сайта или вытаскивали из готового архива с помощью 7zsplit ? Если архив не очень большой - могу проверить.

conductor 29-07-2008 18:02 863811

Oleg_Sch
http://***
0=21mb если напряг зы не надо просто хотелось решить эту проблему
ведь придётся с другими прогами делать это же
install.cmd
читать дальше »
cls
@echo off
setup.msi /norestart /qn
rus.exe
regedit /s reg.reg
Del "%ALLUSERSPROFILE%\Главное меню\Программы\Автозагрузка\SnagIt 9.lnk"
Del "%ALLUSERSPROFILE%\Рабочий стол\SnagIt 9.lnk"
Del "%ALLUSERSPROFILE%\Рабочий стол\SnagIt 9 Editor.lnk"

работает

gora 30-07-2008 12:10 864321

conductor, посмотрел ваше изделие, замечания:
1 Удалите ссылку, т.к. в рег. файле имеется регистрационная информация, а это нарушение ОПК.
2 Файл конфигурации нужно сохранять обязательно в кодировке UTF-8, а у Вас Кириллица (ДОС).
3 При изготовлении 7z SFX архива Вы использовали сам архиватор 7-Zip, а не модифицированный модуль. 7-Zip "не понимает" многих параметров модифицированного модуля от Oleg_Sch и, как следствие, полноценно работать не сможет. Именно по этому у Вас не работают параметры Delete, т.к., они отсутствуют в архиваторе 7-Zip.
4 Принцип изготовления 7z SFX архива на базе модифицированного модуля от Oleg_Sch описан здесь в разделе "Первые шаги", изучите внимательно!!!

conductor 30-07-2008 14:36 864417

gora
спасибо !!! я использовал это
http://forum.oszone.net/thread-83838.html
http://forum.oszone.net/showthread.php?t=63909
зы сейчас посмотрел а у меня старая версия может позтому насчёт кодировки но я же делал и сохранял файл в GUI для модифицированного 7-Zip SFX
собака зарыта в 3 пункте

conductor 01-08-2008 09:50 865690

Oleg_Sch
http://www.maks1509.webhost.ru/files...4.0.79_Rus.exe
может это добавить эдесь в шапке или в статье?

Oleg_Sch 01-08-2008 14:40 865888

Цитата:

Цитата conductor
Oleg_Sch
http://www.maks1509.webhost.ru/files...4.0.79_Rus.exe
может это добавить эдесь в шапке или в статье? »

А смысл ? На данных хостингах время жизни файлов ограничено, если я не ошибаюсь. Версии ResourceHacker'а, я думаю, будут обновляться. Более-менее продвинутый пользователь (а чтобы работать с модулем им надо быть) и сам найдет русские, гугль с яндексом пока не отменяли. Домашняя страница ResourceHacker'а указана в первых шагах.
Считаю - вполне достаточно.

Oleg_Sch 02-08-2008 16:34 866451

Модуль обновлен, основное - в шапке и истории.
Завтра сделаю зеркала.
Добавлю только, что...
Модульная версия 2.0 (конструктор) откладывается на неопределенный срок, катастрофически не хватает времени :(
Данная версия все же появилась на свет благодаря gora, у самого руки до обновления сайта долго бы доходили.
Спасибо, Евгений!

Wilmots 03-08-2008 03:49 866760

Что такое может быть - новые версии модулей не сжимаются UPX'ом.
Вылазит ошибка - CantPackException: superfluous data between sections
Что можно сделать?

Oleg_Sch 03-08-2008 19:58 867095

Wilmots,
Ошибку подтверждаю.
Связано с переходом на новый компилятор/линковщик. Почему UPX не хочет нормально работать с новой секцией - не знаю, как "победить" - пока не знаю, "буду посмотреть". Сам не использую сжатие, а для "несжатого" новый компилятор дает 3-4 Кб выигрыша.
В то же время, как мне сказал gora, Upack работает нормально.

Oleg_Sch 15-08-2008 16:25 876064

Для любителей "новенького" :)
Собрал модуль на основе новых исходников 4.59.
Проверка была поверхностная, поэтому в шапку выносить не буду, только прямая ссылка на закачку здесь
Был бы премного благодарен за все ответы по части работы модуля. Проблемы - лучше в форум, подтверждения нормальной работы лучше в ПМ или почту, чтобы не захламлять ветку.

Уже не раз говорил, скажу еще раз: пишите все, и "положительно" и "отрицательно". Все письма я читаю.

Oleg_Sch 17-08-2008 07:00 876963

Wilmots, special for you :)
http://7zsfx.info/files/7zsd_extra_130_1115_ru.7z

Цитата:

1.3.0 beta (1115) (August 17, 2008)
* UPX не сжимал последние версии (Wilmots : oszone.net)

1.3.0 beta (1113) (August 15, 2008)
# Использован исходный код 7-Zip версии 4.59beta от 13 августа 2008 г.
http://7zsfx.info/files/7zsd_extra_123_1115_ru.7z

Цитата:

1.2.3 stable (1115) (August 17, 2008)
* UPX не сжимал последние версии (Wilmots : oszone.net)
Проверяйте.

Imago_ 19-08-2008 11:57 878509

Wilmots, (так - на всякий случай) я все время пользуюсь WinUpack 0.39final - не было с сжатием проблем вообще (а жмет лучше upx!).
Офсайт

lorents 26-08-2008 00:17 883839

Здравствуйте!

Простите, что беспокою, у меня к вам маленькая просьба, если у вас есть, пожалуйста, скиньте мне файл 7ZSD_All.sfx только такой, который может открывать редактор ресурсов, на пример Restorator 2007, чтоб была возможность изменять диалоговое окно. Пожалуйста помогите мне или посоветуйте как мне решить эту проблему.

Еще раз простите что побеспокоил!

Oleg_Sch 26-08-2008 01:05 883881

lorents,
Модули выложенные на сайте прекрасно открываются любым редактором ресурсов. Только вот диалогов в них нет, т.к. в силу ряда причин, все окна создаются динамически.

lorents 26-08-2008 12:59 884114

Очень плохо, и сейчас обьясняю почему
все дело в том что есть одна программа Ultra7z Optimizer
она работает по принципу: Программка для оптимизации (уменьшения) 7z-архивов за счёт выбора лучшего алгоритма сжатия PPMD/LZMA для каждого расширения файлов. Скажу программа действительно нужная, увеличивает степень сжатия!
и само собой 7ZSD_PPMd.sfx и 7ZSD_LZMA.sfx не будут работать, а работает только 7ZSD_All.sfx
вот в этом моя проблема, что мне сделать чтоб я мог редактировать диалоговое окно в 7ZSD_All.sfx, очень прошу автора сделать так чтоб можно було редактировать этот sfx

Oleg_Sch 26-08-2008 14:34 884182

На данный момент это невозможно. Для этого надо переделать львиную долю модуля. Причем это касается всех модулей, в том числе и LZMA, PPMd и Deflate.
Цитата:

Цитата lorents
все дело в том что есть одна программа Ultra7z Optimizer
она работает по принципу: Программка для оптимизации (уменьшения) 7z-архивов за счёт выбора лучшего алгоритма сжатия PPMD/LZMA для каждого расширения файлов. »

В моей установке Office2003 она сплоховала, не сжав ни на байт. Но я экстримал и знаю назначение параметров lc, lp, lb, fb.

lorents 26-08-2008 16:22 884254

Oleg_Sch, а на каком языке ты программируешь сам модуль SFX и еще можешь скинуть исходный код?

gora 26-08-2008 16:46 884274

Цитата:

Цитата lorents
можешь скинуть исходный код? »

В шапке есть ссылка на страницу загрузок. Там все найдете.

lorents 26-08-2008 16:53 884280

ок спасибо

lorents 26-08-2008 17:48 884312

Oleg_Sch, пойду разбираться, но я попроси бы на последок, все таки сделать так чтоб можно было изменять диалоговое окно, Всем спасибо!

lorents 26-08-2008 23:32 884626

слушайте, чуть не забыл спросить, а как можно распаковать модуль SFX если он сжат через программу UPX?

YuriPet 26-08-2008 23:37 884630

lorents
Качаем: http://upx.sourceforge.net/download/upx303w.zip
Распаковываем и запускаем командой: "upx -d имя_файла"

lorents 27-08-2008 00:07 884643

точно, спасибо

lorents 28-08-2008 00:25 885470

Всем привет, у меня вопрос. а можно каким нибудь образом поменять 7ZSD_All.sfx в диалоговом окне надпись "распаковка" на другое, это единственное что меня не устраивает в этом модуле, а в остальном модуль великолепный и полностью меня устраивает.

gora 28-08-2008 00:32 885478

Цитата:

Цитата lorents
а можно каким нибудь образом поменять 7ZSD_All.sfx в диалоговом окне надпись "распаковка" на другое »

Можно, если внимательно читать справку :read: :
Цитата:

Цитата справка
ExtractTitle="new_title"
Изменяет заголовок окна распаковки (по умолчанию "Распаковка"). Можно указать что-нибудь вроде "Подготовка к установке".


conductor 28-08-2008 15:46 885892

Ребята кто поскажет есть такой файлик
;!@Install@!UTF-8!
RunProgram="setup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-"
RunProgram="regedit /S reg.reg "
RunProgram="xcopy en.ini\"%programfiles%\\SuperLogix\\Super Utilities\\languages\en.ini\" /s /e /i /y"
Delete="C:\\Documents and Settings\\Администратор\\Рабочий стол\\Super Utilities.lnk"
GUIMode="2"
;!@InstallEnd@!
1не копируется en.ini где ошибка?
2 и второй вопрос если ярлык не здесь "%ALLUSERSPROFILE% то как указать общий путь для его удаления (не как у меня) ведь он может быть в папке Admin

zuckij 28-08-2008 16:08 885903

RunProgram="hidcon:cmd /c xcopy \"%%T\\en.ini\" \"%programfiles%\\SuperLogix\\Super Utilities\\languages\" /s /e /i /y"
Delete="%userprofile%\\Рабочий стол\\Super Utilities.lnk"

conductor 28-08-2008 17:30 885947

Цитата:

Цитата zuckij
Delete="%userprofile%\\Рабочий стол\\Super Utilities.lnk" »

Спасибо!!! но волшебная кнопка выдала ошибка 4 строка
я раньше так писал %ALLUSERSPROFILE%

conductor 28-08-2008 19:13 886013

zuckij
всё сработало просто невнимательность у меня 2 config.txt запустил не тот

Oleg_Sch 29-08-2008 01:19 886246

Цитата:

Цитата zuckij
Delete="%userprofile%\\Рабочий стол\\Super Utilities.lnk" »

Я бы сделал так
Код:

Delete="%UserDesktop%\\Super Utilities.lnk"
т.к. должно корректно отработать на любой языковой версии Windows
Смотрите http://7zsfx.info/ru/configinfo.html

lorents 29-08-2008 19:15 886784

Слушайте я в замешательстве, прошу помощи!:confused:
сейчас скачал одну прогу и увидел что она состоит и модуля sfx и архива 7-zip
ну ничего особенного, решил разархивировать и снова сжать, получил что мой архив весит больше чем архив который я скачал, и самое странное при всех моих попытках сжать сильнее ничего не вышло
вот сам архив 1778 кб
http://webfile.ru/2193499
в чем дело? у меня ?-zip версии 4.60

EN130 29-08-2008 19:27 886792

Цитата:

Цитата lorents
в чем дело? »

Прога не такая уж и большая, чтобы из за нее парится. Когда мой 7Z сжымал хуже чем рар почти на 200 метров, вот тогда я парился.

lorents 29-08-2008 19:30 886798

EN130, не в этом дело, я просто хочу понять почему так выходит?

а есть программа которая сама выбирает оптимальные настройки сжатия?

EN130 29-08-2008 19:50 886822

Цитата:

Цитата lorents
а есть программа которая сама выбирает оптимальные настройки сжатия? »

Цитата:

Цитата lorents
есть одна программа Ultra7z Optimizer »

Вродебы здесь http://maxcompress.narod.ru/ultra7z.htm но я не пробЫвал. Возможно есть и другие.

lorents 29-08-2008 19:59 886828

EN130, эту прогу я знаю, хорошая вешь. она для оптимизации (уменьшения) 7z-архивов за счёт выбора лучшего алгоритма сжатия PPMD/LZMA для каждого расширения файлов.
я имею ввиду такую программу которая сама выберет размер словаря, размер слова и размер блока

YuriPet 29-08-2008 20:03 886834

Цитата:

Цитата lorents
я имею ввиду такую программу которая сама выберет размер словаря, размер слова и размер блока »

Загляни сюда...

lorents 29-08-2008 22:26 886951

YuriPet, все равно не вышло. я ни как не могу сжать его так же, как первоначально сжат архив
кто нибудь смог сжать?

YuriPet 29-08-2008 22:49 886971

Цитата:

Цитата lorents
я ни как не могу сжать его так же, как первоначально сжат архив
кто нибудь смог сжать? »

А вот тут Я не понял... :o
По твоей ссылке скачал архив размером 1 819 893 байт.
Распаковал в отдельную папку и сжал её содержимое "кнопкой" - получил архив размером 1 814 328 байт.
Как видим, сжатие лучше, чем в оригинальном. ;)

Приведи конфигурацию своего компьютера (а лучше - заполни соответствующие строчки в своем профиле).
Смею предположить, что у тебя маловато памяти... ;)

lorents 29-08-2008 23:15 886980

YuriPet, УРА получилось, все сделал, спасибо!

nik1967 31-08-2008 13:57 887752

Имеется SFX-модуль install.exe, запускаемый файлом setup.exe созданным в программе Smart Install Maker. Вопрос: что нужно прописать в config.txt, чтобы файлы извлекались по пути, заданным инсталлятором? Если можно, пример. Спасибо.

Oleg_Sch 31-08-2008 14:18 887767

Цитата:

Цитата nik1967
Имеется SFX-модуль install.exe, запускаемый файлом setup.exe созданным в программе Smart Install Maker. Вопрос: что нужно прописать в config.txt, чтобы файлы извлекались по пути, заданным инсталлятором? Если можно, пример. Спасибо. »

Вам сюда
Или яснее и подробнее (конкретнее) излагайте свой вопрос.

lorents 31-08-2008 14:48 887795

Всем привет! прошу помочь мне
хочу сделать bat-файл, который при запуске разархивировал архив через 7z.exe
как это сделать, если архив и 7z.exe находятся в одной папке

nik1967 31-08-2008 14:54 887801

Установщик копирует самораспаковывающийся архив в заданную папку установки. Пример D:\Games\Assassin`s Creed. Далее он(архив) извлекает файлы и удаляется.
Код:

;!@Install@!UTF-8!
 ExtractTitle="Assassins Creed: распаковка файлов"
 ExtractDialogText="Пожалуйста дождитесь\nполной распаковки файлов\nЭто может занять некоторое время"
 InstallPath="%%S"
 GUIMode="0"
 Title="Assassins Creed"
 GUIFlags="2+4+8+16+256"
 CancelPrompt="Отменить установку?"
 SelfDelete="1"
 ;!@InstallEnd@!

Как сделать так, чтобы извлекать файлы в заданную папку установки(путь задаётся в Smart Install Maker(программа для создания инсталляторов)), не копируя сам архив в папку установки? InstallPath="?"
P.S. Файлы установки находятся на DVD

Oleg_Sch 01-09-2008 00:15 888100

nik1967, Все равно как-то сумбурно...
Предполагаю, что при запуске SFX архива откуда угодно, Вы хотите ему указать в командной строке "распакуй в эту папку". Если так - то такой возможности пока нет. Следите за обновлениями, думаю, на следующей неделе будет.

P.S.
На текущий момент эту ситуацию можно осуществить только таким методом:
1. Указываем в файле конфигурации InstallPath="."
2. Устанавливаем текущей папкой папку распаковки.
3. Запускаем SFX архив

nik1967 01-09-2008 09:03 888210

Oleg_Sch, Спасибо за ответ, будем ждать обновлений. А за программу огромный респект - очень полезная и удобная! :)
P.S. Ещё бы разобраться со всеми её возможностями! :o

YikxX 01-09-2008 09:53 888235

Люди помогите советом. Ситуация такая - под ограниченной учеткой папка, заданная в виндовых переменных TEMP и TMP недоступна (у меня она одна на всех C:\WINDOWS\TEMP ). Так что такой конфиг не срабатывает
Код:

;!@Install@!UTF-8!
RunProgram="hidcon:setup.cmd"
GUIMode="2"
;!@InstallEnd@!

Приходится использовать конфиг с InstallPath= но тогда никак не удаляется папка, куда происходит распаковка. :( Само ее содержимое удаляется, а пустая папка так и остается. Это можно как-нибудь обойти или это невозможно в принципе?

EN130 01-09-2008 11:27 888278

Цитата:

Цитата nik1967
будем ждать обновлений »

Oleg_Sch както двано говорили, что подымаете и отпишитесь по теме о разделениии архива на несколько чстей, как продвигаются дела в том напровлении?

lorents 01-09-2008 20:59 888763

не подскажите можно ли написать такой конфигурационный файл?
чтоб в конечном счете все выглядело так:
запускается мой саморазархивирующийся архив, после завершения запускаются один bat-файл (должен быть не видим для пользователя) и один exe-файл, после завершения работы bat-файла должно происходить следущее, выключается первый exe-файл и запускается другой exe-файл

gora 01-09-2008 21:41 888802

Цитата:

Цитата lorents
можно ли »

Можно, но только после изучения справки. :read:
Понятно, что спрашивать проще, но нужно и самому приложить усилия и попробовать написать файл конфигурации. И вот если уже все изучили и не нашли ответа в справке, задавать вопросы. За Вас ни кто писать ни чего не будет!!!

lorents 01-09-2008 21:43 888805

gora, я же писал что хочу только знать можно ли это сделать или нет
и я не просил ни кого ничего делать

EN130 01-09-2008 21:50 888812

Цитата:

Цитата lorents
и я не просил ни кого ничего делать »

Все модно сделать, ели приложить немножко усилий

gora 01-09-2008 21:54 888816

Цитата:

Цитата lorents
я же писал что хочу только знать можно ли это сделать или нет »

Прочтите уже справку! И такие вопросы отпадут сами.

lorents 01-09-2008 21:55 888817

gora, уже читаю, я надеюсь ты на меня?

conductor 02-09-2008 21:59 889586

;!@Install@!UTF-8!
RunProgram="setup.exe"
RunProgram="hidcon:cmd /c xcopy FGXL_ENG \"%programfiles%\\Get Network\\Get universal\\Langs\\FGXL_ENG\" /s /e /i /y"
Delete="%UserDesktop%\\Get 2.0.lnk"
GUIMode="2"
;!@InstallEnd@!
Ребята подскажите где у меня ошибка?
не копируется папка FGXL_ENG
Get.7z\
FGXL_ENG
setup.exe

lorents 02-09-2008 22:11 889595

слушайте я решил свою проблему, и что я думал как сделать через конфигурационный файл, все и без этого сделал как надо
а справку я все таки прочитал :)

YuriPet 02-09-2008 22:15 889599

conductor
Поскольку xcopy не является встроенной командой, попробуйте указать путь "%windir%\\system32\\xcopy.exe"
P.S. Естественно, "cmd /c" надо убрать... ;)

gora 02-09-2008 22:21 889607

conductor, а существует ли папка "%programfiles%\Get Network\Get universal\Langs\FGXL_ENG ? Если ее нет при копировании, то и копировать некуда. Может попробовать создать ее перед копированием?
Код:

RunProgram="hidcon:cmd /c MD \"%programfiles%\\Get Network\\Get universal\\Langs\\FGXL_ENG\"
Цитата:

Цитата YuriPet
Поскольку xcopy не является встроенной командой »

А у меня такие конструкции работают без проблем. ;)

YuriPet 02-09-2008 22:25 889610

gora, всё может быть... Я ведь мысль "на лету" высказал... ;)

conductor 02-09-2008 23:21 889664

Цитата:

Цитата gora
conductor, а существует ли папка "%programfiles%\Get Network\Get universal\Langs\FGXL_ENG ? Если ее нет при копировании, то и копировать некуда.

gora после setup.exe прога ставится создаётся папка Langs мне просто добавить в неё FGXL_ENG
RunProgram="hidcon:cmd /c xcopy \"%%T\\FGXL_ENG\" \"%programfiles%\\Get Network\\Get universal\\Langs\FGXL_ENG\" /s /e /i /y"
так добавилсь но как заменить(переписать) FGXL_ENG на другую

gora 03-09-2008 00:06 889701

conductor, создайте файл test.bat следующего содержания:
Код:

setup.exe
xcopy FGXL_ENG "%programfiles%\Get Network\Get universal\Langs\FGXL_ENG" /s /e /i /y
pause
exit

положите его в ваш архив рядом с файлом setup.exe. Файл конфигурации замените на такой:
Код:

;!@Install@!UTF-8!
RunProgram="test.bat"
;!@InstallEnd@!

Создайте SFX архив и запустите его. Посмотрите, что будет написано в консольном окне.

ps
А может у Вас папка FGXL_ENG пустая? Есть ли в ней хоть один файл?

conductor 03-09-2008 00:13 889708

gora
щас вопрос в другом как заменить содержимое одной папки на содержимое другой
название папок одинаковое батники не хочу

FreeKnight 04-09-2008 07:07 890557

Извините, если не в тему, а можно как-нибудь создать архив с помощью данного модуля, который бы при запуске запрашивал пароль на запуск?

Oleg_Sch 04-09-2008 10:52 890676

FreeKnight, Средствами модуля это невозможно.

FreeKnight 04-09-2008 13:14 890774

Oleg_Sch, ну а добавить такую возможность в модуль можно?

EN130 05-09-2008 20:43 891947

У меня не работает такая строка

Shortcut="p,{%%T\\Discipl2.exe},{},{Disciples 2},{Играть в Disciples 2: Galleans Return},{Disciples 2: Galleans Return}"

Все остальные команды работают правильно.
В чем здесь причина?

gora 06-09-2008 16:12 892406

EN130
Это не ошибка модуля, а ограничения Windows!



1 Уберите двоеточие в имени ярлыка:
Код:

Shortcut="p,{%%T\\Discipl2.exe},{},{Disciples 2},{Играть в Disciples 2: Galleans Return},{Disciples 2 Galleans Return}"
2 Проверьте в какой кодировке у Вас файл конфигурации, должен быть в UTF 8.

EN130 07-09-2008 20:47 893218

Цитата:

Цитата gora
1 Уберите двоеточие в имени ярлыка: »

Спасибо, помогло.
Цитата:

Цитата gora
2 Проверьте в какой кодировке у Вас файл конфигурации, должен быть в UTF 8. »

После того, как я 3 дня промаялся из за кодировки я стал внимательно за ней следить.

PS: Вы еще месяц назад обещали подумать и отписаться о возможность разбиения архива на части. Что об этом думаете?

Oleg_Sch 09-09-2008 14:41 894576

Цитата:

Цитата EN130
PS: Вы еще месяц назад обещали подумать и отписаться о возможность разбиения архива на части. Что об этом думаете? »

Думаю :) . Немного посмотрел.
Если сделать ограничение "неинтерактивный режим " (т.е. никаких диалогов выбора следующего тома), все тома должны находиться в одной папке на момент запуска SFX архива - то реально.
Кстати, насколько я понял (бегло глянув), 7z, 7za, 7zfm имеют эти ограничения.

IDDQDesnik 11-09-2008 18:54 896585

Oleg_Sch, в утилитке 7z SFX Archive splitter обнаружилась бага - если не поставить галку Install configuration при установленной SFX module, то к полученному файлу sfx модуля прилипает текст конфига

привожу часть лислинга получившегося модуля (смотреть самый конец)
читать дальше »
Код:

@ ~Р@ »Р@ С@ "@ S t a t i c        S e t E n v i r o n m e n t    . .    .  \ *    . l n k    % % T  % % T /    /  % % T \    \  % % S  % % S /    % % S \    Невозможно перезаписать файл "%s".  Could not overwrite file "%s".  Невозможно создать файл "%s".  Could not create file "%s". с  s  Нет No  Да  Yes Отмена  Cancel  OK  Параметр "HelpText" не указан в файле конфигурации. No "HelpText" in the configuration file.    Вы действительно хотите отменить установку? Really cancel the installation? Путь распаковки:    Extraction path:    Путь распаковки Extraction path 7-Zip: Внутренняя ошибка. Код ошибки %u.    7-Zip: Internal error, code %u. 7-Zip: Ошибка данных. Возможно, архив поврежден.    7-Zip: Data error.  7-Zip: Ошибка контрольной суммы (CRC).  7-Zip: CRC error.  7-Zip: Метод не поддерживается. 7-Zip: Unsupported method.  Произошла ошибка при выполнении "%s".  Error during execution "%s".    Файл "setup.exe" не найден. Could not find "setup.exe". Параметр "%s" не найден в файле конфигурации.  Could not find command for "%s".    Невозможно удалить файл или папку "%s". Could not delete file or folder "%s".  Невозможно создать папку "%s".  Could not create folder "%s".  Ошибка в строке %d файла конфигурации:

%s  Error in line %d of configuration data:

%s Невозможно сохранить файл конфигурации. Could not write SFX configuration.      Невозможно прочитать или отсутствует файл конфигурации SFX архива.  Could not read SFX configuration or configuration not found.    Файл не является 7z архивом.    Non 7z archive. Невозможно открыть файл архива "%s".    Could not open archive file "%s".  Невозможно получить имя SFX архива. Could not get SFX filename. Распаковка  Extracting  : ошибка    : error 7z SFX: ошибка  7z SFX: error  7z SFX      1.2.2 сборка 1093 (26 июля 2008 г.)

Поддерживаемые методы и фильтры:
  1.2.2 build 1093 (July 26, 2008)

Supported methods and filters:
  i#Б@Љ'      i#Б@Љ'      M y D o c s    M y D o c u m e n t s  U s e r D e s k t o p  C o m m o n D o c u m e n t s  C o m m o n D e s k t o p          —2@ XЭ@ 3@ 9@ 8A 8A 8A 8A 8A 8A 8A 8A Z3@ G]@ Ѕk@ ќW@ і2@ ї2@ ЮY@ a@ xW@ Z3@ G]@ Ѕk@ ќW@ і2@ ї2@ ЮY@ a@ xW@ Z3@ G]@ sn@ ќW@ і2@ ї2@ ЮY@ a@ рn@ D i r e c t o r y  р6@ vЌ@  :@  @ @ /@ O@ ]@ j@ o p e n    "  g o t o  R e p e a t
 
  i f  e x i s t  "    "
 
  d e l  "  : R e p e a t
 
  7 Z S f x % 0 3 x . c m d  7 z S f x F o l d e r % 0 2 d  ~<@ ?<@ ’<@ dР@ с;@ y@ f<@ жП@ Р@ њ<@ %s%s%s%s    :Language:%u!  Sorry, this program requires Microsoft Windows 2000 or later.  7-Zip SFX  S e l f D e l e t e    F i n i s h M e s s a g e  D e l e t e    S h o r t c u t        E x e c u t e P a r a m e t e r s  "  n o w a i t    h i d c o n    s e t u p . e x e  7 Z i p S f x . % 0 3 x    R u n P r o g r a m    E x e c u t e F i l e  A u t o I n s t a l l  B e g i n P r o m p t  I n s t a l l P a t h  H e l p T e x t    f m    n r    s d    g f    g m    o m    a i    C a n c e l P r o m p t    E x t r a c t P a t h T e x t  E x t r a c t P a t h T i t l e    E x t r a c t P a t h W i d t h    E x t r a c t D i a l o g W i d t h    E x t r a c t D i a l o g T e x t  E x t r a c t C a n c e l T e x t  G U I F l a g s    O v e r w r i t e M o d e  G U I M o d e  n o    P r o g r e s s    E x t r a c t T i t l e    E r r o r T i t l e    T i t l e  s f x c o n f i g  s f x t e s t  ,      s f x v e r s i o n        O`@ G]@ Ѕk@ ќW@ і2@ ?e@ ЮY@ a@ xW@ SetWindowTheme  uxtheme з_@ G]@ Ѕk@ ќW@ і2@ ?e@ ЮY@ a@ xW@ з_@ G]@ їm@ h@ і2@ ?e@ ‡e@ сa@ xW@ з_@ G]@ Џm@ ќW@ і2@ ї2@ ЮY@ a@ xW@ з_@ G]@ ao@ ќW@ і2@ Тb@ 6_@ i@ +j@ з_@ G]@ џm@ ќW@ і2@ ї2@ ЮY@ a@ xW@ з_@ G]@ \n@ h@ і2@ ?e@ Рf@ ‡b@ xW@  ( % u % s )    1 0 0 % %    % d % %    i#Б@Љ'    `  i#Б@Љ'    4  i#Б@Љ'    2  i#Б@Љ'    1  i#Б@Љ'    $  i#Б@Љ'    "  i#Б@Љ'      i#Б@Љ'      i#Б@Љ'      i#Б@Љ'      i#Б@Љ'      t@ XЭ@ t@ XЭ@ 8A 8A 8A t@ XЭ@ t@ XЭ@ t@ XЭ@ ?u@ µ}@ t@ XЭ@ ¤u@ {{@ Аu@ ь{@ Ьu@ µ}@ р6@ vЌ@ ќџ@ џЫ@ р6@ vЌ@ {@ ТЪ@ RЙ@ љГ@ "y@ р6@ y@ ~@ ¤Е@ '}@ µ}@ t@ XЭ@ r…@ ћ†@ р6@ vЌ@ {@ лЮ@ р6@ vЌ@ Nђ@ ЛЋ@ “@ ™@ :“@ Щ”@ V“@ $’@ љ@ !љ@ “љ@ аљ@ vЌ@ *›@ v—@ Ь‘@ К‘@ И•@ У‡@ ‘@ ‘@ ‘@ шђ@ ‘@ t@ XЭ@ Сќ@ |ќ@ р6@ vЌ@ ќџ@ sд@ t@ XЭ@ 8A сЗ@ 8A 8A 8A 8A 8A 8A 8A 8A 8A 8A 8A 8A 8A 8A 8A 8A 8A 8A MШ@ рТ@ -Щ@ Ш@ CШ@ жТ@ #Щ@ уХ@ 9Ш@ ЬТ@ Щ@ 5Х@ /Ш@ ТТ@ Щ@ Х@ $Х@ %Ш@ ИТ@ Щ@ шЦ@ Ш@ ѕТ@ ыШ@ їЦ@ зЦ@ ъТ@ ±Т@ ЪШ@ Ф@ р6@ vЌ@ Uа@ ‹Я@ р6@ vЌ@ \г@ Aг@ р6@ vЌ@ ћг@ јв@    яяяя*ж@ ±ж@ L Z M A       




                                                        8A 8A 8A 8A 8A 8A 8A 8A  ы@ *ы@ 4ы@ pш@ ы@ ы@ ы@ к@ дъ@ оъ@ шъ@ яй@ щ@ Жъ@ Ръ@ Ъъ@ Mш@ Ёъ@ Іъ@ јъ@ Rй@ ѕщ@ ѓъ@ ђъ@ ди@ cч@ >ы@ B C J 2    р6@ vЌ@ C A 2я@      B C J  р6@ vЌ@ ќџ@ Д A Ц A dA HA »A ?<@ жA NA fA y@ ЕA љA C o p y    щ    А      F    А      F        А      F      А      FA    яяяя©A *A яяяяtA ?A яяяяхA        A    яяяя    l        A яяяяА        A    ё        A  “  ґ6A                яяяяг        A    л        A    у        A    ы        A   
A   
A  “  а6A                яяяя
A  “  ,7A                яяяя/
A  “  P7A                яяяяI
A    A
A  “  t7A                яяяяt
A    l
A  “  *7A                яяяя—
A  “  М7A                яяяя±
A    ©
A  “  р7A                яяяяФ
A    Ь
A  “  8A                яяяяо
A  “  H8A                яяяя A  “  l8A                яяяяA    A    $A    ,A    4A  “  ђ8A                яяяяFA  “  Ф8A                яяяяXA  “  ш8A                яяяяjA    rA    zA    ‚A    ЉA    ’A    љA    ўA    ЄA  “          9A                яяяяјA    ДA    МA    ФA  “  Ђ9A                яяяяжA    оA    цA    юA  “  ј9A                яяяяA  “  ш9A                яяяя*A    "A  “  :A                яяяяUA    MA  “  H:A                яяяяxA  “  t:A                яяяяЉA    •A    *A  “  ˜:A                яяяяµA    ЅA    ЕA  “  М:A                яяяяЧA    рA  “    ;A                яяяя
A   

A   
A  “  ,;A                яяяя-
A  “  `;A                яяяя?
A    G
A    Q
A  “  „;A                яяяяe
A    m
A  “  ё;A                яяяя
A яяяя‡
A  “  д;A                яяяя™
A  “  <A                яяяя«
A  “  4<A                яяяяЅ
A яяяяЕ
A  “  X<A                яяяяЧ
A  “  „<A                яяяяй
A  “  Ё<A                яяяяы
A яяяяA  “  М<A                яяяяA  “  ш<A                яяяя'A  “  =A                яяяя9A  “  @=A                яяяяKA  “  d=A                яяяя]A  “  ?=A                яяяя‚A яяяяzA яяяяoA  “  ¬=A                яяяя”A  “  а=A                яяяя¦A  “  >A                яяяяёA  “  (>A                яяяяКA  “  L>A                    аcA    яяяя              p>A            Њ>A яяяяЬA    дA    пA  “  ¤>A                яяяяA  “  Ш>A                яяяяA  “  ь>A                яяяя*A  “    ?A                яяяя>A    RA    ZA    eA    sA    ЃA  “  D?A                яяяя“A  “  ђ?A                яяяяҐA    *A    ёA    ГA    ОA  “  ґ?A                яяяягA    оA  “  ш?A                яяяяA    A    A    A    &A    1A    9A    AA    IA    QA            YA    aA  “  $@A                яяяяsA  “  *@A                яяяя?A  “  Д@A                яяяяљA    ҐA  “  и@A                яяяяєA  “  AA                яяяяМA  “  8AA                яяяя        аA    иA    рA    ыA    A    A    A    #A    -A                              яяяя                в‹@            ЕЊ@
 
        ДAA              ФAA  “
  \AA    дAA        яяяя?A    JA  “  (BA                яяяя_A  “  TBA                яяяяqA  “  xBA                яяяя    яяяя                ’@              ¬BA  “  њBA    јBA        яяяяђA  “  мBA                яяяяўA  “  CA                яяяяґA  “  4CA                яяяяЖA  “  XCA                яяяяШA    аA    лA    цA    A  “  |CA                яяяя        A    A яяяя                Z—@              аCA  “  АCA    рCA        яяяя              0A    8A        яяяя                a˜@            u˜@            PDA              `DA  “    DA    pDA        яяяяJA    RA    ]A    kA    yA  “  ґDA                яяяя‘A    ™A    ¤A яяяяЇA  “  шDA                яяяяБA  “  4EA                яяяяУA  “  XEA                    фcA    яяяя              |EA            ˜EA яяяяиA  “  °EA                яяяяъA  “  ФEA                яяяяA    A  “  шEA                яяяя&A  “  $FA                яяяя8A  “  HFA                яяяяJA  “  lFA                яяяя\A  “  ђFA                яяяяpA  “  ґFA                яяяя„A  “  ШFA                яяяя˜A  “  ьFA                яяяяЄA    ІA  “    GA                яяяяДA  “  LGA                яяяяЦA    ЮA    йA  “  pGA                яяяяюA  “  ¤GA                яяяяA    A яяяя%A    -A  “  ИGA                яяяя?A    GA    RA    ]A    eA    pA    xA    ѓA    ‹A    –A    ЎA  “  HA                яяяяіA    »A    ЖA    СA    ЩA    дA    мA    чA    яA    A            +A   
A    A  “
  xHA                яяяя@A    HA    PA  “  ьHA                яяяя    яяяя      фcA    mї@              @IA  “  0IA    PIA        яяяяlA    tA    A    ЉA    •A    *A  “  ЂIA                яяяяµA  “  МIA                яяяяЙA яяяяСA  “  рIA                яяяягA    оA    цA    A    A    A  “  JA                яяяя5A  “  hJA                яяяяGA  “  ЊJA                яяяяYA  “  °JA                яяяяkA  “  ФJA                яяяя}A  “  шJA                яяяяЏA  “  KA                яяяяЎA    ©A    ґA    їA    КA  “  @KA                яяяяЯA    кA    тA    эA    A  “  „KA                яяяя#A  “  ИKA                яяяя7A  “  мKA                яяяяLA  “  LA                яяяя`A  “  4LA                яяяяrA    }A    ?A    “A  “  XLA                яяяяЁA  “  ”LA                    (dA    яяяя              HdA    яяяя              ФLA ёLA            рLA яяяяВA    єA  “  MA                яяяяеA  “  8MA                    ldA    яяяя              \MA ёLA            xMA яяяячA  “  ”MA                яяяяA  “  ёMA                яяяя    яяяя              HdA мяяяй@            ldA ияяя(й@            8й@              мMA  “  ЬMA    NA        яяяя(A  “  LNA                яяяя=A  “  pNA                яяяяRA  “  ”NA                яяяя    яяяя              HdA мяяяХш@            ldA ияяяиш@            шш@              ИNA  “  ёNA    шNA        яяяяnA  “  (OA                яяяяѓA  “  LOA                яяяя˜A  “  pOA                яяяя¬A  “  ”OA                яяяя    яяяя              HdA мяяяhя@            ldA ияяя{я@            ‹я@              ИOA  “  ёOA    шOA        яяяяИA    УA    ЮA    йA  “  (PA                яяяяюA  “  dPA                яяяяA    A    (A    3A  “  ?PA                |Q        ЋX  ёR        Z[ T! dQ        є[    ˜R        N\ 4! шS        ~\ ”" ЊR        ?\ (! pS        `] "                    f[ †[ њ[ Є[ v[    lT |T ”T ¤T єT ОT ЪT кT ъT U U U 2U HU ^U zU †U ’U ¦U ІU ВU РU вU фU V V 6V LV \V vV „V \T ўV єV ЖV ЬV оV юV W  W *W <W LW \W hW tW †W њW ґW ВW ФW аW оW юW X .X HX XX dX rX FT 2T *T T ’V T j^      Ђ          Ђ    <\ &\ \  \ Ю[ Д[ о[    ¶Y ИY ШY жY тY юY Z Z *Z BZ TZ `Z lZ †Z ћZ ¬Z єZ ЄY ЮZ мZ юZ [ [ *[ 8[ J[ вX ЦX ЖX ёX ¬X њX ˜Y цX Y vY dY VY HY :Y .Y "Y Y МZ †Y    \^ H^ –\ ¦\ ¶\ В\ Ц\ а\ и\ т\ ь\ ] ] ] $] :] L] l] z] „] њ] ¦] ®] ј] Ж] О] Ш] и] ф] ^ ^ (^ 6^    n\ Z\    њSetLastError  ”SetFileAttributesW  ГSleep GetExitCodeThread эWaitForSingleObject M CreateThread  -GetLastError  ИSystemTimeToFileTime  /GetLocalTime  #GetFileAttributesW  3 CreateDirectoryW  WriteFile hGetStdHandle  оVirtualAlloc  сVirtualFree Й GetACP  FGetOEMCP  ;GetModuleHandleW  MultiByteToWideChar WideCharToMultiByte ђ ExpandEnvironmentStringsW 5lstrlenA  *lstrcmpW  LRemoveDirectoryW  џ FindClose * FindNextFileW ] DeleteFileW ¦ FindFirstFileW  # CompareFileTime vGetSystemTimeAsFileTime 6lstrlenW  ЊGetUserDefaultUILanguage  ЉGetUserDefaultLCID  GetTempPathW  ЋSetEnvironmentVariableW  CloseHandle : CreateFileW GetDriveTypeW ‰SetCurrentDirectoryW  -lstrcmpiW 9GetModuleFileNameW  Ы GetCommandLineW ђGetVersionExW SGetProcAddress  ЯLoadLibraryA  MulDiv  МTerminateThread TResumeThread  ЕSuspendThread йLocalFree 0lstrcpyW  ї FormatMessageW  qGetSystemDirectoryW Z DeleteCriticalSection %GetFileSize •SetFilePointer  =ReadFile  —SetFileTime ЊSetEndOfFile  o EnterCriticalSection  ЮLeaveCriticalSection  ыWaitForMultipleObjects  5 CreateEventW  ђSetEvent  RResetEvent  ЕInitializeCriticalSection KERNEL32.dll  SendMessageW  » EndDialog 2 CharUpperW  ђ DestroyWindow ™KillTimer ˜ DispatchMessageW  1GetMessageW WSetTimer  [ CreateWindowExW ґwsprintfW іwsprintfA ГMessageBoxA GetKeyState GetDlgItem  1SetDlgItemTextW у GetClientRect ^SetWindowLongW  [GetWindowLongW  3SetFocus  ScreenToClient  `GetWindowRect oShowWindow  ReleaseDC ґ DrawTextW IGetSystemMetrics  GetDC `SetWindowPos  dGetWindowTextLengthW  ; ClientToScreen  8GetParent VGetWindow ” DialogBoxIndirectParamW wSystemParametersInfoW ¬ DrawIconEx  XGetWindowDC  CallWindowProcW ‡ DefWindowProcW  ¶wvsprintfW  dSetWindowTextW  eGetWindowTextW  ҐLoadImageW  ЈLoadIconW ВMessageBeep · EnableMenuItem  HGetSystemMenu USER32.dll  ОSelectObject  -GetDeviceCaps ; CreateFontIndirectW YGetObjectW  T DeleteObject  GDI32.dll h SHGetSpecialFolderPathW ђ ShellExecuteW Џ ShellExecuteExW ^ SHGetMalloc d SHGetPathFromIDListW  ? SHBrowseForFolderW  W SHGetFileInfoW  SHELL32.dll  CoCreateInstance  1 CoInitialize  ole32.dll OLEAUT32.dll  ??3@YAXPAX@Z  ??2@YAPAXI@Z  К_purecall U __CxxFrameHandler йmemcmp  ±free  дmalloc  лmemmove кmemcpy  Ђ_wtol 8_wcsnicmp мmemset  H _CxxThrowException  Л _beginthreadex  ф _except_handler3  msvcrt.dll  o __dllonexit Ѕ_onexit  ??1type_info@@UAE@XZ  М _c_exit э _exit O _XcptFilter П _cexit  њexit  Ї _acmdln r __getmainargs B_initterm * __setusermatherr  Ѕ _adjust_fdiv  … __p__commode  Љ __p__fmode  ћ __set_app_type  5 ?terminate@@YAXXZ Э _controlfp  fGetStartupInfoA                                                                                                                                                                                                                                                                                                                                                                                                        b  г      H*A  *A        ф)A ф)A        д)A Ф)A        М)A А)A        ґ)A Ё)A        Њ)A h)A        D)A )A        )A м(A                ¬(A h(A   
  @(A (A        м'A А'A        *'A Ђ'A   
  X'A 0'A        'A Ь&A        А&A ¤&A        „&A \&A        @&A  &A        &A д%A        Р%A њ%A        |%A P%A        @%A 0%A        %A %A        и$A ј$A        ђ$A \$A        X$A X$A        P$A H$A        D$A @$A        <$A 8$A        4$A 0$A        $A ф#A        Ф#A °#A        ®#A ®#A    яя  яя  яяяя,!@Install@!UTF-8!  ,!@InstallEnd@! яяяя,  ,  яяяя  +A .  м*A    Ф*A    ј*A    ¬*A п»ї      яя        И ИЂ    y y          M S  S h e l l  D l g            P    ±  яя‚              P$  I  І  яя‚            Ђ Ѓ@ 9 Q  ¶  яяЃ            @ @_ 9 
 ·  яяЂ              P d 2  і  яяЂ              P@ d 2  ґ  яяЂ              @ ) k  µ  яя‚              Ђ@ N k
 ё  m s c t l s _ p r o g r e s s 3 2      x6A    .H  8zјЇ'  x6A    .?AVCInArchiveException@N7z@NArchive@@    @ x6A    .?AUCSystemException@@  x6A    .?AUCInBufferException@@    x6A    .?AUCOutBufferException@@  Мы@          ф4A            A        ј5A            iA        и5A          A A        ,6A                                                                                                                                                                                                                                                          ы  D    S    Ќ  ™  ¬  є  Е  п      ?  [  x  Џ  >  Е  *  Й  Ф  д  р  $  X  k  {  Ќ  ќ  й        І  Ы  л    (  >  Y  g  ђ  ›  ¶  Џ  Щ  п    Ї  Ц  d  w  ѕ  Й  Э  с 
  У  й  ю    +  g  }  Ћ  Ї  Є  Д  м    k  {  †  Ї  Г  д  ш 
  !  1  l    =  Љ  И  Э    )  •  ґ  Е  Э  и  у 
    :  P  \  l  y  „  ’  Ї  З  Х  б  є  ш    +  A  S  b  С      .  >  №  М  ц  (  C  S  ^  i  t  Ђ  Џ  ћ  ©  ґ  ?  ˜  ¤  °    B  q  ѓ  ђ  1  K  …  Ъ  Њ  е  W  А  Х  к  !  n  z  ‹  ¬  Ф  л      0  H  %                                                                                                                                                                                                                                                                                                                                                                                                0  Ђ  P  Ђ  h  Ђ  Ђ  Ђ                  ˜  Ђ  °  Ђ              e  И  Ђ                  а  Ђ                  ш  Ђ                                                              0                    @                    P  … 0          8† °          и† "          `Ѓ ¤          ‡ ё          ¤4  V S _ V E R S I O N _ I N F O    Ѕпю    E  E ?                          S t r i n g F i l e I n f o  а  0 0 0 0 0 4 b 0      C o m m e n t s  F  C o m p a n y N a m e    O l e g  N .  S c h e r b a k o v    B
  F i l e D e s c r i p t i o n    7 z  S e t u p  S F X    <  F i l e V e r s i o n    1 ,  2 ,  2 ,  1 0 9 3  2          I n t e r n a l N a m e  7 Z S f x N e w    v )  L e g a l C o p y r i g h t  C o p y r i g h t  ©  2 0 0 5 - 2 0 0 8  O l e g  N .  S c h e r b a k o v    (    L e g a l T r a d e m a r k s    B
  O r i g i n a l F i l e n a m e  7 Z S f x N e w . e x e    <  P r i v a t e B u i l d  J u l y  2 6 ,  2 0 0 8  2          P r o d u c t N a m e    7 Z S f x N e w    @  P r o d u c t V e r s i o n  1 ,  2 ,  2 ,  1 0 9 3        S p e c i a l B u i l d  D    V a r F i l e I n f o    $    T r a n s l a t i o n      °    (      @                                яяя    ЊЋ?МЋ0МЬ0МЬ М шПаpЏаp< ш0 ш0МЬ?ПсЊЏуЋ    ш?ш  #ш Ђ@ „  ‚? B  A !?шЂ ш`          яа                                                        ьАьАьАьАьаяюрюш?яьяАяЃАяЂАаААааяа яа яа яа яа я(                Ђ                      яяя    r 
  3Њ  B  ;Т          <~  $B  $L  $  rr  YB  A~                                яя  ГЃ  ГЃ  Гѓ  бГ  ЃЃ  ЂЃ  ЂЃ  Ђя          0      °          <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.2.2.1093"
processorArchitecture="X86"
name="7-Zip.7zSfxSetupNew"
type="win32"
/>

<dependency><dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly></dependency>

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"><security>
<requestedPrivileges><requestedExecutionLevel level="asInvoker" uiAccess="false"/></requestedPrivileges>
</security></trustInfo>

</assembly>                                                        п»ї;!@Install@!UTF-8!
Title="Р˜РЅСЃС‚СЂСѓРјРµРЅС‚С‹ для 7z SFX"
BeginPrompt="РђСЂС…РёРІ содержит инструменты для 7z SFX:\n\n• Модифицированный 7z SFX модуль\n• 7z SFX Splitter для извлечения компонентов РёР· SFX архива \n• Файл справки для модуля (CHM формат)\n\nЯрлык Рє файлу справки будет помещен РЅР° РІР°С? Р*абочий стол.\nФайл справки откроется автоматически после извлечения."
CancelPrompt="Вы хотите прервать распаковку?"
ExtractDialogText="Подождите, пожалуйста..."
ExtractPathText="Пожалуйста, введите путь распаковки:"
ExtractTitle="Р*аспаковка..."
GUIFlags="8+32+64+256+4096"
GUIMode="1"
InstallPath="%ProgramFiles%\\7z SFX Tools"
OverwriteMode="2"
RunProgram="nowait:\"7zSD_RU.chm\""
Shortcut="Du,{%%T\\7zSD_RU.chm},{},{},{Описание модифицированного 7z SFX модуля},{Все о 7z SFX модуле},{},{%%T\\7ZSplit.exe},{0}"
;!@InstallEnd@!


Oleg_Sch 12-09-2008 01:02 896866

IDDQDesnik, Спасибо.
Буду проверять/исправлять.

conductor 14-09-2008 23:22 899272

ребята кто подскажет есть файлик
;!@Install@!UTF-8!
RunProgram="setup.exe /VERYSILENT "
RunProgram="regedit /S reg.reg "
Delete="C:\\Documents and Settings\\Администратор\\Рабочий стол\\AusLogics BoostSpeed.lnk "
Delete="%ALLUSERSPROFILE%\\Рабочий стол\\One Button Checkup.lnk "
GUIMode="2"
;!@InstallEnd@!
нижний ярлык не удаляется хотя вроде бы более грамотно написано
зы ярлыки в одной папке просто проверил кодировку

EN130 15-09-2008 18:12 900031

Цитата:

Цитата Oleg_Sch
Если сделать ограничение "неинтерактивный режим " (т.е. никаких диалогов выбора следующего тома), все тома должны находиться в одной папке на момент запуска SFX архива - то реально. »

На худой канец можно и так, но я думаю лучше конечно если можно выбирать место расположения других чвстей врхива.
Я думаю париться ради параметра сомнительной надобности не стоит.

Proektor 20-09-2008 11:22 903959

Подскажите вот какой момент. У меня в конфиге прописано 5 вариантов AutoInstall с различными вариантами установки MS Office (с разными .MST) и мне необходимо, чтобы после отработки любого варианта запускались ещё несколько программ. Если я правильно понял из справки, то AutoInstall имеет приоритет перед RunProgram. Значит ли это, что для каждого варианта AutoInstall нужно прописывать нужно прописывать последующий запуск всех приложений или можно как-нибудь задать одной командой. И ещё, как прописывать относительные пути в AutoInstall? Если у меня в архиве есть папка Convertor\Updates, то как мне прописать запуск файла из неё?

gora 20-09-2008 11:43 903972

Цитата:

Цитата Proektor
Значит ли это, что для каждого варианта AutoInstall нужно прописывать нужно прописывать последующий запуск всех приложений или можно как-нибудь задать одной командой »

Не следует путать AutoInstall и AutoInstallX. AutoInstall может содержать только один вариант установки, а вот AutoInstallX может содержать несколько вариантов. При использовании AutoInstallX (например, AutoInstall1...AutoInstall5 в вашем случае) запуск остальных программ можно прописать один раз в AutoInstall6 и использовать пакетный режим с ключами (например, -ai16, -ai26 ... -ai56).
Цитата:

Цитата Proektor
Если у меня в архиве есть папка Convertor\Updates, то как мне прописать запуск файла из неё? »

Можно, как описано в справке.
Цитата:

Цитата справка
Модуль также поддерживает относительные пути в следующих параметрах и ключах:
'AutoInstall', 'AutoInstallX', 'Directory', 'ExecuteFile', 'RunProgram' - относительно папки, в которую произведена распаковка

Т.е. можно написать что то вроде
Код:

AutoInstall1="Convertor\\Updates\\Setup.exe"

Proektor 20-09-2008 12:58 904002

gora,
Цитата:

использовать пакетный режим с ключами (например, -ai16, -ai26 ... -ai56.
Спасибо, не знал.
Цитата:

AutoInstall1="Convertor\\Updates\\Setup.exe"
Забыл про двойные слэши, поэтому не отрабатывалось.

Medic84 27-09-2008 20:41 910371

Этот конфиг вообще не работает... Почему не знаю.... Кодировка UTF-8...
Код:

;!@Install@!UTF-8!
;Текст_в_кодировке_UTF-8
RunProgram="\"%SYSTEMDRIVE%\\Install\\SETUP.EXE\""
InstallPath="%SYSTEMDRIVE%\\Install"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Нужно немного подождать..."
GUIFlags="2+4+8+16+32"
GUIMode="1"
Progress="yes"
;!@InstallEnd@!

Что делать???

EN130 27-09-2008 21:33 910408

Progress="yes" - здесь лишнее. Почему? Смотрите в справке к SFX
Не уверен, но может нужно в 3-ей строчке удалить одни кавычки в конце строки

Oleg_Sch 28-09-2008 04:47 910671

Medic84, На первый взгляд - все нормально, должно работать. Если хотите получить более конкретный ответ - давайте полные данные (эх-х-х... сколько уже можно говорить об этом?). Версия модуля, как проявляется ошибка... А то "что делать". Почему вы боитесь/ленитесь расписывать подробно. К телепатам сюда.

Medic84 28-09-2008 12:03 910773

Oleg_Sch, НУ как подробно это расписать??? Я хотел создать sfx архив с автоустановкой Microsoft office (Кстати, нет ли такого аддона??) Я все соединил, как сказано в статье, но модуль не работает.... И видимо конфиг не воспринимает, и все остается так как есть...

EN130 28-09-2008 12:48 910800

А какая версия офиса? 2003 я ставлю такой командой

;!@Install@!UTF-8!
RunProgram="setup.exe TRANSFORMS=Unattended.MST /qb-!"
;!@InstallEnd@!

Не идеал, но мне достаточно. Что лежит в TRANSFORMS не знаю

Medic84 29-09-2008 15:29 911687

Приношу свои извинения...... Это я по своей глупости использовал самый обычный модуль, а не модифицированный....

conductor 30-09-2008 12:15 912300

Цитата:

Цитата EN130
Что лежит в TRANSFORMS не знаю »

кто обьяснит зачем и для чего ?

swingsss 30-09-2008 16:07 912515

Народ подскажите плизз возможно ли изменить Описания файла или производителя при создании exe???? Тоесть при выведении свойств файла Версия -> Производитель этображался тот текст которыя я задал

Medic84 30-09-2008 16:09 912516

swingsss, Это меняется так же как и иконка... Через ResHacker

gora 30-09-2008 16:18 912525

Цитата:

Цитата Medic84
Это меняется так же как и иконка... Через ResHacker »

И не только. Можно проще сделать все "кнопкой". Ссылка в шапке.

swingsss 30-09-2008 22:48 912865

gora подскажите пожалуйта как добавить к Иконкам форматов 16х16 и 32х32 и другие Заранее благодарен

EN130 09-10-2008 16:45 919743

У меня такая проблема. Мне необходимо прочитать из реестра путь к папке с прогой. Я делаю это так

InstallPath="reg "HKLM\\SOFTWARE\\ZTEiT\\EV DO\\1.00.999\\Product_Path" "

Product_Path содержит путь к программе. В моем случае это C:\Program Files\ZTE EV-DO но вообще путь может быть любым.
Но архив выдает ошибку в этой стороке

Oшибкa в cтpoкe 2 фaйлa кoнфигypaции:
HKLM\\SOFTWARE\\ZTEiT\\EV DO\\1.00.999\\Product_Path" "

Ну и соответственно вопрос: как нужно было читать путь из реестра?

PS: в справке к модифицированому модулю есть несколько примеров. Может стоит их заменить на готовые маски?

gora 10-10-2008 09:19 920305

EN130, у Вас целый ряд ошибок.
Цитата:

Цитата EN130
InstallPath="reg "HKLM\\SOFTWARE\\ZTEiT\\EV DO\\1.00.999\\Product_Path" " »

1 Нарушено правило "лидирующего" слеша. В строке ВСЕ внутренние кавычки (за исключением самой первой и самой последней) должны предварятся слешем. (\")
2 Команда reg должна содержать второе слово (название операции). Подробности: Пуск - Выполнить - набрать cmd /k reg
3 Параметр InstallPath не является командой выполнения и не будет выполнять команду записанную в нем. В этот параметр нужно подставлять уже готовый путь, а как Вы его получите, это уже ваши проблемы.
Цитата:

Цитата EN130
как нужно было читать путь из реестра? »

Я не знаю способа получения пути из реестра и подстановки его в параметр InstallPath в пределах файла конфигурации.
Цитата:

Цитата EN130
есть несколько примеров. Может стоит их заменить на готовые маски? »

Приведите ваши варианты примеров, если они будут удачными, то можно будет их включить в справку.

Dmitry_K 10-10-2008 20:26 920803

EN130, в принципе можно "извратиться", как вы хотите: ;)
1. создаем sfx-архив, который будет распаковываться во временную папку и в котором будут:
а) нужный 7z-архив;
б) модифицированный модуль;
в) начало файла конфигурации;
г) окончание файла конфигурации;
д) сторонняя утилита (либо командный файл), которая прочитает инфу из реестра и запишет ее в "середину" файла конфигурации и который будет выглядеть как InstallPath="путь из реестра" и который будет в формате UTF-8.
2. Затем "склеиваем" все это: модуль + начало конфига + середина конфига + окончание конфига + архив.
3. Запускаем получившийся файл...

Vadikan 10-10-2008 23:13 920914

Цитата:

Цитата Dmitry_K
сторонняя утилита (либо командный файл), которая прочитает инфу из реестра »

Batch files - Reading NT's Registry with REG .EXE
Цитата:

Цитата Dmitry_K
и запишет ее в "середину" файла конфигурации »

Проще добавить в конец, после чего добавить ;!@InstallEnd@!

gora 10-10-2008 23:20 920917

Dmitry_K, Vadikan, при всем уважение, но это изврат. Зачем нужно создавать новый SFX архив!? Проще распаковать во временную папку и запустить бат файл в котором извлечь нужный путь из реестра и СКОПИРОВАТЬ извлеченные файлы в указанный путь из временной папки. Остальное можно сделать, как в этом же бат файле, так и вернувшись в файл конфигурации архива.

Dmitry_K 10-10-2008 23:27 920920

gora, так я же и говорю:
Цитата:

Цитата Dmitry_K
в принципе можно "извратиться" »

а на счет батников, не все их составлять умеют, но если уж очень кому-то понадобится, то информацию всегда найти можно

gora 10-10-2008 23:33 920924

Цитата:

Цитата Vadikan
Проще добавить в конец, после чего добавить ;!@InstallEnd@! »

Файл конфигурации еще надо иметь после распаковки, а его нет! Для его извлечения придется еще "подтянуть" сплитер, да и дописывать/создавать файл в кодировке utf8 тоже не просто будет. Нужен будет еще и модуль и снова создавать SFX архив, а затем его снова распаковывать... Это все будет очень не просто. Я решал подобные задачи и скажу, что это посложнее батников будет, тем более, что с его помощью и придется все это решать.

Dmitry_K 10-10-2008 23:39 920928

Цитата:

Цитата gora
Файл конфигурации еще надо иметь после распаковки, а его нет! »

это решается проще, он просто кладется в архив отдельно, и не надо никаких сплиттеров
Цитата:

Цитата gora
да и дописывать/создавать файл в кодировке utf8 тоже не просто будет »

полностью согласен, сам тоже этим "извращался" ;)

Vadikan 11-10-2008 01:14 920977

Цитата:

Цитата gora
при всем уважение, но это изврат. »

Полностью согласен. Приншу извинения за публично продемонстрированную страсть к групповым извращениям :)


EN130, см. сообщение 569.

EN130 11-10-2008 11:59 921151

Для всех Все не так просто как кажется. Может мне и удастся все зделать, но гемороиться ради проги сомнительной надобности не стоит.

EN130 13-10-2008 15:43 922694

Для GORA


Цитата:


;!@Install@!UTF-8!
RunProgram="setup.exe"
GUIMode="2"
;!@InstallEnd@!


Это "тихий" SFX архив.
Архив при запуске незаметно (диалог распаковки не отображается, GUIMode="2") распакует содержимое во временную папку и запустит "setup.exe" для установки ПО. Временная папка будет удалена по окончании установки. Вместо setup.exe может быть и setup.cmd для выполнения последовательности команд.


;!@Install@!UTF-8!
GUIFlags="128+256"
RunProgram="regedit /s reg.reg”
RunProgram="hidcon:REG ADD \"HKLM\\SOFTWARE\\Program\" /v Product_Path /t REG_SZ /d \"%%T\" /f"
BeginPrompt="Установить приграмму?"
ExtractPathText="Укажите путь для установки. \nНапример C:\Program Files\Program\n\n Установит в:"
InstallPath=" C:\Program Files\Program "
ExtractDialogText="Подождите, идет установка"
Shortcut="p,{%%T\\Program.exe},{},{},{},{Program}"
ExtractTitle="Установка"
ExtractPathTitle="Program"
CancelPrompt="Действительно отменить установку? \nУже установленные файлы автоматически не удалятся. \nИх необходимо будет удалить вручную."
FinishMessage="Установка успешно завершена."
;!@InstallEnd@!


Это «полная» установка.
Этот SFX архив запустится в виде некоторого подобия стандартного мастера установка, к которым мы все привыкли. В место BeginPrompt можно вставить лицензионное соглашение. Архив разместит в меню пуск ярлык для запуска программы. Первая команда RunProgram добавит в реестр информацию из заранее подготовленного файла reg.reg, А вторая добавит в реестр информацию о расположении программы. По окончании установки будет выведено сообщение об окончании установки.


;!@Install@!UTF-8!
BeginPrompt="Удалить программу?"
Delete="Fail_or_papka1"
Delete="Fail_or_papka2"
Delete="Fail_or_papkaX"
RunProgram="hidcon:cmd /c Echo"
InstallPath="%%s"
Delete="%%S"
SelfDelete="1"
;!@InstallEnd@!


Этот SFX модуль предназначен для удаления программ. С его помощью можно удалить и часть программы. После выполнения всех действий архив самоудалится.

Может я и не прав, но такие примеры выглядят более наглядно, чем №4 и 6 из файла свравки. Как вариант можно разделить пример на несколько блоков.

Dmitry_K 13-10-2008 15:57 922705

EN130, имхо, в файле справки все достаточно понятно и подробно описано.

denVL 08-11-2008 22:28 947342

Oleg_Sch, скажите, если ли возможность в модуле вставки пользовательского рисунка в диалоговое окно? Необходимо, чтобы был и рисунок и выбор пути установки. Если модуль не поддерживает такую возможность, то имеются ли другие способы сделать это?

qeraser 11-11-2008 21:52 949979

При использовании "указание пути распаковки в диалоге BeginPrompt" не получается заставить работать ExtractPathText.
Мой конфиг:
Код:

;!@Install@!UTF-8!
Title="..."
BeginPrompt="..."
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
ExtractPathText="Пожалуйста, введите путь распаковки:"
InstallPath="..."
Shortcut="..."
GUIFlags="2624"
FinishMessage="..."
;!@InstallEnd@!


Oleg_Sch 13-11-2008 01:13 951184

Цитата:

Цитата qeraser
При использовании "указание пути распаковки в диалоге BeginPrompt" не получается заставить работать ExtractPathText. »

Приводите версию модуля, пожалуйста.
Подозреваю, что это 1.3 со сборкой > 1095
Цитата:

Цитата denVL
Oleg_Sch, скажите, если ли возможность в модуле вставки пользовательского рисунка в диалоговое окно? Необходимо, чтобы был и рисунок и выбор пути установки »

В разработке. Надеюсь выложить на следующей неделе.
Цитата:

Цитата denVL
Если модуль не поддерживает такую возможность, то имеются ли другие способы сделать это? »

Не поддерживает. На текущих версиях это сделать невозможно.

qeraser 13-11-2008 11:36 951456

Цитата:

Цитата Oleg_Sch
Приводите версию модуля, пожалуйста. »

1.3.0.1141

Oleg_Sch 14-11-2008 01:28 952145

qeraser, есть такое :(
Связано с
Цитата:

Цитата:

Цитата denVL
Oleg_Sch, скажите, если ли возможность в модуле вставки пользовательского рисунка в диалоговое окно? Необходимо, чтобы был и рисунок и выбор пути установки

В разработке. Надеюсь выложить на следующей неделе. »
Промежуточный вариант, утекший от gora ;)
Данная ошибка уже исправлена, ждите обновлений.
Пока могу только предложить "откатиться" на 1095

hobbit25 17-11-2008 15:24 954919

Oleg_Sch, вот хочется спросить. опишу более точно свой вопрос. Хочется пример картинка вместо "при нажатии [ОК] ВМЕСТЕ С [Shift]" иметь кнопочку например 1 вариант а вместо кнопки ОК второй вариант [IMG][/IMG]

VZDD 17-11-2008 16:44 954999

размер 7z архива 4Гб


ЭТО КОНФИГ

;!@Install@!UTF-8!
Title="установка Call of Duty 5"
BeginPrompt="Желаете установить игру Call of Duty 5? Ярлык для запуска игры будет помещен на ваш Рабочий стол."
CancelPrompt="Вы хотите прервать установку игры?"
ExtractDialogText="Подождите, пожалуйста..."
ExtractPathText="Выберите папку для установки игры. Требуется не менее 6 Гб свободного места!!!"
ExtractPathTitle="выберите папку для установки"
ExtractTitle="пожалуйста ждите..."
FinishMessage="Установка игры завершена. Ярлык для запуска на рабочем столе!"
GUIFlags="4+8+16+128+256+4096"
GUIMode="1"
InstallPath="D:\\Games\\"
OverwriteMode="2"
Shortcut="D,{%%T\\COD 5\\CoDWaW.exe},{},{},{Ярлык для запуска игры Call of Duty 5},{Call of Duty 5},{},{},{}"
ExtractDialogWidth="800"
RunProgram="%%T\\DirectXnow2008\\DXSETUP.exe"
;!@InstallEnd@!

формируется EXE
а при запуске выдает
GG.exe не является приложением Win32
как это объяснить??
помогите!

EN130 17-11-2008 17:02 955023

У меня была такая же проблема. кризис.ехе не является приложением Win32. После каких то манипуляций (уже не помню каких) система выдала, что "Система не может запустить исполняемый файл размером больше 4Га" Попробуйте запустить SFX-архив в 64 битной винде или в висте.

VZDD 17-11-2008 17:05 955031

а нельзя сделать составной SFX архив парты по 1 гигу например?

кажется нашел выход
пержал чут сильнее видео в игре
архив весил 4,05 Гб
сейчас получится
гдето 3,92
спасибо огромное за подсказку!!! удачи!

EN130 17-11-2008 18:43 955143

Я встретил интересный инсталятор. В архив положил его "слепок" Кто может подсказать, что за параметр передается в data.exe?

Таким образом можно организовать разбиение архива на части, когда выполняется что-то вроде

RunProgram="data.exe -InstallPath" или data.exe -%%T

Второе предпочтительнее.

Oleg_Sch 18-11-2008 00:17 955452

Цитата:

Цитата VZDD
размер 7z архива 4Гб »

Цитата:

Цитата VZDD
а при запуске выдает
GG.exe не является приложением Win32
как это объяснить?? »

Цитата:

Цитата EN130
Попробуйте запустить SFX-архив в 64 битной винде или в висте »

Подтверждаю. Win32 не умеет работать с исполняемыми файлами > 4Гб. Насчет Win64 не скажу, нет под рукой.
Цитата:

Цитата EN130
Я встретил интересный инсталятор. В архив положил его "слепок" Кто может подсказать, что за параметр передается в data.exe?
Таким образом можно организовать разбиение архива на части, когда выполняется что-то вроде
RunProgram="data.exe -InstallPath" или data.exe -%%T
Второе предпочтительнее. »

Чего-то я не понял. Какое отношение это имеет к модулю ? Кто, что куда должен передавать ? Что значит "организовать разбиение" ?
Правильно поставленная задача - наполовину выполненное дело

EN130 18-11-2008 11:30 955773

Oleg_Sch,
В данном случае WISE Installer в виде параметра передает в SFX архив команду, извлеч в указаную папку (каждый раз разную). Хотелось бы знать, что и как нужно передать в SFX чтобы он извлекся в выбраное место.
Цитата:

Цитата Oleg_Sch
Что значит "организовать разбиение" »

Создание многотомного архива. В контексте
Цитата:

Цитата Oleg_Sch
Win32 не умеет работать с исполняемыми файлами > 4Гб »

Естественно каждый том может быть SFX модифицированым модулем. А первый том явно должен быть модифицирован.

Pozia 18-11-2008 15:21 955977

Подкажите пожалуйсто какую команду надо дописать чтобы после инсталяции удалялись временные файлы инсталяции. Мой config:

;!@Install@!UTF-8!
RunProgram="run.exe /S"
InstallPath="%temp%"
GUIMode="2"
OverwriteMode="0"
;!@InstallEnd@!

Спасибо

gora 18-11-2008 15:25 955984

Цитата:

Цитата Pozia
какую команду надо дописать чтобы после инсталяции удалялись временные файлы »

Удалите строку
Код:

InstallPath="%temp%"
и модуль сам распакует файлы в свою временную папку, а после установки удалит ее.

Pozia 18-11-2008 17:08 956062

Помогите пожалуйсто новичку разобраться с этим модулем. Я делаю тихий инсталяк IEPro_v2.4.3. В 7z архив помещаю:

IEPro - папка с папками и файлами
MiniDm - папка с файлами
run.cmd
hidcon.exe
IEPro.exe
IEPro.reg - некоторые настройки

Содержание run.cmd:
start /wait IEPro.exe -y -gm2 -fm0
start /wait REGEDIT /S IEPro.reg
xcopy IEPro "%UserProfile%\Application Data\IEPro\" /S /H
xcopy MiniDm "%UserProfile%\Application Data\MiniDm\" /S /H

Все ставится как надо и копируется как надо только вот после установки на живую систему в диспетчере остаются висеть такие процессы - run.exe, xcopy.exe, cmd.exe. Они меня и смущают. Так надо или я что то не так делаю?
Такое ощущение что run.cmd после выполнения остается висеть в памяти

Pozia 18-11-2008 17:32 956079

Разобрался сам. Может кому пригодится - нужно писать так

xcopy IEPro "%UserProfile%\Application Data\IEPro\" /S /H /Y
xcopy MiniDm "%UserProfile%\Application Data\MiniDm\" /S /H /Y

gora 18-11-2008 18:33 956130

Цитата:

Цитата Pozia
Я делаю тихий инсталяк IEPro_v2.4.3 »

Зачем изобретать велосипед. Хотите разобраться - посмотрите как сделано здесь.

Ksenia17 18-11-2008 20:26 956242

Бобрый день!
Сталкнулась с такой проблемой:
Создала файл config.txt
Затем Archive.7z
Собрала их: COPY /b 7ZSD_LZMA.sfx + config.txt + Archive.7z Setup.exe
О чудо - всё работает!
Но не тут то было:
7-zip архив - 4 gb! Делаю ВСЁ тоже самое - а он не хочет запускаться...
Может можно как то решить эту проблему.
С уважением Ксения

P.S. Создала посто самораспаковывающийся 7-zip архив весом 4 GB - он тоже не работает...

EN130 18-11-2008 21:18 956284

Исполняемые файлы больше 4Га в ХР незапускаются. Как небуть разбейте архивна несколько частей. Не спрашивайте меня как

Pozia 18-11-2008 21:26 956292

Такой вопрос. При попытке перевести текст файла config в кодировку UTF-8 она сбрасывается на ANSI после перезапуска файла. Если присутствуют русские буквы в config то тогда UTF-8 остается. Так должно быть или у меня глючит Notepad?

gora 18-11-2008 21:30 956297

Pozia, используйте стандартный Блокнот, а еще лучше EmEditor со спец. подсветкой для файлов конфигурации. Я ее где то выкладывал (либо в этой ветке, либо в ветке аддона EmEditor).

PS
Кстати на скриншоте аддона EmEditor представлен файл конфигурации с такой подсветкой.

EN130 18-11-2008 21:32 956298

Цитата:

Цитата Pozia
Если присутствуют русские буквы в config то тогда UTF-8 остается. »

У меня наоборот, если русских букв нет, то все работает независимо от кодировки,

gora 18-11-2008 22:33 956355

EN130, многотомный 7z SXF архив на базе модифицированного модуля можно сделать и сейчас (приложив немного смекалки), но я не понимаю, что Вы хотите получить!? Если четко сформулируйте задачу, попробую помочь. Если конечно это кому то нужно!?

Sham 18-11-2008 22:42 956363

Цитата:

Цитата Pozia
Так должно быть или у меня глючит Notepad? »

если файл без метки BOM, то подходящая кодовая страница определяется автоматически...

EN130 18-11-2008 23:53 956417

Цитата:

Цитата gora
Если конечно это кому то нужно!? »

Как я вижу частенько встречается ситуация, когда архив выходит более 4Гб. Можно передать SFX архиву как команду извлечся в нужное место, так и скопировать SFX архив в нужное место и скомандовать извлеч сюда. В старых пиратских играхя видил и первое и второе. Естественно первое предпочтительнее. Можно воспользоватся и консольной версией орегинального 7Z, но этот способ еще не опробовал.

hobbit25 20-11-2008 01:45 957694

Oleg_Sch,
Цитата:

Цитата hobbit25
Oleg_Sch, вот хочется спросить. опишу более точно свой вопрос. Хочется пример картинка вместо "при нажатии [ОК] ВМЕСТЕ С [Shift]" иметь кнопочку например 1 вариант а вместо кнопки ОК второй вариант »


Oleg_Sch 22-11-2008 08:32 959876

To All .
Все в процессе. То, что я молчу, не значит, что ничего не делается. Просто пока паблик версию не могу (читай "не хочу") выложить.
Как отмазка, раскрою "внутреннюю" историю (ДСП):
Цитата:

1.3.0 beta (1212) 22.11.08
* Изменение некоторых параметров файла конфигурации из командной строки работало некорректно

1.3.0 beta (1206) 16.11.08
+ Использование изображений и RTF в "подмененных" диалогах

1.3.0 beta (1141) 12.09.08
+ Возможность изменения параметров файла конфигурации из командной строки

1.3.0 beta (1135) 06.09.08
+ Возможность "подмены" диалогов модуля

1.3.0 beta (1133) 04.09.08
+ Разбор переменных в текстах диалогов

1.3.0 beta (1118) (August 20, 2008)
# Использован исходный код 7-Zip версии 4.60beta от 19 августа 2008 г.

1.3.0 beta (1115) (August 17, 2008)
* UPX не сжимал последние версии (Wilmots:oszone.net)

1.3.0 beta (1113) (August 15, 2008)
# Использован исходный код 7-Zip версии 4.59beta от 13 августа 2008 г.
Т.к. все еще в процессе, выкладывать пока не буду, надеюсь, что впереди еще воскресенье. Если кто-то хочет поучаствовать в процессе тестирования - обращайтесь в ПМ или ICQ

gora 02-12-2008 21:51 970472

Вложений: 3
Универсальный загрузчик для многотомных 7z SFX архивов. Создан на базе модифицированного модуля (версия 1.4 alpha сборка 1501) от 7 сентября 2009 г и автономного архиватора 7za.exe (версия 9.07 beta).


Использование:
1 Создайте многотомный 7z архив с помощью архиватора 7-Zip. Получите несколько архивов с именами: test.7z.001, test.7z.002, test.7z.003, test.7z.004... (имя test у Вас будет свое)
2 Распакуйте универсальный загрузчик Loader.7z.000.exe и положите его рядом с полученными томами архива.
3 Переименуйте универсальный загрузчик в имя созданных Вами томов, т.е., в данном примере в test.7z.000.exe.

Это все. Можете запустить файл test.7z.000.exe и архив будет собран и распакован в указанную Вами папку (путь вводится интерактивно). Исходные тома архива и загрузчик при этом будут удалены автоматически, но они могут быть и сохранены по желанию пользователя.

Ключи:
-ai Подавляет окно выбора пути установки
-fm0 Подавляет окно сообщения об окончании установки
-InstallPath="%ProgramFiles%\\My_Folder\\TEST"
Путь распаковки. Слеши обязательно удваиваются, системные переменные работают.
-h (-?) Справка по использованию

Пример:
Код:

test.7z.000.exe -ai -fm0 -InstallPath="%ProgramFiles%\\My_Folder\\TEST"

Ссылку прикрепил, размер 271 кб.

xxxl 05-12-2008 16:55 973275

gora, подскажите где ошибка?

Код:

Windows Registry Editor Version 5.00                                                                                                                                                                                                                       

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"ccleaner"="\"C:\\Program Files\\CCleaner\\CCleaner.exe\" /AUTO"

RunProgram="hidcon:REG ADD \"HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /v \"ccleaner\" /t REG_SZ /d "\"%ProgramFiles%\\CCleaner\\CCleaner.exe\" /AUTO\" /f"


gora 05-12-2008 17:08 973288

xxxl, попробуйте так:
Код:

RunProgram="hidcon:REG ADD \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\" /v \"ccleaner\" /t REG_SZ /d \"\\\"C:\\Program Files\\CCleaner\\CCleaner.exe\\\" /AUTO\" /f"
Program Files или %ProgramFiles% решайте сами в зависимости от задачи.

denVL 10-12-2008 14:31 977391

Ребят, почему не корректно отрабатывает запуск SFX архив с параметрами -ai1 и -ai2, а именно какой из этих параметров не указать, копируются обе папки (Actions и Objects), а должна одна из них, в зависимости от параметра. Может я в конфиге где накосячил...
Код:

;!@Install@!UTF-8!
Title="Установка AMS Plugins Pack v1.0"
BeginPrompt="Сейчас будет установлен Plugins Pack для AutoPlay Media Studio 5.0 - 7.0\n\nО вариантах установки Вы можете узнать, нажав \"Отмена\" и запустив снова\nэтот SFX архив с ключом '-?' или '-h'\n\n***********************************\nPlugin Action:\n• CommonDialogs 1.0.1.0 by AMSWaves\n• Rar 1.0.4.0 by AMSWaves\n• Script 1.0.0.0 by AMSWaves\n• DateDiff 1.0.0.0 by Warmuskerken\n• ExifReader 1.0.0.0 by Reteset\n• RunSilent 1.0.0.0 by Warmuskerken\n• SendKeys 1.0.0.0 by Warmuskerken\n• Service 1.0.0.0 by Warmuskerken\n• ShellDialogs 1.0.0.1 by Reteset\n• WinApi 2.1.0.0 by Reteset\n\nPlugin Object:\n• DateTimePicker 1.0.1.0 by Reteset\n• IExplorer 1.0.1.0 by Reteset\n• Gradient 1.0.1.0 by Reteset Retail\n• PDF 1.1.0.0 by Reteset\n• SkinnedSlider 1.0.1.0 by Reteset\n• Spin 1.0.1.0 by Reteset"
SetEnvironment="Path=%ProgramFiles%\\AutoPlay Media Studio 7.0\\Plugins"
; Установка Action-плагинов
AutoInstall1="hidcon:cmd /c xcopy Actions \"%Path%\" /s /e /i /y"
; Установка Objects-плагинов
AutoInstall2="hidcon:cmd /c xcopy Objects \"%Path%\" /s /e /i /y"
; Полная установка
AutoInstall="hidcon:cmd /c xcopy Actions \"%Path%\" /s /e /i /y"
AutoInstall="hidcon:cmd /c xcopy Objects \"%Path%\" /s /e /i /y"
GUIFlags="2+4+8+16+32+64+2048+4096"
GUIMode="0"
InstallPath="%Path%"
OverwriteMode="2+8"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Подождите, уже почти все готово."
HelpText="При запуске этого SFX архива без ключей будет установлена\n полная версия AMS Plugins Pack.\n\nЕсли запустить SFX архив с ключом:\n•  '-ai12' - Вы получите \"полную\" версию AMS Plugins Pack\n•  '-ai1' - Установка только Plugin Action\n•  '-ai2' -Установка только Plugin Object\n\nВыберите нужный Вам набор ключей."
FinishMessage="AMS Plugins Pack v1.0 установлен."
;!@InstallEnd@!

___________________
Модуль v1.3.0.1133

gora 10-12-2008 15:34 977467

1
Цитата:

Цитата denVL
SetEnvironment="Path=%ProgramFiles%\\AutoPlay Media Studio 7.0\\Plugins" »

Path - системная переменная и переобъявлять ее я бы не рекомендовал! Используйте, например: Path1, My_Path и т.д.
2 Вы уже все распаковали в Path т.к.
Цитата:

Цитата denVL
InstallPath="%Path%" »

так, что после этого команды
Цитата:

Цитата denVL
AutoInstall1="hidcon:cmd /c xcopy Actions \"%Path%\" /s /e /i /y" »

не эффективны, т.к. Actions изначально находится в том месте куда был распакован архив, а именно в
Цитата:

Цитата denVL
InstallPath="%Path%" »


denVL 10-12-2008 15:54 977489

gora, спасибо.
А не подскажешь как поправить конфиг, чтоб осталась возможность самому выбирать путь установки и чтоб работали -ai1 и -ai2?

gora 10-12-2008 16:04 977499

Цитата:

Цитата denVL
чтоб осталась возможность самому выбирать путь установки и чтоб работали -ai1 и -ai2? »

Неточная постановка задачи - причина многих бед. Самому это как? Интерактивно в окне 'BeginPrompt' ? Так его автоматически скрывают указанные ключи. А в файле конфигурации Вы сами можете указать любой путь. ;)

denVL 10-12-2008 16:10 977516

Т.е AutoInstall - это перемещение указанных папок/файлов в нужную папку из папки, куда был предварительно распакован архив (у меня получается InstallPath). Т.е. папка, куда архив предварительно распоковался и есть то место, куда необходмо и копировать папку Actions, а там уже она есть..вместе с папкой Objects. Теперь как бы поступить? Не указывать же InstallPath="%%T"?

gora
Цитата:

Цитата gora
Неточная постановка задачи - причина многих бед. »

Согласен.
Цитата:

Цитата gora
Самому это как? »

Т.е., если запущена не автоинсталляция, то присутствовала бы возможность выбора пути установки, а не распаковывалась бы в Temp.

gora 10-12-2008 16:36 977559

Цитата:

Цитата denVL
присутствовала бы возможность выбора пути установки »

Не путайте путь установки и путь распаковки. В модуле InstallPath это путь РАСПАКОВКИ, а не установки куда Вам нужно в конце концов поставить программу. Иногда они совпадают, но не всегда! У Вас два пути:
1. Оставить как у Вас есть распаковку в конечную точку назначения. Для вариантов, не копировать недостающее, а удалять лишнее.
Код:

...
SetEnvironment="Path_My=%ProgramFiles%\\AutoPlay Media Studio 7.0\\Plugins"
InstallPath="%Path_My%"
; Удаление Action-плагинов
AutoInstall1="hidcon:cmd /c RD /s /q Actions"
; Удаление Objects-плагинов
AutoInstall2="hidcon:cmd /c RD /s /q Objects"
; Удаление Action-плагинов и Objects-плагинов
AutoInstall="hidcon:cmd /c RD /s /q Actions"
AutoInstall="hidcon:cmd /c RD /s /q Objects"
GUIFlags="2+4+8+16+32+64+2048+4096"
GUIMode="0"
...

Дальше додумаете...

2. Все копировать во временную директорию и от туда все что нужно копировать в конечную точку назначения. В этом случае в окне BeginPrompt можно будет выбрать только путь временной папки, но не конечную точку назначения которая будет жестко задана в файле конфигурации. :(

Учитывая
Цитата:

Цитата Oleg_Sch
1.3.0 beta (1141) 12.09.08
+ Возможность изменения параметров файла конфигурации из командной строки »

есть и третий вариант, но он пока не расписан автором и модуль не выложен в общий доступ. Подождем! ;)

r0L1K 12-12-2008 11:26 979220

Как сделать, чтобы скомпилированный установочник поддерживал русский язык?
Насколько я понимаю, нужно с конфигом что-то сделать...

И возможно ли сделать так, чтобы при запуске помимо окна BeginPrompt еще и отсчет шел, как в финале?

EN130 12-12-2008 11:58 979243

Цитата:

Цитата r0L1K
Как сделать, чтобы скомпилированный установочник поддерживал русский язык?
Насколько я понимаю, нужно с конфигом что-то сделать... »

config.txt необходимо сохранить в кодировке UTF-8. Тогда в конфиге можно смело использовать русские буквы.
Цитата:

Цитата r0L1K
И возможно ли сделать так, чтобы при запуске помимо окна BeginPrompt еще и отсчет шел, как в финале? »

Нет. Можно вывести только заранее подготовленый текст.

r0L1K 12-12-2008 12:24 979254

Спасибо

Afalin 24-12-2008 17:46 989234

Подскажите "чайнику",что делаю не правильно? Ярлык от игрушки устанавливается
как положено(в свойствах ярлык указывает на игру тоже правильно),а с ярлыка не
работает.Из установленной папки игра запускается нормально.
код:
;!@Install@!UTF-8!
InstallPath="%Programfiles%\\Games\\Crazylunch"
GUIMode="2"
Shortcut="P, {%Programfiles%\\Games\\Crazylunch\\crazylunch.exe}, {}, {Игры}, {Crazylunch}, {Чудики}, {}"
;!@InstallEnd@!

Заранее спасибо.

gora 24-12-2008 18:11 989254

Afalin
Цитата:

Цитата справка по модифицированному модулю
Только переменные модуля %CommonDesktop%, %CommonDocuments%, %MyDocuments%, %MyDocs%, %UserDesktop%, %%M, %%S и %%T, а также переменные, определяемые пользователем в параметрах 'SetEnvironment', разбираются и подставляются (будут подставлены ЗНАЧЕНИЯ этих переменных) во всех параметрах команды 'Shortcut'. Но реально их можно/нужно использовать только в трех параметрах: 'src_file_path', 'working_directory' и 'icon_file'.

%Programfiles% - системная переменная, а не переменная модуля и напрямую ее использовать нельзя, но можно так:
Код:

Shortcut="P,{%%T\\crazylunch.exe},{},{Игры},{Crazylunch},{Чудики},{}"

или так

SetEnvironment="PathInst=%Programfiles%\\Games\\Crazylunch"
Shortcut="P,{%PathInst%\\crazylunch.exe},{},{Игры},{Crazylunch},{Чудики},{}"


alexander61 04-01-2009 23:03 997448

Вопрос 1:
В SFX-архиве лежит батник, который запускается после распаковки. Надо, чтобы батник знал, какой файл и из какой директории его запустил. Подскажите, как это можно реализовать?

Вопрос 2:
Запускаем SFX-архив, перетаскивая на него какой-нибудь файл или запустив с параметром %1. В SFX-архиве лежит батник, который запускается после распаковки. Надо, чтобы этот параметр %1 был передан батнику. Как это сделать?

Пытался добиться этого от WinRAR - ничего не получилось.

Oleg_Sch 05-01-2009 00:21 997499

Цитата:

Цитата alexander61
Вопрос 1:
В SFX-архиве лежит батник, который запускается после распаковки. Надо, чтобы батник знал, какой файл и из какой директории его запустил. Подскажите, как это можно реализовать? »

Если батник запускается из модуля, никто не мешает Вам использовать переменные модуля в командной строке (а также и как переменные среды используя SetEnvironment)
Цитата:

Кроме этого можно использовать (только в файле конфигурации, но не в других программах, запущенных из модуля) следующие переменные модуля:

%%M - имя SFX архива без пути
%%S - полный путь к файлу SFX архива
%%T - полный путь распаковки
Цитата:

Цитата alexander61
Вопрос 2:
Запускаем SFX-архив, перетаскивая на него какой-нибудь файл или запустив с параметром %1. В SFX-архиве лежит батник, который запускается после распаковки. Надо, чтобы этот параметр %1 был передан батнику. Как это сделать? »

Я не знаю, как в Вашем случае запускает/передаются параметры при drag-n-drop. В любом случае, детально разбираться и реализовывать я его не собираюсь.
Может частично поможет
Цитата:

Модуль может передать ключи исполняемой программе внутри архива. Если нужно передать исполняемой программе ключи, используемые самим модулем, необходимо перед ними использовать ключ '-!'.
Цитата:

Модуль ведет поиск "своих" (перечисленных на этой странице) ключей в командной строке до первого неизвестного ключа. После этого все остальное (ключи, параметры) передается в вызываемую программу. Например: в файле конфигурации RunProgram="some_program.exe" после запуска SFX архива: "sfx.exe -gm2 /key=1 /silent" выполнится: "some_program.exe /key=1 /silent". В то же время, модуль воспримет ключ '-gm2' и сделает "тихую" распаковку. В этом случае применять ключ '-!' не обязательно.

Oleg_Sch 05-01-2009 01:53 997535

2 ALL
После долгого перерыва обновлены модули, справка и сайт!
Цитата:

1.3 beta (сборка 1240) 20.12.08

# Использован исходный код 7-Zip версии 4.62 от 2 декабря 2008 г.
* Не выводилось сообщение о "нехватке места на диске" (gora:forum.oszone.net)
* Некорректная работа ключа '-omX'
* Некорректное отображение пути распаковки (gora:forum.oszone.net)

1.3 beta (сборка 1215) 25.11.08

# Использован исходный код 7-Zip версии 4.61 beta от 23 ноября 2008 г.

1.3 beta (сборка 1212) 22.11.08

* Изменение некоторых параметров файла конфигурации из командной строки работало некорректно

1.3 beta (сборка 1206) 16.11.08

* Не работал параметр 'ExtractDialogText' (qeraser:forum.oszone.net)
+ Использование изображений и RTF в "подмененных" диалогах

1.3 beta (сборка 1141) 12.09.08

+ Возможность изменения параметров файла конфигурации из командной строки

1.3 beta (сборка 1135) 06.09.08

+ Возможность замены диалогов модуля

1.3 beta (сборка 1133) 04.09.08

+ Разбор переменных в текстах диалогов

1.3 beta (сборка 1118) 20.08.08

# Использован исходный код 7-Zip версии 4.60 beta от 19 августа 2008 г.

1.3 beta (сборка 1115) 17.08.08

* UPX не сжимал последние версии (Wilmots:forum.oszone.net)

1.3 beta (сборка 1113) 15.08.08

# Использован исходный код 7-Zip версии 4.59 beta от 13 августа 2008 г.
Все подробности на сайте

gora 05-01-2009 11:28 997718

Товар лицом ;). Для просмотра щелкните по картинке в шапке.

sLiDeR-X 05-01-2009 12:03 997735

аааааа, как клево и красиво!!!
разработчикам огромное спасибо :)
в Новом Году радуете новинками :)
будем делать новые сборки программ с еще большим удовольствием

Почитал справочку...
Мне вот непонятно как форматировать стиль текста...
Код:

BeginPrompt="{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fswiss\fprq2\fcharset204 Century Gothic;}{\f1\fswiss\fprq2\fcharset204 Tahoma;}}
{\colortbl ;\red36\green88\blue178;\red255\green0\blue0;}
\viewkind4\uc1\pard\b\f0\fs26\par\par
Сейчас будет установлен\par ... ну и т.д.

Что означают все эти надписи

gora 05-01-2009 22:27 998280

sLiDeR-X
1. Расширенные графические возможности пока не описаны в справке, будут позднее...
2. Рассчитаны они на продвинутых пользователей (это не упрек, себя к их числу не отношу, что и отражено в статусе :) )...
Цитата:

Цитата sLiDeR-X
непонятно как форматировать стиль текста »

Это RTF. Откройте "WordPad", наберите несколько строк с различным оформлением, сохраните как Файл RTF. Откройте полученный файл в простом текстовом редакторе (сам использую EmEditor) и увидите все эти последовательности символов. Русские тексты в этих операциях в "WordPad" использовать не рекомендую иначе вопросов будет еще больше, их подставите уже в в простом текстовом редакторе.

Oleg_Sch 05-01-2009 23:42 998333

Цитата:

Цитата sLiDeR-X
непонятно как форматировать стиль текста... »

Не спорю, RTF не самый удобный язык для форматирования/оформления текста, и для меня в том числе. HTML был бы привлекательнее. Но это - компромисс между объемом модуля и возможностью гибче управлять текстом.
Сам пользуюсь Wordpad'ом для формирования управляющих последовательностей, потом "обрабатываю напильником".
Полная спецификация есть на сайте microsoft, но по RTF много в интернете, можете погуглить, нпр, для начальных сведений http://www.codenet.ru/progr/formt/rtf1.php

Если кто-нмбудь подкинет ссылочку на какой-нибудь редактор, который будет нормально работать с русским языком и не формировать кучу мусора в конечном RTF файле, буду премного благодарен.

sLiDeR-X 06-01-2009 11:16 998576

Спасибо, понял как делать :)
Уже получается...

Цитата:

Цитата gora
2. Рассчитаны они на продвинутых пользователей (это не упрек)... »

Не нужно сразу такие выводы делать... У меня уровень до вашего не дотягивает, что ж теперь все, кто хуже Вас не могут с задачей справиться? :)


читать дальше »
Посидел часок, покопался, разобрался... На деле оказалось все гораздо проще :) Вот что получилось :) (правда подправил чуток сам модуль, так как текст больше 18 не влезал)
Код:

SetEnvironment="sfx_homepage={\rtf1{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}}
{\colortbl;\red128\green128\blue128;}
\cf1\f0\fs18\uc1  build 06.01.2009 }"
InstallPath="%PathInst%"

Title="Установка %Name% %Mod%"
BeginPrompt="{\rtf1{\fonttbl{\f0\fdecor\fprq2\fcharset0 Calibri;}{\f1\fswiss\fprq2\fcharset0 Chiller;}}
{\colortbl;\red25\green70\blue160;\red180\green90\blue35;\red35\green90\blue180;}
\fs50\qc\par
\cf1\f0\fs24 Сейчас будет установлен: \fs36\par\par
\cf2\f1\fs40\i %Name% %Ver% %Mod% \fs72\i0\par\par
\cf3\f0\fs16 Автоматически создастся ярлык в Панели быстрого запуска и в Автозагрузке }"

ExtractPathText="{\rtf1{\fonttbl{\f0\fdecor\fprq2\fcharset0 Calibri;}}
{\colortbl;\red25\green70\blue160;}
\cf1\f0\fs24 Пожалуйста, введите путь установки: }"

ExtractTitle="Производится установка..."
ExtractDialogText="{\rtf1{\fonttbl{\f0\fdecor\fprq2\fcharset0 Calibri;}}
{\colortbl;\red25\green70\blue160;}
\cf1\f0\fs24 Пожалуйста, подождите... }"

FinishMessage="{\rtf1{\fonttbl{\f0\fdecor\fprq2\fcharset0 Calibri;}{\f1\fswiss\fprq2\fcharset0 Chiller;}}
{\colortbl;\red25\green70\blue160;\red180\green90\blue35;\red35\green90\blue180;}
\fs50\qc\par
\cf2\f1\fs40\i %Name% %Mod% \fs36\par\par
\cf3\f0\fs24\i0  установлен! \fs72\par\par
\fs16 Для удаления программы используйте апплет \"Установка и удаление программ\" }"

CancelPrompt="Вы действительно хотите отменить установку?"

HelpText="{\rtf1{\fonttbl{\f0\fdecor\fprq2\fcharset0 Calibri;}}
{\colortbl;\red25\green70\blue160;\red180\green90\blue35;\red35\green90\blue180;}
\fs50\qc\par
\cf1\fs24 Если запустить программу с ключем: \fs30\par\par
\cf2\fs40\i %%M -gm2 -y -fm0 \fs30\i0\par\par
\cf3\fs24 произойдет тихая установка (без вывода диалоговых окон) }"



Oleg_Sch, к Вам вопросик: почему вы для создания стиля sfx выбрали именно rtf? Ведь можно было б с таким же успехом выбрать и html формат, он изначально понятем бОльшему количеству людей, да и возможности у него по более...

Oleg_Sch 07-01-2009 00:09 999263

Цитата:

Цитата sLiDeR-X
Не нужно сразу такие выводы делать... У меня уровень до вашего не дотягивает, что ж теперь все, кто хуже Вас не могут с задачей справиться? »

Не надо обид :)
gora всего-навсего хотел сказать, что "новые возможности для людей, которые сами могут разобраться на одном единственном примере, т.к. документации пока нет"
Цитата:

Цитата sLiDeR-X
почему вы для создания стиля sfx выбрали именно rtf? Ведь можно было б с таким же успехом выбрать и html »

Частично я уже ответил:
Цитата:

Цитата Oleg_Sch
RTF не самый удобный язык для форматирования/оформления текста, и для меня в том числе. HTML был бы привлекательнее. Но это - компромисс между объемом модуля и возможностью гибче управлять текстом. »

RTF легче встроить в программу и объем модуля подрос всего байт на 500. С html - сложнее во многих планах (не буду вдаваться в программистские дебри) и объем увеличивается минимум на 4-6 Кб.

SAOPP 07-01-2009 00:20 999277

Плохо, что GUI так и остался по сей день в подвешенном состоянии, никаких планов нету у автора подхватить и сие действо? :)

Oleg_Sch 07-01-2009 00:26 999289

Цитата:

Цитата SAOPP
Плохо, что GUI так и остался по сей день в подвешенном состоянии, никаких планов нету у автора подхватить и сие действо? »

У меня - уже "нету" :(
И на модуль-то времени все время не хватает. Если кто-нибудь этим займется, окажу всяческую поддержку и помощь.

SAOPP 07-01-2009 00:28 999293

Я в соседнем топике пытаюсь дать старт этому, посмотрим, может быть исходники и появятся всё таки.

zer0nka 07-01-2009 22:27 999980

прошу выложить бета sfx модуль с поддержкой диалогов и всех методов сжатия
з.ы. у кого-нибудь получилось заменить изображения баннера в модуле? у меня не получилось (использовал Resource Hacker)

EN130 07-01-2009 22:41 999999

Цитата:

Цитата zer0nka
з.ы. у кого-нибудь получилось заменить изображения баннера в модуле? у меня не получилось (использовал Resource Hacker) »

У меня все работает через EXESCOPE v6.50

sLiDeR-X 07-01-2009 23:01 1000017

zer0nka, через него все получается :)
вот что у меня получилось в итоге:

zer0nka 08-01-2009 01:44 1000169

наверно у меня просто руки не оттуда растут :( , ну да ладно...
первоочередной для меня проблемой является то, что новый sfx модуль не поддерживает все методы сжатия в одном файле...
а компилировать из исходников я не умею

Oleg_Sch 08-01-2009 02:36 1000189

Цитата:

Цитата zer0nka
первоочередной для меня проблемой является то, что новый sfx модуль не поддерживает все методы сжатия в одном файле »

Открою маленький секрет :)
Любой из 4 вариантов модуля поддерживает "подмену" диалогов. Для этого Вам надо создать необходимые ресурсы в нужном Вам модуле (я так понимаю - 7zSD_All.sfx). Главное - точно сохранить числовые идентификаторы ресурса. Подробно список идентификаторов с описанием будет позже, пока пользуйтесь тем что есть, т.е. рабочим примером :(
И еще... Необязательно встраивать/подменять все диалоги, нпр можете удалить из ресурсов диалог HelpText, в этом случае будет использован старый вариант.

P.S. Я не пользуюсь редакторами ресурсов, только тем, что встроен в Microsoft Visual Studio, но мне кажется, что они должны уметь поддерживать экспорт-импорт секции ресурсов. Если так, то можно экспортировать всю секцию ресурсов из рабочего примера, а потом импортировать в любой из вариантов модуля

EN130 08-01-2009 11:48 1000359

Цитата:

Цитата Oleg_Sch
P.S. Я не пользуюсь редакторами ресурсов, только тем, что встроен в Microsoft Visual Studio, но мне кажется, что они должны уметь поддерживать экспорт-импорт секции ресурсов. Если так, то можно экспортировать всю секцию ресурсов из рабочего примера, а потом импортировать в любой из вариантов модуля »

Мне кажется что банер не самая важная часть модуля. В принципе там нет ничего сложного, нужно только авторское описание новых функций.

Oleg_Sch 08-01-2009 14:09 1000509

"Баннер" - всего навсего одна из составляющих. Пока нет описания - отвечу на конкретные вопросы здесь

LonerD 10-01-2009 03:08 1002246

Можно ли с помощью модифицированного модуля оформить такой процесс установки программы?:
Отображается начальный диалог: Сейчас будет установлена программа...
и две кнопки - ОК и Отмена.
При этом на какую либо кнопку повешен счетчик секунд (по аналогии с FinishMessage), и через определенное время если ничего не трогать он срабатывает - установка автоматически или начинается или отменяется.

Nikola Soft 10-01-2009 05:14 1002274

Мой вариант использования модуля

Здесь изменены размеры диалоговых окон и баннера только с помощью Resource Hacker

Oleg_Sch 10-01-2009 08:37 1002303

Цитата:

Цитата DPavlik82
При этом на какую либо кнопку повешен счетчик секунд (по аналогии с FinishMessage), и через определенное время если ничего не трогать он срабатывает - установка автоматически или начинается или отменяется »

Вы уже не первый, кто хочет такую возможность. Обещать ничего не буду, но галочку я себе поставил

Цитата:

Цитата Nikola Soft
Мой вариант использования модуля »

"И тут Остапа понесло" (с) Ильф и Петров.
Возможнестей стало гораздо больше и кому не лень поразбираться смогут полностью изменить внешний вид своих установщиков. Так что - Вам карты в руки :)

Oleg_Sch 10-01-2009 14:41 1002625

Цитата:

Цитата Oleg_Sch
Открою маленький секрет
Любой из 4 вариантов модуля поддерживает "подмену" диалогов. Для этого Вам надо создать необходимые ресурсы в нужном Вам модуле (я так понимаю - 7zSD_All.sfx) »

А вот за это я перед всеми извиняюсь, т.к. обманул :(
Вкралась ошибка, которую сегодня обнаружил gora, поэтому "любой" не получится :(
К завтрашним 14-15 МСК постараюсь исправить и выложить новую версию уже на основе исходников 7-zip'а 4.64

sLiDeR-X 11-01-2009 12:11 1003569

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

lorents 11-01-2009 16:18 1003794

такой вопрос
а как защитить созданный sfx архив?

gora 11-01-2009 16:34 1003806

Цитата:

Цитата sLiDeR-X
это сделано специально или все же будет правильно сделать кнопку "далее" неактивной »

Правильнее эту кнопку сделать неактивной. Не нужные кнопки вообще можно удалить из диалогов.
Цитата:

Цитата lorents
как защитить созданный sfx архив? »

Ни как! Модифицированный модуль не поддерживает шифрование.

batya15 11-01-2009 21:51 1004181

как указать каталог распаковки из командной строчки и вообще возможно ли такое

gora 11-01-2009 21:56 1004194

Цитата:

Цитата batya15
как указать каталог распаковки из командной строчки »

Цитата:

Цитата справка по модифицированному модулю
Большинство параметров может использоваться в качестве ключей командной строки при запуске 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 1004273

Вот имеется такой .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 1004300

Цитата:

Цитата katok888
как обойтись без кмд? »

Попробуйте так:
Код:

;!@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 1004713

В 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 1005145

v12345, проблему понял. Постараюсь в ближайшие день-два закрыть.
Цитата:

Цитата Oleg_Sch
А вот за это я перед всеми извиняюсь, т.к. обманул
Вкралась ошибка, которую сегодня обнаружил 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 1005282

Oleg_Sch, планируется ли поддержка модулем шифрования (чтоб он мог распаковывать запароленные архивы)?

katok888 12-01-2009 19:09 1005338

gora, спасибо все сработало.!!!!

Oleg_Sch 12-01-2009 23:54 1005753

Цитата:

Цитата Dmitry_K
планируется ли поддержка модулем шифрования (чтоб он мог распаковывать запароленные архивы)? »

В ближайшее время - "нет". Далеко заглядывать не могу / не хочу :(

ya158 13-01-2009 20:33 1006628

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

Oleg_Sch 14-01-2009 12:48 1007260

Цитата:

Цитата ya158
Насколько я понял в модифицированный модуль входит утилита hidcon.exe. Нельзя ли добавить возможность копирования/создания этой утилиты в папке Windows\system32 »

Это невозможно, т.к. hidcon в модуле является частью кода, а не отдельным ехе-ником, и отдельно не его выдернишь. Так что остается только
Цитата:

Цитата ya158
положить при необходимости эту утилиту в сам архив и потом скопировать куда нужно »


Pozia 14-01-2009 21:12 1007745

Цитата:

Цитата ya158
Насколько я понял в модифицированный модуль входит утилита hidcon.exe. »

то есть можно сам hidcon.exe не класть в SFX модуль?? И так будет работать? метода записи при этом тот же?

RunProgram="hidcon:run.cmd"

Так?

YuriPet 14-01-2009 21:16 1007751

Pozia, абсолютно "в тютельку"!.. :)

gora 14-01-2009 21:16 1007752

Цитата:

Цитата Pozia
то есть можно сам hidcon.exe не класть в SFX модуль?? И так будет работать? метода записи при этом тот же? »

Именно так!
hidcon - это префикс в синтаксисе модифицированного модуля, а не название одноименной утилиты и саму утилиту в архив класть не требуется.

Pozia 14-01-2009 21:23 1007758

YuriPet, gora, вот я Балда Ивановна. Все кладу и кладу в SFX этот hidcon.exe :)

LonerD 15-01-2009 00:37 1007968

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

SAOPP 19-01-2009 16:53 1012798

Олег, появилась небольшая необходимость при работе с ярлыками, что скажешь по следующему поводу, реализуемо ли подобное?

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

Вот пример конфига:
Код:

;!@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, чего уж никак не хочется :)

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

Dmitry_K 20-01-2009 23:33 1014282

присоединяюсь к предыдущему посту: было бы намного удобнее отказаться от использования сторонних утилит или написания различных скриптов для создания ярлыков при различных вариантах автоматической установки...
p.s. надеемся и ждем ;)

SAOPP 21-01-2009 11:39 1014597

Открою небольшую завесу, уже есть реализация касательно "своих" ярлыков, сейчас идёт отладка и причёсывание ;)

Dr0b 22-01-2009 10:13 1015577

Здравствуйте!
Подскажите пож-та, как в модуле, например 7ZSD_LZMA.sfx, убрать проверку на сигнатуру 7z (0x37 0x7A) в архиве?
Возможно ли сделать в любом шестнадцатеричном редакторе путем замены одного байта условного перехода (например jn на jnz и т.п.)?
Подскажите…
Просто не хочу чтоб было видно что это архив (при выпадавшим меню, в свойстве SFX архива), а то заменяю сигнатура, а он ругается и не хочет распаковывать =(
А самому найти, как это зделать, нехватает знания да и времени =(

Oleg_Sch 03-02-2009 17:26 1028442

Очередное обновление:
Цитата:

1.3 beta (сборка 1284) 02.02.09

* Масштабирование изображений в "подмененных" диалогах при больших шрифтах
* Некорректная работа ключа '-gmX' (gora:forum.oszone.net)
* Некорректный подсчет ширины диалога по длине заголовка

1.3 beta (сборка 1274) 23.01.09

* Переменные из командной строки не подставлялись в ярлыки (v12345:forum.oszone.net)
+ Команда 'DeleteX' в конфигурационном файле
+ Префиксы 'shcX', 'delX' в конфигурационном файле

1.3 beta (сборка 1272) 21.01.09

+ Команда 'ShortcutX' в конфигурационном файле (SAOPP:forum.oszone.net)

1.3 beta (сборка 1263) 12.01.09

# Использован исходный код 7-Zip версии 4.64 от 2 января 2009 г.
* Не добавлялись диалоги в модули (gora:forum.oszone.net)

1.3 beta (сборка 1240) 20.12.08

# Использован исходный код 7-Zip версии 4.62 от 2 декабря 2008 г.
* Не выводилось сообщение о "нехватке места на диске" (gora:forum.oszone.net)
* Некорректная работа ключа '-omX'
* Некорректное отображение пути распаковки (gora:forum.oszone.net)
Подробности - на сайте, в справке, здесь в виде "вопрос-ответ".
Жду ваших отзывов и замечаний.



Цитата:

Цитата Dr0b
Здравствуйте!
Подскажите пож-та, как в модуле, например 7ZSD_LZMA.sfx, убрать проверку на сигнатуру 7z (0x37 0x7A) в архиве?
Возможно ли сделать в любом шестнадцатеричном редакторе путем замены одного байта условного перехода (например jn на jnz и т.п.)?
Подскажите…
Просто не хочу чтоб было видно что это архив (при выпадавшим меню, в свойстве SFX архива), а то заменяю сигнатура, а он ругается и не хочет распаковывать =(
»

К сожалению, простыми средствами это невозможно. Расположение байт, где осуществляется проверка, в каждой сборке разное. И даже мне, чтобы это узнать надо лезть в отладчик.
Помочь могу только одним - если Вы будете использовать каждый раз одну и ту же версию - для нее скажу. Но на каждую сборку я не намерен проделывать данную операцию, потому как у меня тоже
Цитата:

А самому найти, как это зделать, нехватает знания да и времени =(
но у меня - последнего

Wilmots 04-02-2009 04:24 1029008

Oleg_Sch

1.3 beta (сборка 1284) 02.02.09
Если при распаковке нажать "Отмена" - появяется это:



На 1.2.5 stable (сборка 1283) та же байда.

Oleg_Sch 04-02-2009 04:35 1029012

Wilmots, принято к сведению

Andrew46 18-02-2009 18:47 1042511

Извиняюсь, каков максимальный объем создаваемого файла?
А то ехе-шник создается и не запускается.
7z архив около 7Гб.

LonerD 18-02-2009 19:44 1042560

Цитата:

Цитата Andrew46
ехе-шник создается и не запускается. »

Если обычным 7-Zip, то максимальный размер ехе-файла 4 Гб, а вот про модифицированный модуль самому интересно, скорее всего тоже самое.

EN130 18-02-2009 20:30 1042592

Да. У SFX модумя тоге ограничение в 4 ГБ. Но с помощю SFX можно создать многотомный архив, как и с оригатьным 7z.

gora 18-02-2009 20:31 1042593

Цитата:

Цитата Andrew46
каков максимальный объем создаваемого файла? »

Очевидно более 4 Гб просто не будут запускаться. По-моему, это ограничение 32х системы. Но уже более 700 Мб будут проблемы с отображением иконки файла. Об этом можно почитать ответ Oleg_Sch здесь. Как вариант можете использовать многотомный 7zSFX архив.

jameszero 21-02-2009 16:22 1044941

Oleg_Sch
Вопрос по новой команде - 'DeleteX'

В аддоне DrWeb используется один вариант 'Delete', но его отработка происходит только для RunProgram и AutoInstall, а при использовании AutoInstall1 или AutoInstall2 файлы, предназначенные для удаления, остаются.
Баг или фича?

Конфиг:
читать дальше »
Код:

;!@Install@!UTF-8!
Title="Установка DrWeb"
InstallPath="%ProgramFiles%\\DrWeb"
BeginPrompt="Сейчас будет произведена полная
установка антивируса DrWeb.

Нажав 'OK', удерживая клавишу [Shift],
установите только антивирусный Scanner."
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
RunProgram="hidcon:cmd /c copy \"%%S\\drweb32.key\" \"%%T\""
RunProgram="hidcon:xcopy \"%%S\\DrWebUpd\\*\" \"%%T\" /s /e /i /y"
RunProgram="hidcon:cmd /c copy DRWEBSP.DLL %WinDir%\\System32"
RunProgram="hidcon:cmd /c copy DrWeb.inf %WinDir%\\inf"
RunProgram="rundll32.exe advpack,LaunchINFSection DrWeb.inf,DefaultInstall,0"
AutoInstall="hidcon:cmd /c copy \"%%S\\drweb32.key\" \"%%T\""
AutoInstall="hidcon:xcopy \"%%S\\DrWebUpd\\*\" \"%%T\" /s /e /i /y"
AutoInstall="hidcon:cmd /c copy DrWeb.inf %WinDir%\\inf"
AutoInstall="rundll32.exe advpack,LaunchINFSection DrWeb.inf,ScannerOnly,0"
AutoInstall="hidcon:cmd /c del DrwSpCnt.dll /q"
AutoInstall="hidcon:cmd /c del en-spider.chm /q"
AutoInstall="hidcon:cmd /c del ru-spider.chm /q"
AutoInstall="hidcon:cmd /c del spider.sys /q"
AutoInstall="hidcon:cmd /c del spidercpl.exe /q"
AutoInstall="hidcon:cmd /c del spidercpl.xml /q"
AutoInstall="hidcon:cmd /c del spiderml.exe /q"
AutoInstall="hidcon:cmd /c del spidernt.exe /q"
AutoInstall="hidcon:cmd /c del spiderui.exe /q"
AutoInstall="hidcon:cmd /c del spml_set.exe /q"
AutoInstall="hidcon:cmd /c del drwvr_oe.exe /q"
AutoInstall="hidcon:cmd /c del vrcpp.dll /q"
AutoInstall1="hidcon:cmd /c copy \"%%S\\drweb32.key\" \"%%T\""
AutoInstall1="hidcon:xcopy \"%%S\\DrWebUpd\\*\" \"%%T\" /s /e /i /y"
AutoInstall1="hidcon:cmd /c copy DRWEBSP.DLL %WinDir%\\System32"
AutoInstall1="hidcon:cmd /c copy DrWeb.inf %WinDir%\\inf"
AutoInstall1="rundll32.exe advpack,LaunchINFSection DrWeb.inf,DrWeb"
AutoInstall2="hidcon:cmd /c copy \"%%S\\drweb32.key\" \"%%T\""
AutoInstall2="hidcon:xcopy \"%%S\\DrWebUpd\\*\" \"%%T\" /s /e /i /y"
AutoInstall2="hidcon:cmd /c copy DRWEBSP.DLL %WinDir%\\System32"
AutoInstall2="hidcon:cmd /c copy DrWeb.inf %WinDir%\\inf"
AutoInstall2="rundll32.exe advpack,LaunchINFSection DrWeb.inf,ScannerSpiderOnly,0"
AutoInstall2="hidcon:cmd /c del DrwSpCnt.dll /q"
AutoInstall2="hidcon:cmd /c del spiderml.exe /q"
AutoInstall2="hidcon:cmd /c del spml_set.exe /q"
AutoInstall2="hidcon:cmd /c del drwvr_oe.exe /q"
AutoInstall2="hidcon:cmd /c del vrcpp.dll /q"
Delete="%%T\\DRWEBSP.DLL"
Delete="%%T\\DrWeb.inf"
OverwriteMode="8"
;!@InstallEnd@!


Модуль 1.3 beta (сборка 1284) 02.02.09

EN130 21-02-2009 16:31 1044951

Просто допишите AutoInstall2=Delete и AutoInstall1=Delete. При выборе варианта автоустановки, модуль вызывает только те команды, которые начинаются на AutoInstall.

rkpa17 24-02-2009 19:21 1047699

Вопрос о совместном использовании 7zSD SFX и парольных (шифрованных) архивов, в т.ч. с шифрованными заголовками
Ключи 7z: -p и -mhe=on

Как должен реагировать 7zSD на такой архив?

У меня реагирует негативно фразой "Неподдерживаемый тип"; то же самое, но совсем без пароля работает.
Стандартный 7z.sfx реагирует нормально (запрашивает пароль).

Предлагаемая модель на тот случай, если из этого будут делать feature request:
1) Корректно обнаружить архив, в т.ч. с шифрованным заголовком
2) Запросить пароль, используя новые макросы PasswordPrompt/PasswordTitle (сходные с BeginPrompt/ExtractPathTitle) и кнопки OK/Cancel
3) Далее действовать также, как и раньше

Применение фичи:
1) Простейшее пакетирование интеллектуальной собственности (знаю, слАбо, тем не менее, пользуюсь)
2) Зашивание паролей в самораспаковывающиеся пакеты (знаю, плохо, сам пользоваться не собираюсь)
x) то же самое работает в WinRAR SFX

Благодарю за прочтение.

PS
Спасибо Олегу Щербакову за практичную реализацию аддона.

Oleg_Sch 25-02-2009 14:41 1048309

Цитата:

Цитата EN130
Просто допишите AutoInstall2=Delete и AutoInstall1=Delete. При выборе варианта автоустановки, модуль вызывает только те команды, которые начинаются на AutoInstall. »

Неправда Ваша. Я даже не могу предположить, что Вы имели в виду, но "простые" Delete не отработают.
Цитата:

Цитата jameszero
В аддоне DrWeb используется один вариант 'Delete', но его отработка происходит только для RunProgram и AutoInstall, а при использовании AutoInstall1 или AutoInstall2 файлы, предназначенные для удаления, остаются.
Баг или фича? »

Баг. Устранено.
Цитата:

Цитата Wilmots
1.3 beta (сборка 1284) 02.02.09
Если при распаковке нажать "Отмена" - появяется это: »

Устранено. В версии 1.2.6 тоже.
Цитата:

Цитата rkpa17
Как должен реагировать 7zSD на такой архив?
У меня реагирует негативно фразой "Неподдерживаемый тип"; »

Правильно реагирует, модуль не поддерживает шифрование.
Цитата:

Цитата rkpa17
Стандартный 7z.sfx реагирует нормально (запрашивает пароль). »

Но не тот, который "для установок" ;)
Пока могу только сказать, что этот "feature request" уже давно, но будет ли он реализован и, если будет, то когда - ответить не могу :(
На днях буду выкладывать обновленную версию, если у кого есть желание протестировать сегодняшнюю, можете поглядеть здесь http://7zsfx.info/fortest/

lorents 01-03-2009 22:48 1052361

такой вопрос, можно ли добавить в меню, которое появляется при нажатии на правую кнопку мыши SFX-архива, какой нибудь дополнительный пункт?

если вопрос не понятен скажите посторонюсь объяснить получше

Dmitry_K 02-03-2009 11:40 1052700

Цитата:

Цитата lorents
такой вопрос, можно ли добавить в меню, которое появляется при нажатии на правую кнопку мыши SFX-архива, какой нибудь дополнительный пункт? »

можно, только т.к. sfx-архив - это exe-файл, соответственно этот пункт меню нужно делать для exe-файлов (и отображаться соответственно он будет для всех exe-файлов). Создаем reg-файл и запускаем его:
Код:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\exefile\shell\7ZSFX]
@="Твой пункт меню"
[HKEY_CLASSES_ROOT\exefile\shell\7ZSFX\command]
@="твоя команда"


Oleg_Sch 02-03-2009 15:39 1052904

Обновлено
Цитата:

1.3 beta (сборка 1307) 25.02.09

# Использован исходный код 7-Zip версии 4.65 от 3 февраля 2009 г.
* Ошибка при нажатии кнопки "Отмена" в ходе распаковки (Wilmots:forum.oszone.net)
* Некорректная работа простых параметров 'Delete' и 'Shortcut' при литерных автоустановках (jameszero, gora:forum.oszone.net)

1.3 beta (сборка 1284) 02.02.09

* Масштабирование изображений в "подмененных" диалогах при больших шрифтах
* Некорректная работа ключа '-gmX' (gora:forum.oszone.net)
* Некорректный подсчет ширины диалога по длине заголовка

1.3 beta (сборка 1274) 23.01.09

* Переменные из командной строки не подставлялись в ярлыки (v12345:forum.oszone.net)
+ Параметр 'DeleteX' в конфигурационном файле
+ Префиксы 'shcX', 'delX' в конфигурационном файле

1.3 beta (сборка 1272) 21.01.09

+ Параметр 'ShortcutX' в конфигурационном файле (SAOPP:forum.oszone.net)
Справка и сайт - все благодарности gora

lorents 02-03-2009 18:14 1053013

Dmitry_K, для всех не подходить, т.к. мне надо сделать типа установить adobe flash плеер

sLiDeR-X 03-03-2009 07:59 1053454

Скажите, а почему удалили 2004 диалог из бета версии модуля?

Oleg_Sch 03-03-2009 13:22 1053680

Цитата:

Цитата sLiDeR-X
Скажите, а почему удалили 2004 диалог из бета версии модуля? »

В результате экспериментов и проверок просто забыл вернуть :(
Т.к. не считаю это существенной ошибкой (Вы его и сами создать можете с этим ID), да и сам 7zsd_lzma_dialogs именно как пример идет, просто положил версию модуля с включенным диалогом http://7zsfx.info/files/7zsd_lzma_dialogs_130_1307.7z

IgorLyahov 14-03-2009 13:32 1063498

Добрый день.
Проблема появилась такая, собираю тихую установку для Компаса 9 LT днлаю 7z файлик, создаю конфиг вот такой:
;!@Install@!UTF-8!
RunProgram="setup.exe /S /v/qn"
GUIMode="2"
;!@InstallEnd@!
даю команду:
copy /b 7ZSD_LZMA.sfx+kompas.txt+kompas.7z kompas.exe
и получаю заветный файлик.
Проблема начинается после того заканчивается распаковка, запускается указанный файл setup.exe с ключами и удаляется все содержимое паки куда распокавался дистрибутив, вычислил все когда выбрал режим не тихой усановки и GUI сделал 0.

Вот собственно такая проблема, как решить не знаю.
Заранее всем благодарен.

Dmitry_K 14-03-2009 15:02 1063577

Цитата:

Цитата IgorLyahov
Проблема начинается после того заканчивается распаковка »

а в чем, собственно, конкретно проблема? читаем документацию к модулю:
Цитата:

;!@Install@!UTF-8!
RunProgram="setup.exe /s"
GUIMode="2"
;!@InstallEnd@!
Это беcключевой "тихий" SFX архив. Архив при запуске незаметно (диалог распаковки не отображается, GUIMode="2") распакует содержимое во временную папку и запустит "setup.exe /s" для автоматической установки ПО. Временная папка будет удалена по окончании установки.
Если нужно не удалять временную папку, можно воспользоваться параметром InstallPath="путь" (содержимое архива тогда распакуется в указанную папку)

IgorLyahov 15-03-2009 16:45 1064577

Вся проблема в том что временная папка удаляется сразу после начала устаеовки, а не после окончания. Раньше много раз проделывал подобную операцию и никогда такой проблемы не было.
Попробую указать путь для распаковки и после установки его удалять.

gora 15-03-2009 16:57 1064589

Цитата:

Цитата IgorLyahov
Вся проблема в том что временная папка удаляется сразу после начала устаеовки, а не после окончания. »

Ваша проблема очевидно в дочерних процессах. После запуска инсталлятора командой RunProgram="setup.exe /S /v/qn" он видимо запускает дочерний процесс и закрывает основной. Модуль видит, что процесс setup.exe завершился и удаляет временную папку, т.к., он не может отследить все дочерние процессы запущенные инсталлятором.

IgorLyahov 16-03-2009 06:31 1065163

Да, так и есть. Если указать InstallPath, то все становиться хорошо, просто после окончания установки надо не забыть ее удалить.
Спасибо.

greg_b 16-03-2009 08:09 1065198

Цитата:

Цитата IgorLyahov
RunProgram="setup.exe /S /v/qn" »

замени на RunProgram="start /wait setup.exe /S /v/qn"

gora 16-03-2009 08:17 1065201

Цитата:

Цитата greg_b
замени на RunProgram="start /wait setup.exe /S /v/qn" »

Этого делать не надо!
1 Команда start может использоваться только через запуск cmd интерпретатора, т.е. так:
Код:

RunProgram="cmd /c start /wait setup.exe /S /v/qn"
2 Команда RunProgram и так ожидает завершения запущенного ей процесса и добавление start /wait ни чего не даст.

greg_b 16-03-2009 09:17 1065240

Тогда от автора не хватает данных - на чем конкретно осбирается - на стабле или на бета? Возможно что-то не учтено

MKN 18-03-2009 16:15 1067366

Цитата:

Цитата gora
Команда RunProgram и так ожидает завершения запущенного ей процесса »

А у меня почему то при таком содержимом config.txt (автоустановщика Nero9)
Код:

;!@Install@!UTF-8!
RunProgram="Setupx.exe /i /qb SERIALNUMBER=\"xxx\" EULAACCEPTED=\"1\" INCLANGUAGES=\"RUS\""
GUIMode="2"
RunProgram="hidcon:delfieles.cmd"
;!@InstallEnd@!

первой выполняется delfieles.cmd, после чего Setupx.exe начинает отрабатываться, но "сваливается"...
(Вместо delfieles.cmd пробовал скомпиллированный из него EXE_шник - тот же результат)

Хотя в хелпе сказано :
Цитата:

Команд запуска программ в каждом типе ('AutoInstall', 'AutoInstallX' и 'RunProgram') может быть несколько, обрабатываются они (в пределах каждого типа) в той последовательности, в которой указаны в файле конфигурации, при этом ожидается окончание предыдущей команды, а после этого запускается следующая.
Или я что то напутал...

gora 18-03-2009 16:40 1067385

MKN, возможную причину описал здесь, т.е., дочерние процессы!
Проверить очень просто:
Создайте батник с двумя строками:
Код:

Setupx.exe /i /qb SERIALNUMBER="xxx" EULAACCEPTED="1" INCLANGUAGES="RUS"
pause

Положите его рядом с вашим файлом Setupx.exe, запустите и посмотрите когда появится сообщение "Для продолжения нажмите любую клавишу . . ." в окне консоли.
Как только оно появилось, значит инсталлятор закрыл основной процесс. Полностью он при этом отработал или нет, проверяйте.

MKN 18-03-2009 17:41 1067436

gora,

Сообщение "Для продолжения нажмите любую клавишу . . ." после запуска батника появляется почти сразу. А вот окно самого инсталлятора открывается с ощутимой задержкой, после чего начинается процесс установки, также довольно-таки длительный...

Может эти временные задержки и "путают" очерёдность запуска моего RunProgram="hidcon:delfieles.cmd" ?
Возможно ли в таком случае задать запуск этого файла с n_ной временной задержкой ? Как это можно сделать практически ?

gora 18-03-2009 18:00 1067454

Цитата:

Цитата MKN
Сообщение "Для продолжения нажмите любую клавишу . . ." после запуска батника появляется почти сразу. А вот окно самого инсталлятора открывается с ощутимой задержкой, после чего начинается процесс установки, также довольно-таки длительный... »

Что и требовалось доказать! Файл Setupx.exe после старта запускает какой то дочерний процесс (который и производит установку), а может и не один и после этого сразу же закрывается. Об этом красноречиво говорит появившееся сообщение в окне консоли. Так что модуль тут не виноват он как и cmd не может отследить работу и завершение дочерних процессов. Они контролируют только запущенный ими самими процесс, в данном случае Setupx.exe!
Цитата:

Цитата MKN
Может эти временные задержки и "путают" очерёдность запуска »

Как Вы надеюсь поняли путаницы ни какой нет, все команды выполняются по порядку, но Вам нужно как то задержать запуск delfieles.cmd до завершения установки основного приложения.
Цитата:

Цитата MKN
Возможно ли в таком случае задать запуск этого файла с n_ной временной задержкой ? Как это можно сделать практически ? »

Сделать задержку между командами можно разными способами, вот самый простой:
Код:

;!@Install@!UTF-8!
RunProgram="Setupx.exe /i /qb SERIALNUMBER=\"xxx\" EULAACCEPTED=\"1\" INCLANGUAGES=\"RUS\""
RunProgram="hidcon:ping -n N 127.0.0.1"
RunProgram="hidcon:delfieles.cmd"
GUIMode="2"
;!@InstallEnd@!

Вместо N подставьте время (в секундах) заведомо большее процесса установки программы.

Habetdin 22-03-2009 10:55 1070906

Цитата:

Модуль "не умеет сам" менять иконку SFX архива
я знаю, что "Кнопка для работы с 7z SFX архивами в TC" от gora умеет менять иконку... может быть Oleg_Sch и gora объединят силы, чтобы в 7z SFX Tools была "кнопка", работающая без TC?
хочется что-то вроде "выберите файл архива, иконку, файл копирайтов, файл конфигурации и нажмите "Создать" " :)

AlkidZ 23-03-2009 12:43 1071898

Oleg_Sch,
Хочу сказать Большое спасибо за Ваш модифицированный модуль. Просто замечательно делать на нём установщики и собирать плагины для PE.
Видел что уже просили сделать поддержку шифрованных архивов, но не смог удержаться и не повторить эту просьбу. Уж очень достают любопытные антивирусы.

MKN 23-03-2009 15:44 1072146

Цитата:

Цитата gora
Так что модуль тут не виноват он как и cmd не может отследить работу и завершение дочерних процессов. Они контролируют только запущенный ими самими процесс, в данном случае Setupx.exe! »

Всё-таки способ задержки между командами методом принудительного пингования оказался не удачным (для моего случая)
Плюс ко всему - время отработки процессов различно на разных машинах.

А помог контроль запущенного процесса с помощью tasklist (http://www.windowsfaq.ru/content/view/67/57/).

Всё отрабатывается чётко и последовательно. Никакие дочерние процессы теперь модулю не помеха !

В config.txt запускается первым RunProgram, командный файл такого содержания :

Код:

@echo off
Setupx.exe /i /qb SERIALNUMBER="XXX" EULAACCEPTED="1" INCLANGUAGES="RUS""
:ns_loop
tasklist /FI "Imagename eq setupx.exe" /nh 2> nul | find /i "setupx.exe" > nul
if errorlevel 1 (
  exit )
echo ......
sleep 1
goto ns_loop

sleep.exe - утилитка для временной задержки, дабы не загружать проц во время выполнения командного файла (без неё у меня загрузка была под 100% !)

А затем, как обычно, запускаем следующий RunProgram и т.д. Ессно в первый командный файл можно ещё много чего поместить (удаление файлов, манипуляцию с сиcтемным временем для не долго живущих ключей триалов, как у меня в Nero9 и т.д.).

gora 23-03-2009 17:27 1072301

Цитата:

Цитата Habetdin
может быть Oleg_Sch и gora объединят силы »

Они уже объединены, в результате и появилась кнопка со всеми ее возможностями. ;)
Цитата:

Цитата Habetdin
7z SFX Tools была "кнопка"»

Что то Вы путаете. В 7z SFX Tools от Oleg_Sch вообще нет ни чего похожего. Очевидно Вы имеете ввиду
Цитата:

Цитата Oleg_Sch
GUI (графической оболочки) для создания 7-zip SFX с модифицированным модулем ... Автор GUI - hobbeat. »

тогда и просьбы надо направлять к hobbeat.
Цитата:

Цитата Habetdin
работающая без TC »

Что же Вам так ТС не нравится!? Рассматривайте его как оболочку к кнопке (размер не такой уж большой, может использоваться в триальном режиме неограниченное время)! :)
Цитата:

Цитата MKN
Всё-таки способ задержки между командами методом принудительного пингования оказался не удачным (для моего случая) »

Я и не утверждал, что это лучший вариант, Вы спросили про задержку - я Вам ответил. Про вариант с tasklist я знаю и использую, но
Цитата:

Цитата MKN
Никакие дочерние процессы теперь модулю не помеха ! »

я бы не был столь категоричным. Отслеживание дочерних процессов задача не простая да и самих процессов может быть несколько, с разными именами и запускаемыми в ходе установки несколько раз. Это большое поле для экспериментов!

mike345 23-03-2009 19:34 1072428

Цитата:

Цитата gora
Что же Вам так ТС не нравится!? Рассматривайте его как оболочку к кнопке (размер не такой уж большой, может использоваться в триальном режиме неограниченное время)! »

TC мне например очень нравиться :)
Но отсутствие притензий у автора, не говорит о том, что у так называемых правоохранительных органов притензий не будет. тк лицензионное соглашение нарушено...

Цитата:

Вы имеете право опробовать эту программу в течение одного месяца. Вам разрешается копировать эту условно-бесплатную версию (и ТОЛЬКО её) и передавать другим людям на любой срок, пока она не модифицируется. Под модификацией понимается изменение, добавление или удаление любых файлов этого пакета без письменного разрешения автора. Вам НЕ разрешается комплектовать эту программу вместе с другой коммерческой программой или книгой. Дилерам условно-бесплатных программ разрешается продавать Shareware-версию за небольшую плату (примерно CHF/US$ 10.-). Покупателю должно быть ясно, что он не получает версию для неограниченного использования! Приветствуется размещение этой программы на возможно большем числе BBS. Распространение на CD-ROM также допускается, пока исходные файлы не модифицированы. Пожалуйста, свяжитесь со мной, если вы хотите распространять программу с другой программой установки, изменёнными файлами и т.д. Программы, обозначенные как "Beta" или "Release candidate", не могут распространяться ни при каких условиях. Использование этой программы после испытательного срока в один месяц является нарушением международного законодательства об авторских правах! Это также несправедливо по отношению к автору, потратившему сотни часов на разработку этой программы.

Habetdin 25-03-2009 10:40 1074090

Цитата:

Цитата gora
Что то Вы путаете. В 7z SFX Tools от Oleg_Sch вообще нет ни чего похожего. »

я написал
Цитата:

Цитата Habetdin
чтобы в 7z SFX Tools была "кнопка", работающая без TC »

Цитата:

Цитата gora
Очевидно Вы имеете ввиду
Цитата Oleg_Sch:GUI (графической оболочки) для создания 7-zip SFX с модифицированным модулем ... Автор GUI - hobbeat. »
тогда и просьбы надо направлять к hobbeat. »

Цитата:

Конфигуратор для 7-zip SFX
эта оболочка только создает файл конфигурации

я же хотел, чтобы появился новый инструмент в составе 7z SFX Tools, по возможностям похожий на "кнопку". так сказать "антисплиттер", умеющий менять иконку...
вот было похожее предложение

pahan22 30-03-2009 06:42 1078600

Господа, подскажите, пожалуйста, КАК и чем в командном файле (строке) распаковать 7z sfx-архив на составляющие, т.е. 7z архив, файл конфигурации, иконку, файл ресурсов и SFX модуль!
Позалуста! Осяня не хватает! :)

tipclose 30-03-2009 12:38 1078823

pahan22, качаеш вот отсюда скажем этот файл, после установки тебе нужен будет 7ZSplit.exe, а там уже разберешся. Файл ресурсов можно получить с помощью программы типа Restorator2007.

pahan22 30-03-2009 15:31 1079048

tipclose, спасибо за сочувствие! Но у меня есть все эти утилиты! Вопрос в том, как заставить это произвести распаковку SFX-архива из командного файла и без участия пользователя! Либо как пользоваться утилитой 7ZSplit.exe в тихом режиме!

Oleg_Sch 30-03-2009 15:40 1079067

По поводу 7zSplit отвечу. Можно использовать недокументированные ключи
Код:

7zSplit [-m имя_файла_модуля] [-c имя_файла_конфигурации] [-a имя_файла_архива] имя_sfx_архива
по ресурсам не подскажу. смотрите в сторону различных редакторов ресурсов.

pahan22 30-03-2009 16:39 1079126

Oleg_Sch, имя_sfx_архива перед парметрами работает! А вот как заставить его не выводить окно программы, а просто распаковать архив и закрыться? Есть такие недокументированные возможности?

Oleg_Sch 30-03-2009 16:49 1079141

Думаете я помню все ключи/параметры своих программ :) ?
Попробуйте -rh и/или -f добавить (если мне память не изменяет).

Lite 02-04-2009 18:06 1082161

А можно добавить поддержку путей, используемых в Advanced INF Setup: %10%, %11%, и так далее? Это гораздо удобней, чем прописывать так: %systemroot%\System32, %systemroot%\System. Таким образом системную папку, которая в Windows XP равна System32, в Windows 98 равна System, а в Windows Vista и Windows 7 равна ещё какому-то другому значению, можно будет задать переменной %11%, и это сработает на всех системах.

EN130 02-04-2009 19:21 1082256

Lite, Наверняка можно, но тогда размер модуля значительно вырастит.

Я уже думал предложить, сделать два варианта модуля. Что нибуть на подобии модуля версии 1.2.6 (сколько он там сейчас весит? Около 50 кил, если мне память не изменяет.) И Что нибуть на подобии инсталоятора в мару метров с кучей всеяких прибамбасов.

gora 02-04-2009 19:42 1082282

1
Цитата:

Цитата Lite
в Windows 98 равна System »

Цитата:

Цитата справка
Начиная с версии 1.1 beta, модуль требует Windows 2000 или позже. Он больше не поддерживает операционные системы Windows 95, Windows 98 и Windows Me.

2
Цитата:

Цитата Lite
%10%, %11%, и так далее? »

"Огласите весь список, пожалуйста..." :) дабы сами представляли то, что просите.
Модуль имеет еще около 50 недокументированных переменных, их перечень можно найти в ветке. В том числе и 7zSfxFolder37=%systemroot%\System32

Lite 02-04-2009 22:28 1082515

Ну вот. А откуда мне знать о недокументированном?! Оно ведь не документировано))

А перелистать все страницы темы не просто.

Спасибо хоть на этом. Указали бы всё возможности, ничего не скрывая сразу. Если бы многое не умалчивали, было бы намного проще жить.

gora 02-04-2009 22:53 1082545

Цитата:

Цитата Lite
Указали бы всё возможности, ничего не скрывая сразу. »

Все документировать сложно. :( Но чтобы облегчить Вам жизнь, вот цитата из недописанного FAQ
Цитата:

Вопрос: Какие еще переменные использует модуль во время своей работы и можно ли их использовать в файле конфигурации?

Ответ: Создайте 7z SFX архив со следующим файлом конфигурации (7z архив может быть любой):

Код:

;!@Install@!UTF-8!
RunProgram="cmd /c @Echo Off& Set& Pause>nul"
;!@InstallEnd@!

Запустите полученный 7z SFX архив и в консольном окне увидите все переменные.

Использовать их можно как и другие переменные модуля, например, так:

Код:

RunProgram="hidcon:cmd /c del \"%7zsfxfolder07%\\Total Commander.lnk\""
Delete="%7zsfxfolder24%\\Total Commander.lnk"



Oleg_Sch 03-04-2009 01:01 1082636

От себя добавлю. Все номера в 7zSfxFolderXX полноценно даже в MSDN не расписаны. Как их документировать ?
Для общего развития (calc.exe Вам в помощь для перевода из шестнадцатиричного в десятичный, описания CSIDL_* можно посмотреть
http://msdn.microsoft.com/en-us/libr...94(VS.85).aspx
):

Код:

#define CSIDL_DESKTOP                0x0000
#define CSIDL_INTERNET                0x0001
#define CSIDL_PROGRAMS                0x0002
#define CSIDL_CONTROLS                0x0003
#define CSIDL_PRINTERS                0x0004
#define CSIDL_PERSONAL                0x0005
#define CSIDL_FAVORITES                0x0006
#define CSIDL_STARTUP                0x0007
#define CSIDL_RECENT                0x0008
#define CSIDL_SENDTO                0x0009
#define CSIDL_BITBUCKET                0x000a
#define CSIDL_STARTMENU                0x000b
#define CSIDL_MYDOCUMENTS        0x000c
#define CSIDL_MYMUSIC                0x000d
#define CSIDL_MYVIDEO                0x000e
#define CSIDL_DESKTOPDIRECTORY        0x0010
#define CSIDL_DRIVES                0x0011
#define CSIDL_NETWORK                0x0012
#define CSIDL_NETHOOD                0x0013
#define CSIDL_FONTS                0x0014
#define CSIDL_TEMPLATES                0x0015
#define CSIDL_COMMON_STARTMENU        0x0016
#define CSIDL_COMMON_PROGRAMS        0X0017
#define CSIDL_COMMON_STARTUP        0x0018
#define CSIDL_COMMON_DESKTOPDIRECTORY        0x0019
#define CSIDL_APPDATA                0x001a
#define CSIDL_PRINTHOOD                0x001b
#define CSIDL_LOCAL_APPDATA        0x001c
#define CSIDL_ALTSTARTUP        0x001d
#define CSIDL_COMMON_ALTSTARTUP        0x001e
#define CSIDL_COMMON_FAVORITES  0x001f
#define CSIDL_INTERNET_CACHE        0x0020
#define CSIDL_COOKIES                0x0021
#define CSIDL_HISTORY                0x0022
#define CSIDL_COMMON_APPDATA        0x0023
#define CSIDL_WINDOWS                0x0024
#define CSIDL_SYSTEM                0x0025
#define CSIDL_PROGRAM_FILES        0x0026
#define CSIDL_MYPICTURES        0x0027
#define CSIDL_PROFILE                0x0028
#define CSIDL_SYSTEMX86                0x0029
#define CSIDL_PROGRAM_FILESX86        0x002a
#define CSIDL_PROGRAM_FILES_COMMON        0x002b
#define CSIDL_PROGRAM_FILES_COMMONX86        0x002c
#define CSIDL_COMMON_TEMPLATES        0x002d
#define CSIDL_COMMON_DOCUMENTS        0x002e
#define CSIDL_COMMON_ADMINTOOLS        0x002f
#define CSIDL_ADMINTOOLS        0x0030
#define CSIDL_CONNECTIONS        0x0031
#define CSIDL_COMMON_MUSIC        0x0035
#define CSIDL_COMMON_PICTURES        0x0036
#define CSIDL_COMMON_VIDEO        0x0037
#define CSIDL_RESOURCES                0x0038
#define CSIDL_RESOURCES_LOCALIZED 0x0039
#define CSIDL_COMMON_OEM_LINKS        0x003a
#define CSIDL_CDBURN_AREA        0x003b
#define CSIDL_COMPUTERSNEARME        0x003d
#define CSIDL_PROFILES                0x003e

При умелом использовании это, наверное, даже больше, чем %10%, %11% и т.д. в inf

Lite 03-04-2009 12:23 1082958

А кто нибудь может сказать где все эти пути прописаны? Должны быть в реестре, но я что-то далеко не всё вижу. Что-то есть, но не всё.

А пути из Advanced INF Setup я когда-то видел в реестре ещё в 98-й винде, но потом безнадёжно потерял месторасположение.

Кто нибудь знает?

evlmn 05-04-2009 11:51 1084590

Здравствуйте!

Имеется следующая конфигурация:

PHP код:

;!@Install@!UTF-8!
SetEnvironment="PackName="Total Commander""
SetEnvironment="PackVersion=7.0.4a"
SetEnvironment="PackRevision=17"
SetEnvironment="ExeName=TOTALCMD.EXE"
;Title="%PackName% %PackVersion% EvilMan's Pack Revision %PackRevision%"
Title="\"%PackName%\""
BeginPrompt="Спасибо, за то что Вы выбрали %PackName%!\n\nНажмите \"OK\", для того чтобы продолжить, или укажите свой путь для установки.\n\nЯрлык для запуска программы будет помещен на ваш Рабочий стол."
CancelPrompt="Вы хотите прервать установку?"
ExtractDialogText="Подождите, пожалуйста..."
ExtractPathText="Пожалуйста, введите путь установки:"
ExtractTitle="Установка..."
GUIFlags="8+32+64+256+512+1024+4096"
GUIMode="1"
InstallPath="%ProgramFiles%\\Total Commander12"
OverwriteMode="0"
Shortcut="D,{%%T\\%ExeName%},{},{},{Lunch %PackName%!},{%PackName%},{%%T},{},{}"
;!@InstallEnd@! 

Вся проблема в том, что переменные в тексте не заменяются на присвоенные им значения:-( Запускается распаковщик, и в тексте сообщения отображаются имена переменных. Где я ошибся? Иль может переменные в тексте не обрабатываются?:-(

gora 05-04-2009 12:15 1084616

evlmn
1 Не оформляйте файл конфигурации в теги PHP, оформляйте его в теги CODE! Иначе часть видимого текста искажается.
2 Проверьте версию модуля, она должна быть не ниже 1.3 beta (сборка 1133) 04.09.08
3 Исправьте строку:
Код:

SetEnvironment="PackName="Total Commander\""
так переменная будет содержать кавычки:
Код:

SetEnvironment="PackName=\"Total Commander\""
или так, тогда она не будет содержать кавычки:
Код:

SetEnvironment="PackName=Total Commander"

evlmn 05-04-2009 18:51 1084870

gora

1 Извиняюсь, я учту на будущее ;-)
2 С последней бетой проблема решилась!

Спасибо;-)

markhor 12-04-2009 02:47 1091482

Олег, спасибо за мощные sfx модули!

Собираюсь встроить их в свой open-source проект SevenZipSharp (он женит плюсы с шарпом).

Обновите пожалуйста английские версии модулей (а то последнее изменение датируется 2007 годом). Это необходимо, т.к. большинство пользователей моей библиотеки (а их уже за сотню) понимают только инглиш.

Oleg_Sch 12-04-2009 12:48 1091712

Цитата:

Цитата markhor
Обновите пожалуйста английские версии модулей (а то последнее изменение датируется 2007 годом). Это необходимо, т.к. большинство пользователей моей библиотеки (а их уже за сотню) понимают только инглиш. »

Сами модули всегда были на двух языках. Только справка и сам инсталлятор 7zsfxtools требуют отдельной локализации. Но, к сожалению, без посторонней помощи я этого не смогу сделать. Помощь приветствуется ;)

markhor 12-04-2009 23:33 1092266

Готов помочь в переводе документации. Ты компилишь MS Help Workshop-ом? Впрочем, это совсем не важно :)
Выложишь ссылку на исходники справки?

GanjaSnay 13-04-2009 00:29 1092313

Ребята ,помогите пожалуйста,ну ни как я не могу создать этот установочный SFX архив. мне нужно сделать exe для установки твиков реестра. Если ни кого не затруднит,сделайте его пожалуйста!!! Прикрепляю архив из чего делать.

At0m 13-04-2009 02:17 1092391

Вложений: 1
Примерно так: при запуске спросит ставить ли, после установки сообщит. Для полностью тихой установки запуститьс ключом:
Код:

Tweaks.exe -ai

GanjaSnay 13-04-2009 12:11 1092639

At0m, Спасибо тебе огормное!!!

GanjaSnay 13-04-2009 16:21 1092832

Народ,дайте пожалуйста подробный фак для создания своих инсталяторов.

gora 13-04-2009 16:26 1092840

Цитата:

Цитата GanjaSnay
дайте пожалуйста подробный фак для создания своих инсталяторов. »

Лучший FAQ - справка здесь, поверьте моему опыту. ;)

TruLander 17-04-2009 23:05 1097165

Всем привет прошу помощи по созданию архива.
Меня интересует возможность автоматического определения пути установки, из определенного файла с содержимым примерно такого характера [c:\123\], или возможность считать адрес установки из реестра, Заранее спасибо за помощ)).
вот пример ботника который выполняет такую операцию и распаковывает архив в нее, проблема с этим батником то что он не работает в win98 а оч нужно.
этот батник писал не я.
Код:

@Echo Off
 
If Exist c:\windows\dkdir.txt (
  Call :_Parsing c:\windows\dkdir.txt
  GoTo :EOF
)
 
If Exist C:\dkdir.txt (
  Call :_Parsing C:\dkdir.txt & GoTo :EOF
  GoTo :EOF
)
 
Echo "бла-бла переустановите программу))"
Pause
GoTo :EOF
 
:_Parsing
For /F "Tokens=*" %%A In (%1) Do 7za.exe e 1234.zip -o"%%A"


Oleg_Sch 18-04-2009 01:07 1097227

TruLander, по cmd-bat файлам у нас gora специалист. Я думаю он ответит.

To All
Вот нашел на просторах инета 7-ZIP SFX Maker
Выскажете свое мнение. Я попытаюсь связаться с автором.

Imago_ 18-04-2009 01:40 1097244

Oleg_Sch, Непонятно, только, почему несколько раз упомянуто в отношении Вашего модуля - "больше не разрабатывается"..

Oleg_Sch 18-04-2009 04:24 1097269

Imago_,
Английские страничка/справка не обновляются, вот он и решил так.
Я написал свой коммент там, но он ждет "модерирования"
могу привести здесь:
Цитата:

Oleg_Sch Says:
Your comment is awaiting moderation.
April 17, 2009 at 11:06 pm
First of all.
Thank you for GUI.
I’m add some comments for messages like “It is not being developed anymore”.
Module still developing, but too slowly, because i’m not have enough time for this project.
At this time 2 versions are ready:
1.2.5.1307 as “stable”
1.3.0.1307 as “beta”
For the moment only russian help and pages updated, but module always compiling in two languages and you can downaload it at http://7zsfx.info/ru/download.html

Encryption will be introduce in 1.4 branch.

teejee2008:
Please delete my email from you post. It’s in plain text and spam make difficult to read my inbox. My email already present on module’s homepage (but in encoded form)

And… Sorry for my bad english.
Кстати, markhor, откликнитесь. Я написал вам в ПМ сразу после предложения о помощи.

Serega 18-04-2009 09:15 1097317

Oleg_Sch, при следующем общении с автором, попросите его не упаковывать файл join.exe. Проверка упакованного на VirusTotal и проверка, уже распакованного.

P.S.
Последнее время обратил внимание, что антивирусники всё больше начинают ругаться на упакованные файлы, поэтому вообще мне кажется, лучше ничего не упаковывать...

Oleg_Sch 18-04-2009 10:09 1097343

TruLander, внимательнее перечитал Ваш пост и не понял какое отношение это имеет к модулю ? Даже если Вы хотите указать модулю путь распаковки/установки прописанный в определенном месте (файл/реестр), то огорчу -
Цитата:

Начиная с версии 1.1 beta, модуль требует Windows 2000 или позже. Он больше не поддерживает операционные системы Windows 95, Windows 98 и Windows Me.
Если Вам нужен отдельный батник для распаковки 7z архива, то такие вопросы лучше задать в Скриптовые языки администрирования Windows

EN130 18-04-2009 11:10 1097377

Цитата:

Цитата Oleg_Sch
To All
Вот нашел на просторах инета 7-ZIP SFX Maker
Выскажете свое мнение. Я попытаюсь связаться с автором. »

Весьма полехно. А если привести в актальное состояние, то цены не будет.

Serega 18-04-2009 20:23 1097712

Нашёл интересную программу SFX Zip Wizard, язык английский, страничка автора
Описание

Программа SFX Zip Wizard служит для создания самораспаковывающихся программ на основе существующих Zip-архивов с помощью пошагового мастера. Позволяет быстро создать инсталляцию для Вашей программы с созданием разнообразных ярлыков для нее и открытием окна проводника по окончании установки. Добавляет к архиву исполняемый модуль размером всего 26 кБайт (версия 1.04.5 от 08.02.2008)


greg_b 18-04-2009 21:18 1097748

Oleg_Sch, ковыряю эту програмку, возможно добавлю в следующем варианте 7-zip SFX, хотя он весьма автономен, думаю над русской локаью.

katok888 18-04-2009 21:56 1097774

Цитата:

Цитата greg_b
думаю над русской локаью »

автор обещает добавить поддержку языков в след. версии

Цитата:

Цитата teejee2008
I will be adding support for other languages in the next version. The next version will be available by next month.


greg_b 20-04-2009 06:39 1098664

katok888, подожду, а то переведу че не так ;)

gora 20-04-2009 16:48 1099105

Oleg_Sch

Поздравляю с Днем рождения! :birthday:

Всего Вам наилучшего, :Beer: новых творческих успехов и большого личного счастья!!! :girlinlove:

ray-mp 21-04-2009 11:44 1099810

Люди перечитав справку и большинство постов так и не нашел для себя ответа.. Есть ли возможность у 7-zip проверки на права доступа ..т.е. если скажем нет прав на запись в какуюто папку то выводилось бы окно и т.д. Просто довольно сложно стало создавать распаковщики на Висте.. Они просто молча не срабатывают.. понятно можно выводить графическое окно о том что распаковка не удалась и т.д. Но хотелось бы так же как и в последних версиях Винрара выскакивал запрос на админские права .. и затем все успешно распаковывалось... Если это уже есть гдето в справке ..сразу извеняюсь и прошу тыкнуть носом... т.к. я уже замучился в поисках...

greg_b 21-04-2009 11:54 1099822

Oleg_Sch, присоединяюсь к пожеланиям gora.

ray-mp, да нет вроде бы такого, пишите скрипт.

Oleg_Sch 21-04-2009 12:05 1099835

gora, greg_b, и всем, кто написал мне в ПМ... Всем огромное "спасибо". Со своей стороны постараюсь порадовать обновлениями в ближайшие пару недель.

ray-mp 21-04-2009 12:15 1099856

Цитата:

Цитата greg_b
ray-mp, да нет вроде бы такого, пишите скрипт. »

Спасибо. Попробую проще... сделать инсталятор в 7-зипе и потом запаковать его еще и в винрар с запросом на права, благо пока заморочек с размером нету.... посмотрим может прокатит... Это как временное решение а потом видимо придется со скриптами возиться...

_DRON_ 21-04-2009 14:47 1100007

ray-mp, может просто заменить в манифесте level="asInvoker" на level="requireAdministrator", тогда распаковщик ВСЕГДА будет требовать админские права.
Хотя действительно неплохо бы сделать как в WinRAR: в случае, когда прав недостаточно, запускать самого себя с повышенными правами.

greg_b 21-04-2009 16:25 1100122

_DRON_, с точки зрения секьюрности - первое предпочтительнее.

ray-mp 21-04-2009 23:29 1100472

Честно говоря никогда с такими дебрями не работал... Поэтому сразу спрошу .... К примеру взял я готовый SFX открыл к примеру тем же Res Hack ом .... нашел тут ресурс 24 называется вошел дальше 1 и потом 0 тут нашел строчку
<requestedPrivileges><requestedExecutionLevel level="asInvoker" uiAccess="false"/></requestedPrivileges>
Я так понимаю здесь делать изминения? Если нет то просьба сразу если будете писать RTFM и т.д. то сразу ссылочку.. на самом деле я как уже сказал на столько глубоко я не углублялся ... но походу придется... Заранее благодарен...

Habetdin 21-04-2009 23:57 1100500

ray-mp, "разберите" имеющийся
Цитата:

Цитата ray-mp
готовый SFX »

7zSfxSplitter'ом, измените конфиг и "соберите" обратно


поможет вам в этом
Цитата:

Цитата Oleg_Sch
Кнопка для работы с 7z SFX архивами в Total Commander-е »

;)

_DRON_ 22-04-2009 00:54 1100531

Цитата:

Цитата ray-mp
К примеру взял я готовый SFX »

С готовым ResHacker врядли нормально отработает, надо делить, как и написал Habetdin, а затем уже менять ресурс (тот который 24/1/0) и собирать обратно.

Цитата:

Цитата greg_b
с точки зрения секьюрности - первое предпочтительнее. »

greg_b, а что есть "секьюрность" в данном случае? Просто ясно, что для распаковщиков безусловно требующих админских прав, первый способ проще и лучше, но в общем случае права могут зависеть и от директории назначения, тогда первый способ работать не будет.

greg_b 22-04-2009 07:52 1100642

_DRON_, часто кое переназначение прав просто открывает дыру в работе и развитии вирусам на компе, череповато последствиями.

ray-mp 22-04-2009 18:13 1101191

разложил архив на состовляющие.
Что именно менять в конфиге так и не понял... Сам конфиг это файл txt а не вин32 его рес хак не возьмет.. где именно меняются эти права...
Ктонить скажите на пальцах куда именно лезть....
Про тотел командер.. не много не понял а разве эта кнопка может чтото такое чего нельзя написать руками в блокноте в конфиге?

Dmitry_K 22-04-2009 23:48 1101526

Цитата:

Цитата ray-mp
Ктонить скажите на пальцах куда именно лезть.... »

в sfx-модуль, именно там нужно копать...
а "кнопка" - просто помощник в разбиении sfx-архива на части (и его последующей сборке):
1. sfx-модуль
2. текстовый файл конфигурации
3. 7z-архив

_DRON_ 23-04-2009 03:05 1101632

Цитата:

Цитата ray-mp
Что именно менять в конфиге так и не понял... »

Конфиг тут ни при чём. Вы всё делали правильно:
Цитата:

Цитата ray-mp
К примеру взял я готовый SFX открыл к примеру тем же Res Hack ом .... нашел тут ресурс 24 называется вошел дальше 1 и потом 0 тут нашел строчку
<requestedPrivileges><requestedExecutionLevel level="asInvoker" uiAccess="false"/></requestedPrivileges> »

Я решил проверить и оказалось, что Resource Hacker и Restorator на самом деле прекрасно правят SFX-архивы, так что "делить" ничего не надо, достаточно исправить строчку в ресурсе и сохранить результат.

Цитата:

Цитата greg_b
_DRON_, часто кое переназначение прав просто открывает дыру в работе и развитии вирусам на компе, череповато последствиями. »

Стоп! Какое переназначение? Я говорил только о программном запросе на "elevation", который ничем не отличается от того, который инициируется с помощью requireAdministrator. Единственная тонкость будет заключаться в том, что первый экземпляр распаковщика должен передать свои настройки (с учётом директории назначения выбранной пользователем) второму. А UAC будет выскакивать как в первом, так и во втором случае.

gora 23-04-2009 08:38 1101706

Цитата:

Цитата _DRON_
Я решил проверить и оказалось, что Resource Hacker и Restorator на самом деле прекрасно правят SFX-архивы, так что "делить" ничего не надо, достаточно исправить строчку в ресурсе и сохранить результат. »

Я бы не стал этого утверждать! Правят то они правят, но вот будет ли работать 7z SFX архив после такой (любой) правки ресурсов, это вопрос. Если он был создан "кнопкой", то в 98% при запуске будет окно с сообщением "Невозможно прочитать или отсутствует файл конфигурации SFX архива."... ;)

_DRON_ 23-04-2009 09:45 1101755

Цитата:

Цитата gora
Правят то они правят, но вот будет ли работать 7z SFX архив после такой (любой) правки ресурсов, это вопрос. »

Ну работоспособность я на паре файлов проверил разумеется. А насчёт кнопки ничего сказать не могу, так как Total-ом не пользуюсь, но если в ней происходит сжатие распаковщика или как-то некорректно правятся ресурсы (та же иконка например), то конечно могут быть проблемы.

AppleNTU 23-04-2009 10:40 1101820

Цитата:

Цитата gora
то в 98% при запуске будет окно с сообщением "Невозможно прочитать или отсутствует файл конфигурации SFX архива."... »

а как можно обойти это ограничение??? может в следующей версии "кнопочки" подправите это дело???

ya158 06-05-2009 20:29 1112277

Oleg_Sch
При использовании модуля можно отображать прогресс-бар распковки файлов. Если же после этого запускаются с помощью RunProgram исполняемые файлы, то прогресс-бар не отображается. Поэтому может создаться впечатление, что установка уже закончилась, хотя исполняемые файлы ещё работают. Нельзя ли сделать так, чтобы при выполнении исполняемых файлов с помощью RunProgram отображалось бы какое-нибудь окно с надписью типа "Дождитесь окончания установки" без кнопок и возможности закрыть его.

EN130 06-05-2009 22:16 1112361

Это можно сделать и сейчас при помощи параметда FinishMessage Читайте справку к программе

ya158 07-05-2009 01:14 1112477

Цитата:

Цитата EN130
Это можно сделать и сейчас при помощи параметда FinishMessage Читайте справку к программе »

Читайте внимательно мою просьбу. FinishMessage выводит сообщение после окончания всех операций. Я же прошу выводить окно во время работы исполняемых файлов и до появления FinishMessage.

Белтон 07-05-2009 05:36 1112526

Подскажите пожалуйста как установить пароль на созданный exe файл?

Что бы нельзы было распокавать WinRar-ом.

Создаю обычным способом
Цитата:

COPY /b 7ZSD_LZMA.sfx + config.txt + File.7z File.exe

Видел такую возможность в винраре, в файле "Kaspersky Solution.exe"

Файл exe, а пароль стоит.

Ну конечно этот exe файл запускается и всё его содержимое переносится в темп без пароля, но в темп сложнее зайти чем нажать "открыть exe файл с помощью WinRar".



Есть ли вообще возможность у 7z поставить через эту стоку пароль?....

Dmitry_K 09-05-2009 11:39 1114244

Цитата:

Цитата Белтон
Есть ли вообще возможность у 7z поставить через эту стоку пароль?.. »

модифицированный модуль шифрование пока не поддерживает, ждем-с...
а вот архив, созданный при помощи обычного модуля, можно зашифровать.

j8r60 02-06-2009 08:52 1132790

вот читал я первые шаги внимательно и как не удивительно мне стало не понятно одна вещь там написано что Создание SFX архива

Скопируйте модуль "7ZSD_LZMA.sfx" в папку с файлами "Archive.7z" и "config.txt" (например, "C:\7z_test").

"7ZSD_LZMA.sfx" . :wink: откуда его взять хотьбы пояснил. и вот еще Команду нужно выполнять из папки с указанными файлами.

Для этого нажмите [Win+R], введите cmd /k и нажмите [Enter].
Затем в открывшемся окне консоли введите cd путь_к_папке_с_файлами (например, cd C:\7z_test) и нажмите [Enter].
И только теперь введите указанную выше командную строку.
Если в пути и/или имени файла имеются пробелы, то такие имена и/или пути_имена должны быть заключены в кавычки.

я не понимаю зачем надо вводить [Win+R], введите cmd /k и нажмите [Enter]. если ты уже и так открыл командную строку.
кто нибудь может сделать скриншот командной строки по подробнее. мне нужно по подробнее указания пути в командной стоке это былобо понятней чем так ка написано . вот например лежат у меня два файла один Adobe Reader 7.0.sfx. а в другом upx. в одной папке на диске с какую команду надо выполнить и в коком порядке чтобы сжал. дать команду на правильный путь. это я имею в виду скриншот командной строки.

gora 02-06-2009 14:30 1133042

Цитата:

Цитата j8r60
"7ZSD_LZMA.sfx" . откуда его взять хотьбы пояснил. »

Брать по ссылке в шапке
Цитата:

Цитата Oleg_Sch
Страница загрузок: ..... »

Цитата:

7zSD 44 кб 1.3 beta (сборка 1307) от 25 февраля 2009 г Модифицированный модуль (для метода сжатия LZMA используемого архиватором 7-Zip по умолчанию).

7zSD extra 76 кб 1.3 beta (сборка 1307) от 25 февраля 2009 г Состав: 4 модифицированных модуля. Для каждого метода сжатия (LZMA, Deflate, PPMd) имеется отдельный модуль, а так же модуль, способный работать с любым из этих методов.
Во втором он под нужным именем а в первом он же но под другим именем, но сути это не меняет.
Цитата:

Цитата j8r60
я не понимаю зачем надо вводить [Win+R], введите cmd /k и нажмите [Enter]. если ты уже и так открыл командную строку. »

Если Вы знаете как пользоваться ком. строкой, то зачем Вам скриншот!? Я, например, пользуюсь ком. строкой в ТС, а в справке описан вариант без стороннего ПО. Какой ком. строкой Вы пользуетесь не известно, приведите скриншот, чтобы
Цитата:

Цитата j8r60
былобо понятней чем так ка написано . »

Цитата:

Цитата j8r60
вот например лежат у меня два файла один Adobe Reader 7.0.sfx. а в другом upx. в одной папке на диске с какую команду надо выполнить и в коком порядке чтобы сжал. дать команду на правильный путь. »

Мне не понятно, что это за два файла? Какой тип файлов? Где (полный путь к этим файлам) лежат эти файлы? Что собственно Вы хотите сделать с указанными файлами неуказанных типов? И что хотите получить в результате?
Ответ постарайтесь написать максимально подробно и максимально грамотно, с соблюдением правил пунктуации, заглавными буквами в начале предложений!

Habetdin 02-06-2009 16:42 1133163

j8r60, прочтите это и еще раз это

j8r60 03-06-2009 11:39 1133775

вот в общем я разобрался с этими командами я все сделал точно по справке. но вот этот модуль "7ZSD_LZMA.sfx". я взял с сайта http://7zsfx.info/ru/ это как я понял проста файл который надо поместить в папку со всеми компонентами. правильно я выбрал модуль или нет подскажите ато я с ним с ума сойду. выполнил я через командную строку все эти команды появился этот 7z.SFX в той же папки куда я указал. SFX архив весил как сам модуль "7ZSD_LZMA.sfx". при открытий он выдал ошибку файл не является 7z архивом. что я не так сделал. он должен был упаковать все выбранные файлы а он только упаковал этот модуль и весит он мало. я думаю что этот и за чертов модуля "7ZSD_LZMA.sfx". какой правильно поставить какой вы ставили вообще скажите

j8r60 03-06-2009 19:27 1134179

подскажите пожалуйста я пользуюсь версией Zip 9.04.beta. какой модуль для него использовать для SFX.

Habetdin 06-06-2009 13:00 1136574

Цитата:

Цитата j8r60
какой модуль для него использовать для SFX. »

Модули не зависят от версии архиватора, они зависят от типа сжатия (LZMA, Deflate...)

localhost 12-06-2009 18:04 1141781

Есть такая конфигурация. Как сделать, так чтобы SFX создал ярлык и на рабочем столе и в меню "Пуск - Программы".

Код:

;!@Install@!UTF-8!

Title="..."

ExtractPathText="..."

ExtractPathTitle="..."

ExtractDialogText="..."

ExtractTitle="..."

GUIFlags="2+4+8+16+128"

GUIMode="1"

InstallPath="%ProgramFiles%\\..."

Shortcut="Du,Pu, {%%T\\application.exe},{},{Папка_для_ярлыков},{},{Ярлык},{},{},{}"

;!@InstallEnd@!


Dmitry_K 12-06-2009 18:13 1141783

Цитата:

Цитата localhost
Shortcut="Du,Pu, {%%T\\application.exe},{},{Папка_для_ярлыков},{},{Ярлык},{},{},{}" »

разбить на 2 строки:
Код:

Shortcut="Du,{%%T\\application.exe},{},{Папка_для_ярлыков},{},{Ярлык},{},{},{}"
Shortcut="Pu,{%%T\\application.exe},{},{Папка_для_ярлыков},{},{Ярлык},{},{},{}"


localhost 12-06-2009 19:13 1141818

2Dmitry_K
Спасибо, этот вариант работает. А более компактного нету?

Dmitry_K 13-06-2009 00:46 1142050

Цитата:

Цитата localhost
А более компактного нету? »

нет... "лишняя" строчка увеличивает размер файла на несколько байт, не думаю, что это так критично...

j8r60 18-06-2009 13:17 1145904

не подскажете как изменить конфигурацию.

;!@Install@!UTF-8!
Title="Инструменты для 7z SFX"
BeginPrompt="Архив содержит инструменты для 7z SFX:\n\n• Модифицированный 7z SFX модуль\n• 7z SFX Splitter для извлечения компонентов из SFX архива \n• Файл справки для модуля (CHM формат)\n\nЯрлык к файлу справки будет помещен на ваш Рабочий стол.\nФайл справки откроется автоматически после извлечения."
CancelPrompt="Вы хотите прервать распаковку?"
ExtractDialogText="Подождите, пожалуйста..."
ExtractPathText="Пожалуйста, введите путь распаковки:"
ExtractTitle="Распаковка..."
GUIFlags="8+32+64+256+4096"
GUIMode="1"
InstallPath="%ProgramFiles%\\7z SFX Tools"
OverwriteMode="2"
RunProgram="nowait:\"7zSD_RU.chm\""
Shortcut="Du,{%%T\\7zSD_RU.chm},{},{},{Описание модифицированного 7z SFX модуля},{Все о 7z SFX модуле},{},{%%T\\7ZSplit.exe},{0}"
;!@InstallEnd@!


вот из этой конфигураций мне нужно изменить все на свое именования в том числе создания ярлыка на рабочем столе как все в этой конфигураций правильно изменить скажем пусть будет запускаемым файлом Adobe Reader 7.0. и еще не подскажите какую строчку убрать которая запускает программу после установки.

greg_b 18-06-2009 13:27 1145915

j8r60, Для начало надо внимательно почитать файлик "Справка по 7z SFX" - там все хорошо разжовано.

RunProgram="nowait:\"7zSD_RU.chm\"" <- запуск
Shortcut="Du,{%%T\\7zSD....... <- ярлык

и так далее

j8r60 19-06-2009 03:46 1146446

greg_b
вот в общем я приписал вот в эти строчки RunProgram="nowait:\"TDR2000.exe\"" <- запуск
Shortcut="Du,{%%T\\TDR2000.exe <- ярлык

и выдала ошибку что не найден TDR2000.exe файл. не сможеш переделать выше указанную конфигурацию с моим именем файла полностью так намного мне было бы понятнее и сравнивалбы с другими конфигурациями как все это правильно прописывается я думаю тебе не затруднит переправить несколько строчек

greg_b 19-06-2009 11:02 1146592

j8r60, даже не знаю что сказать, я понимаю что читать лень, но и считать ваши мысли и идеи я тоже не могу. Думаю понятно почему.

FUH 24-06-2009 00:56 1150329

Помогите разобраться...

Есть 7zsfx-архив с обсуждаемым здесь модулем.

При запуске без параметров все делается как и планировалось - распаковывается во временную папку и поочередно запускает некоторую кучку обновлений.

Теперь в другой ситуации мне надо не устанавливать эти обновления, а просто распаковать их в папку %WINDIR%\Installer.
Возможно ли это сделать с текущим архивом из командной строки?

Habetdin 24-06-2009 01:07 1150333

FUH, переделайте ваш SFX так, чтобы он запускал скрипт только при AutoInstall'e (sfx.exe -ai) - при обычном запуске он просто распакует содержимое

gora 24-06-2009 06:23 1150374

Цитата:

Цитата FUH
Возможно ли это сделать с текущим архивом из командной строки? »

Скорее всего нет. Нужно будет пересобрать 7z SFX архив. Приведите файл конфигурации из вашего архива, нужно посмотреть на него, но желаемый алгоритм вполне реализуем.

FUH 24-06-2009 11:06 1150508

Вложений: 1
Файл конфигурации во вложении.

Повторюсь что надо:

При запуске без параметров - распаковать во временную папку и поочередно запустить обновления.

При запуске с некоторомы праметрами - просто без вопросов распаковать эти обновления в папку %WINDIR%\Installer, при этом желательно показать прогрессбар распаковки.

gora 24-06-2009 11:53 1150545

При запуске без ключей предлагается выбор установка или распаковка в папку %WINDIR%\Installer
С ключом:
-ai - распаковка
-ai -gm2 - распаковка без прогрессбара
-ai -gm2 -fm0 - распаковка без прогрессбара и без финального сообщения
-y -gm2 - установка без прогрессбара
-y -gm2 -fm0 - установка без прогрессбара и без финального сообщения

В архиве файл конфигурации и иконка для 7z sfx архива.

j8r60 27-06-2009 06:13 1152871

хотел вам задать такой вопрос если вы знаете то можете ответить так вот программа Nero начиная первая 9 версия весила 370мб. а самая последняя версия весит 382мб. а распакованном виде весит 1,05гб. и я никак не пойму как они умудрились запаковать SFX архивом до такова размера очень хочется узнать возможно ли так запаковать при помощи 7z sfx . Ведь они запаковали при помощи 7z sfx

Habetdin 27-06-2009 07:20 1152878

j8r60, а вы попробуйте распаковать этот Sfx с Nero 9 и заново сжать - примерно тот же результат. Просто размер сжатого файла зависит от сжимаемого файла :)

pahan22 27-06-2009 14:54 1153069

Господа! Подскажите, пожалуйста, почему при создании ярлыка иконка ярлыка не применяется?
А остается по умолчанию для неизвестных файлов?
Код:

Shortcut="D,{\"%%T\\*.cmd\"},{},{},{},{Ярлык для ...},{\"%%T\"},{\"%%T\\*.ico\"},{1}"
Файл иконки в папке присутствует! Формат иконки 16х16х32, 32х32х32, 16х16х256, 32х32х256!
Если зайти в свойства ярлыка и нажать кнопку "сменить значок", иконка в диалоге "Смена значка" присутствует!
А после нажатия "ОК" и "Применить", она появляется в ярлыке!

Habetdin 27-06-2009 14:56 1153071

pahan22, а если так?
Код:

Shortcut="D,{\"%%T\\*.cmd\"},{},{},{},{Ярлык для ...},{\"%%T\"},{\"%%T\\*.ico\"}"
Индексы иконок в файлах с 0, а последний параметр можно не указывать, если нужна первая иконка (нулевая) :)

gora 27-06-2009 15:03 1153075

pahan22, нужно приводить весь файл конфигурации. У Вас используется %%T, а это путь распаковки и он может быть и временной папкой (я не вижу наличия параметра InstallPath у Вас.
Цитата:

Цитата pahan22
\"%%T\\*.ico\" »

Не уверен, что такая конструкция сработает, т.к., не указан конкретный файл и система не знает что ей отображать. Попробуйте не использовать подстановочные знаки и указать конкретное имя файла иконки (да и cmd файла тоже).

pahan22 27-06-2009 15:11 1153081

gora, вот такой конфиг:
Код:

;!@Install@!UTF-8! 
InstallPath="%WINDIR%\\ResPatch" 
GUIMode="2" 
SetEnvironment="KEY=HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx\\790" 
AutoInstall="hidcon:Reg Add %KEY% /ve /d \"Патч системных ресурсов\" /f" 
AutoInstall="hidcon:Reg Add %KEY% /v 1 /d \"\"%%T\\_ResPatch.cmd\" Mod Del\" /f" 
AutoInstall1="hidcon:Reg Add %KEY% /ve /d \"Патч системных ресурсов\" /f" 
AutoInstall1="hidcon:Reg Add %KEY% /v 1 /d \"\"%%T\\_ResPatch.cmd\" Mod Undel\" /f" 
AutoInstall2="hidcon:Reg Add %KEY% /ve /d \"Патч системных ресурсов\" /f" 
AutoInstall2="hidcon:Reg Add %KEY% /v 1 /d \"\"%%T\\_ResPatch.cmd\" Mod Undel\" /f" 
Shortcut="P,{\"%%T\\_ResPatch.cmd\"},{Pat},{ResPatch},{},{Пропатчить},{\"%%T\"},{\"%%T\\ResPatch.ico\"},{1}"
Shortcut="P,{\"%%T\\_ResPatch.cmd\"},{Res},{ResPatch},{},{Восстановить},{\"%%T\"},{\"%%T\\ResPatch.ico\"},{1}" 
; This SFX archive was created using "Button for creation and work with 7z SFX archives in Total Commander v.12.3" 14.06.2009 16-27. The last version of "Button" you can find on http://buttontc.7zsfx.info  ;!@InstallEnd@!

Папка назначения не удаляется!
В диалоге ярлыка "Смена значка" иконка присутствует!
Версия модуля 1.3.0 Beta, сборка 1307 (25 февраля 2009 г.)

Habetdin 27-06-2009 15:19 1153086

pahan22,
Цитата:

Цитата Habetdin
Индексы иконок в файлах с 0, а последний параметр можно не указывать, если нужна первая иконка (нулевая) »

Попробуйте
Код:

;с индексом иконки=0
Shortcut="P,{\"%%T\\_ResPatch.cmd\"},{Pat},{ResPatch},{},{Пропатчить},{\"%%T\"},{\"%%T\\ResPatch.ico\"},{0}"
;или без параметра "индекс иконки"
Shortcut="P,{\"%%T\\_ResPatch.cmd\"},{Pat},{ResPatch},{},{Пропатчить},{\"%%T\"},{\"%%T\\ResPatch.ico\"}"


gora 27-06-2009 15:33 1153094

pahan22, прав Habetdin на счет нумерации. Небольшое уточнение. Иконки в файлах .exe, .dll, и т.п., нумеруются с 0, а в файле .ico у Вас только одна иконка и она тоже имеет номер 0. Для иконки с номером 0 номер в параметре ярлыка можно не указывать, например так:
Код:

Shortcut="P,{%%T\\Selector.exe},{},{Утилиты},{Изменение оформления Windows},{ResPatch 4 в 1},{%WINDIR%\\ResPatch},{%%T\\Selector.exe}"

pahan22 27-06-2009 15:49 1153105

gora, Habetdin, спасибо!
Единственное уточнение! Посмотрев код в последнем сообщении gora и сравнив его со своим сделал по аналогии!
То есть убрал кавычки! Было так:
Код:

Shortcut="P,{\"%%T\\_ResPatch.cmd\"},{Res},{ResPatch},{},{Восстановить},{\"[/b]%%T\"},{\"%%T\\ResPatch.ico\"},{1}"
Стало так:
Код:

Shortcut="P,{%%T\\_ResPatch.cmd},{Res},{ResPatch},{},{Восстановить},{[/b]%%T},{%%T\\ResPatch.ico}"
Получается в строках параметра 'Shortcut' не обязательно указывать пути в кавычках!
Просто когда писал конфиг действовал по аналогии с путями для 'RunProgram' и всех вариантов 'AutoInstall'-ов!

gora 27-06-2009 15:57 1153114

Цитата:

Цитата pahan22
Получается в строках параметра 'Shortcut' не обязательно указывать пути в кавычках! »

Не всегда, в моем конкретном случае путь без пробелов
Код:

InstallPath="%WINDIR%\\ResPatch"
вот я и не поставил кавычек.

Pozia 28-06-2009 19:35 1153987

gora, хочу создать SFX который бы разом создавал на рабочем столе ярлыки на нужные мне проги. Файл конфигурации такой:

Код:

;!@Install@!UTF-8!
Shortcut="D,{ACDSeeSR.exe},{},{},{Смотрелка фото},{ACDSeeSR},{c:\\Program Files\\ACD Systems\\ACDSee\\11.0\\},{c:\\Program Files\\ACD Systems\\ACDSee\\11.0\\ACDSeeSR.exe},{0}"
;!@InstallEnd@!

но ничего не получается. В 7zip архив запаковываю мелкий файл. Делаю кнопкой sfx архив. Запускаю его и выскакивает сообщение что setup.exe не найден. Что я не так делаю?

Drongo 28-06-2009 20:01 1154014

Цитата:

Цитата Pozia
Код:

Shortcut="D,{Укажи полный путь к исполнимому файлв ACDSeeSR.exe}, ...
»

Например:
Код:

Shortcut="D,{%ProgramFiles%\\ACDSeeSR\\ACDSeeSR.exe}

Pozia 28-06-2009 20:31 1154036

Drongo, gora, разобрался. Без строки в файле конфигурации RunProgram="hidcon:run.cmd и выскакивала ошибка. С ней работает. Пришлочь запокавать пустой run.cmd. Но это не принципиально.

Иконки создаются, что хорошо. Но они создаются даже если по указанному пути нет установленной программы. Можно ли сделать так, чтобы производилась проверка наличия программы по указанному пути, и если она есть то только тогда создавался ярлык?

gora 28-06-2009 20:34 1154042

Цитата:

Цитата Pozia
Запускаю его и выскакивает сообщение что setup.exe не найден. Что я не так делаю »

Добавьте какую нибудь холостую команду запуска, например:
Код:

RunProgram="hidcon:cmd /c Echo"
и сообщения не будет.

Dmitry_K 28-06-2009 21:07 1154080

Цитата:

Цитата Pozia
Можно ли сделать так, чтобы производилась проверка наличия программы по указанному пути, и если она есть то только тогда создавался ярлык? »

средствами самого модуля нельзя, но можно воспользоваться одной из программ на этой страничке и прикрутить ее к модулю:
Код:

RunProgram="hidcon:cmd /c if exist путь_к_программе команда_на_создание_ярлыка"

gora 28-06-2009 21:13 1154091

Цитата:

Цитата Pozia
Можно ли сделать так, чтобы производилась проверка наличия программы по указанному пути, и если она есть то только тогда создавался ярлык? »

Сам модуль не поддерживает условных операторов, но можно использовать .bat файл и рекурсивный запуск 7z SFX архива. Пример:
Файл конфигурации:
Код:

;!@Install@!UTF-8!
SetEnvironment="SFX=%TMP%\\%%M"
RunProgram="hidcon:cmd /c copy \"%%S\\%%M\" \"%TMP%\\\""
RunProgram="hidcon:check.bat"
AutoInstall1="hidcon:cmd /c Echo"
Shortcut1="D,{\"%ProgramFiles%\\ACD Systems\\ACDSee\\11.0\\ACDSeeSR.exe\"},{},{},{Смотрелка фото},{ACDSeeSR},{\"%ProgramFiles%\\ACD Systems\\ACDSee\\11.0\\\"},{\"%ProgramFiles%\\ACD Systems\\ACDSee\\11.0\\ACDSeeSR.exe\"}"
;!@InstallEnd@!

Файл check.bat:
Код:

If Exist "%ProgramFiles%\ACD Systems\ACDSee\11.0\ACDSeeSR.exe" "%SFX%" -ai1 -sd1
exit

PS Хотя можно и без .bat файла :), попробуйте
Код:

;!@Install@!UTF-8!
RunProgram="hidcon:cmd /c copy \"%%S\\%%M\" \"%TMP%\\\""
RunProgram="hidcon:cmd /c If Exist \"%ProgramFiles%\\ACD Systems\\ACDSee\\11.0\\ACDSeeSR.exe\" \"%TMP%\\%%M\" -ai1 -sd1"
AutoInstall1="hidcon:cmd /c Echo"
Shortcut1="D,{\"%ProgramFiles%\\ACD Systems\\ACDSee\\11.0\\ACDSeeSR.exe\"},{},{},{Смотрелка фото},{ACDSeeSR},{\"%ProgramFiles%\\ACD Systems\\ACDSee\\11.0\\\"},{\"%ProgramFiles%\\ACD Systems\\ACDSee\\11.0\\ACDSeeSR.exe\"}"
;!@InstallEnd@!


Pozia 28-06-2009 22:26 1154166

gora, не совсем получается. Во первых иконка не появляется на ярлык по вашему файлу кофигурации. Подправил чуть и все равно нет. Вот что получил:

Код:

;!@Install@!UTF-8!
GUIMode="2"
OverwriteMode="0"

RunProgram="hidcon:cmd /c copy \"%%S\\%%M\" \"%TMP%\\\""
RunProgram="hidcon:cmd /c If Exist \"%ProgramFiles%\\ACD Systems\\ACDSee\\11.0\\ACDSeeSR.exe\" \"%TMP%\\%%M\" -ai1 -sd1"
AutoInstall1="hidcon:cmd /c Echo"
Shortcut1="D,{\"%ProgramFiles%\\ACD Systems\\ACDSee\\11.0\\ACDSeeSR.exe\"},{},{},{Смотрелка фото},{ACDSeeSR},{\"%ProgramFiles%\\ACD Systems\\ACDSee\\11.0\\\"},{\"%ProgramFiles%\\ACD Systems\\ACDSee\\11.0\\ACDSeeSR.exe\"},{0}"

RunProgram="hidcon:cmd /c copy \"%%S\\%%M\" \"%TMP%\\\""
RunProgram="hidcon:cmd /c If Exist \"%ProgramFiles%\\Acronis\\TrueImageHome\\TrueImage.exe\" \"%TMP%\\%%M\" -ai2 -sd2"
AutoInstall2="hidcon:cmd /c Echo"
Shortcut2="D,{\"%ProgramFiles%\\Acronis\\TrueImageHome\\TrueImage.exe\"},{},{},{Архив системы},{TrueImage},{\"%ProgramFiles%\\Acronis\\TrueImageHome\\\"},{\"%ProgramFiles%\\Acronis\\TrueImageHome\\TrueImage.exe\"},{0}"

;!@InstallEnd@!

Правильно ли я сделал для двух программ по аналогии? Еще заметил что в свойствах ярлыка в поле Объект и Рабочая папка адрес заключен в двойные кавычки "". Почему?

gora 29-06-2009 00:03 1154257

Pozia, с ярлыками я недоглядел. Немного упростил и сделал на три ярлыка, дальше по аналогии.
Код:

;!@Install@!UTF-8!
SetEnvironment="PathInst1=%ProgramFiles%\\ACD Systems\\ACDSee\\11.0"
SetEnvironment="PathInst2=%ProgramFiles%\\Acronis\\TrueImageHome"
SetEnvironment="PathInst3=%ProgramFiles%\\7-Zip"

RunProgram="hidcon:cmd /c If Exist \"%PathInst1%\\ACDSeeSR.exe\" \"%%S\\%%M\" -ai1"
RunProgram="hidcon:cmd /c If Exist \"%PathInst2%\\TrueImage.exe\" \"%%S\\%%M\" -ai2"
RunProgram="hidcon:cmd /c If Exist \"%PathInst3%\\7zFM.exe\" \"%%S\\%%M\" -ai3"

AutoInstall1="hidcon:cmd /c Echo"
AutoInstall2="hidcon:cmd /c Echo"
AutoInstall3="hidcon:cmd /c Echo"

Shortcut1="D,{%PathInst1%\\ACDSeeSR.exe},{},{},{Смотрелка фото},{ACDSeeSR},{%PathInst1%}"
Shortcut2="D,{%PathInst2%\\TrueImage.exe},{},{},{Архив системы},{TrueImage},{%PathInst2%}"
Shortcut3="D,{%PathInst3%\\7zFM.exe},{},{},{Архиватор},{7-Zip},{%PathInst3%}"

GUIMode="2"
;!@InstallEnd@!

Параметры {icon_file},{icon_index} указывать необязательно, если иконка должна быть от файла из параметра {src_file_path}. Вот если иконка должна быть от другого файла, то параметры {icon_file},{icon_index} нужно указывать.

Pozia 29-06-2009 00:07 1154264

gora, огромное спасибо. Очень все элегантно и красиво упрастили. Легко и наглядно дальше редактировать.

Цитата:

Цитата gora
Параметры {icon_file},{icon_index} указывать необязательно, если иконка должна быть от файла из параметра {src_file_path}. Вот если иконка должна быть от другого файла, то параметры {icon_file},{icon_index} нужно указывать. »

а вот это не могу понять как правильно записать. Можно еще примерчик?

gora 29-06-2009 08:48 1154393

Цитата:

Цитата Pozia
Можно еще примерчик? »

Добавьте в тот же файл
Код:

...
SetEnvironment="PathInst4=%ProgramFiles%\\Total Commander"

...
RunProgram="hidcon:cmd /c If Exist \"%PathInst4%\\Totalcmd.exe\" \"%%S\\%%M\" -ai4"

...
AutoInstall4="hidcon:cmd /c Echo"

...
Shortcut4="D,{%PathInst4%\\Totalcmd.exe},{},{},{Менеджер файлов},{Total Commander},{%PathInst4%},{%PathInst4%\\WCMICONS.DLL},{47}"

Создастся ярлык на столе для ТС, но иконка будет взята из файла WCMICONS.DLL под номером 47 (бинокль)

Pozia 29-06-2009 18:34 1154858

gora, теперь все хорошо, разобрался. Только маленькое замечание кто будет делать ярлыки таким образом. Нумеровать нужно с нуля, а то ошибка выскакивает.

Pozia 29-06-2009 22:09 1155027

gora, вот сделал такой конфиг:

Код:

;!@Install@!UTF-8!

RunProgram="hidcon:run.cmd"

SetEnvironment="PathInst0=%programfiles%\\ACD Systems\\ACDSee\\11.0\\"
SetEnvironment="PathInst1=%programfiles%\\FSViewer\\"
SetEnvironment="PathInst2=%programfiles%\\Light Alloy\\"
SetEnvironment="PathInst3=%programfiles%\\CyberLink\\PowerDVD8\\"
SetEnvironment="PathInst4=%programfiles%\\TagRename\\"
SetEnvironment="PathInst5=%programfiles%\\VLC\\"
SetEnvironment="PathInst6=%programfiles%\\Wavosaur\\"
SetEnvironment="PathInst7=%programfiles%\\Winamp\\"
SetEnvironment="PathInst8=%programfiles%\\ABBYY FineReader 9.0\\"
SetEnvironment="PathInst9=%programfiles%\\Advanced Grapher\\"
SetEnvironment="PathInst10=%programfiles%\\AutoCAD 2007\\"
SetEnvironment="PathInst11=%programfiles%\\Mathcad 14\\"
SetEnvironment="PathInst12=%programfiles%\\NumLock Calculator\\"

RunProgram="hidcon:cmd /c If Exist \"%PathInst0%\\ACDSee11.exe\"                        \"%%S\\%%M\" -ai0"
RunProgram="hidcon:cmd /c If Exist \"%PathInst1%\\FSViewer.exe\"                        \"%%S\\%%M\" -ai1"
RunProgram="hidcon:cmd /c If Exist \"%PathInst2%\\LA.exe\"                                \"%%S\\%%M\" -ai2"
RunProgram="hidcon:cmd /c If Exist \"%PathInst3%\\PowerDVD8.exe\"                        \"%%S\\%%M\" -ai3"
RunProgram="hidcon:cmd /c If Exist \"%PathInst4%\\TagRename.exe\"                        \"%%S\\%%M\" -ai4"
RunProgram="hidcon:cmd /c If Exist \"%PathInst5%\\vlc.exe\"                                \"%%S\\%%M\" -ai5"
RunProgram="hidcon:cmd /c If Exist \"%PathInst6%\\Wavosaur.exe\"                        \"%%S\\%%M\" -ai6"
RunProgram="hidcon:cmd /c If Exist \"%PathInst7%\\Winamp.exe\"                                \"%%S\\%%M\" -ai7"
RunProgram="hidcon:cmd /c If Exist \"%PathInst8%\\FineReader.exe\"                        \"%%S\\%%M\" -ai8"
RunProgram="hidcon:cmd /c If Exist \"%PathInst9%\\AGrapher.exe\"                        \"%%S\\%%M\" -ai9"
RunProgram="hidcon:cmd /c If Exist \"%PathInst10%\\acad.exe\"                                \"%%S\\%%M\" -ai10"
RunProgram="hidcon:cmd /c If Exist \"%PathInst11%\\mathcad.exe\"                        \"%%S\\%%M\" -ai11"
RunProgram="hidcon:cmd /c If Exist \"%PathInst12%\\NLCalc.exe\"                                \"%%S\\%%M\" -ai12"

AutoInstall0="hidcon:cmd /c Echo"
AutoInstall1="hidcon:cmd /c Echo"
AutoInstall2="hidcon:cmd /c Echo"
AutoInstall3="hidcon:cmd /c Echo"
AutoInstall4="hidcon:cmd /c Echo"
AutoInstall5="hidcon:cmd /c Echo"
AutoInstall6="hidcon:cmd /c Echo"
AutoInstall7="hidcon:cmd /c Echo"
AutoInstall8="hidcon:cmd /c Echo"
AutoInstall9="hidcon:cmd /c Echo"
AutoInstall10="hidcon:cmd /c Echo"
AutoInstall11="hidcon:cmd /c Echo"
AutoInstall12="hidcon:cmd /c Echo"

Shortcut0="D,{%PathInst0%\\ACDSee11.exe},{},{},{Просмотр, конвертация и редактирование фото},{ACDSee 11},{%PathInst0%},{%PathInst0%\\ACDSee11.exe},{0}"
Shortcut1="D,{%PathInst1%\\FSViewer.exe},{},{},{Просмотр, конвертация и редактирование фото},{FastStone Image Viewer 3.2},{%PathInst1%},{%PathInst1%\\FSViewer.exe},{0}"
Shortcut2="D,{%PathInst2%\\LA.exe},{},{},{Воспроизведение видео файлов AVI},{Light Alloy 4.4},{%PathInst2%},{%PathInst2%\\LA.exe},{0}"
Shortcut3="D,{%PathInst3%\\PowerDVD8.exe},{},{},{Воспроизведение видео файлов DVD},{PowerDVD 8},{%PathInst3%},{%PathInst3%\\PowerDVD8.exe},{0}"
Shortcut4="D,{%PathInst4%\\TagRename.exe},{},{},{Создание и сортировка больших массивов музыкальных медиафайлов},{TagRename 3.4.5},{%PathInst4%},{%PathInst4%\\TagRename.exe},{0}"
Shortcut5="D,{%PathInst5%\\vlc.exe},{},{},{Воспроизведение любых видео файлов без кодеков},{VLC media player 0.9.4},{%PathInst5%},{%PathInst5%\\vlc.exe},{0}"
Shortcut6="D,{%PathInst6%\\Wavosaur.exe},{},{},{Редактирование, обрезка аудио файлов},{Wavosaur 1.0.3.0},{%PathInst6%},{%PathInst6%\\Wavosaur.exe},{0}"
Shortcut7="D,{%PathInst7%\\Winamp.exe},{},{},{Воспроизведение аудио файлов},{Winamp 5.541},{%PathInst7%},{%PathInst7%\\Winamp.exe},{0}"
Shortcut8="D,{%PathInst8%\\FineReader.exe},{},{},{Перевод бумажных документов, PDF-файлов и цифровых фотографий в редактируемый электронный формат с полным сохранением внешнего вида},{ABBYY FineReader PE 9},{%PathInst8%},{%PathInst8%\\FineReader.exe},{0}"
Shortcut9="D,{%PathInst9%\\AGrapher.exe},{},{},{Построение графиков (Y(x), X(y), полярные координаты, параметрические уравнения, графики таблиц, неявные функции (уравнения) и неравенства) и их анализ},{Advanced Grapher 2.11},{%PathInst9%},{%PathInst9%\\AGrapher.exe},{0}"
Shortcut10="D,{%PathInst10%\\acad.exe},{},{},{Система автоматизированного проектирования и выпуска рабочей конструкторской и проектной документации},{AutoCAD 2007},{%PathInst10%},{%PathInst10%\\acad.exe},{0}"
Shortcut11="D,{%PathInst11%\\mathcad.exe},{},{},{Многофункциональная интерактивная вычислительная система, позволяющая решать аналитически и численно большое количество математических задач не прибегая к программированию},{Mathcad 14},{%PathInst11%},{%PathInst11%\\mathcad.exe},{0}"
Shortcut12="D,{%PathInst12%\\NLCalc.exe},{},{},{Мощный калькулятор. Вызывается при нажатии кнопки ScrollLock},{NumLock Calculator 3.3},{%PathInst12%},{%PathInst12%\\NLCalc.exe},{0}"

GUIMode="2"
;!@InstallEnd@!

почему то создает только первые 10 ярлыков. Я неправильно записал или это ограничения конфига?

gora 29-06-2009 22:15 1155031

Цитата:

Цитата Pozia
почему то создает только первые 10 ярлыков. Я неправильно записал или это ограничения конфига? »

Цитата:

Цитата справка по модулю
AutoInstallX="command_auto_install"

Где X - литера варианта. В качестве литеры X допустимы [0...9], [A...Z], [a...z]. Команда для исполнения (множественная).
Вы можете указать в файле конфигурации до 62 вариантов автоматических установок....

Цифры кончились, используйте буквы.

MKN 04-07-2009 18:22 1158998

gora,
Нет ли каких замечаний и нюансов по работе SFX модуля в Windows 7 ? И будет ли как то решаться проблема с запуском из модуля программ, образующих несколько дочерних процессов, "сбивающих" работу модуля ?

Habetdin 04-07-2009 20:40 1159059

MKN, вопрос не к gora, а к Oleg_Sch ;)

Oleg_Sch 05-07-2009 05:10 1159210

Цитата:

Цитата Habetdin
MKN, вопрос не к gora, а к Oleg_Sch »

Верно. Вопрос ко мне, а поздравления с днем рождения - к нему ;)
Цитата:

Цитата MKN
Нет ли каких замечаний и нюансов по работе SFX модуля в Windows 7 »

Сам пока не тестировал, но некоторые товарищи уже опробовали. Поверхностное тестирование пока никаких нюансов не выявило.
Цитата:

Цитата MKN
И будет ли как то решаться проблема с запуском из модуля программ, образующих несколько дочерних процессов, "сбивающих" работу модуля ? »

Будет. Вопрос "когда" :(
Пока не хочу ничего обещать.

Banzaika 10-07-2009 18:45 1164098

Здравствуйте ценители 7z, отдельное "КУ!" Oleg_Sch :)

Давно наблюдаю сам архиватор и его мутации :)
...очень нравится гибкость и простота sfx модуля, давно пользую,
но к сожалению наступил на граблю -AutoInstallX не подходит для установки по сети.

Мне необходимо запускать exe с различными ключами,
cmd себя ведет хаотично при запуске из сетевой папки,
для этого я сам exe сжал 7z (тогда мой инсталлятор сначала распаковывается во временную папку, и запускается, но локально) и в пути дописывал ключи, что ужасно неудобно.
Возможно ли в sfx добавить кнопок для исполнения разных сценариев установки?



(не пинайте больно, пару часов убил на поиск по forum.oszone.net, ответа не нашел, мои соболезнования администрации форума)

Oleg_Sch 11-07-2009 02:06 1164409

.
Цитата:

Цитата Banzaika
но к сожалению наступил на граблю -AutoInstallX не подходит для установки по сети. »
...
cmd себя ведет хаотично при запуске из сетевой папки,

Сетевой запуск проверю. Если можно, поподробнее о "хаотичности" в ПМ, здесь уже отпишемся по результату. Просто смущает "cmd". Если именно в нем проблема, здесь я бессилен.

Цитата:

Цитата Banzaika
Возможно ли в sfx добавить кнопок для исполнения разных сценариев установки? »

Это уже давно в идеях и в ToDo. Сроки, даже примерные, не могу сказать :(

Banzaika 13-07-2009 18:10 1166590

Я по опыту могу сказать что проблема самого cmd.
Причем чтоб интереснее было дядя Билл еще и локальные/системные переменные разными в разных версиях windows сдалал, а чтобы страшнее, так это по факту cmd обычно ругается, что не умеет работать с сетевыми путями, но если случайно заработает, то лезет по путям "переменных среды" и исполняет с виду добрый батник скажем на %SystemRoot% убивая систему.
Вобщем беда всех админов, за это и плюются на .bat хотя формат добрый и простой до нельзя.

За кнопки оч.оч.жаль...
Хотя бы 3 "статичные", но чтобы на них можно было сослать AutoInstallX
(я жешь поэтому и хотел уйти от ключей на графическую оболочку что косяк с cmd)

usbusb 22-07-2009 13:37 1174579

Hello, Oleg Scherbakov! I'm a fan of your 7zsfx module. Thanks for your excellent work!

But I have a little suggestion that could you release a version which uses standard resource for drawing the dialog? I have to admit that it allows to reduce the module size significantly by using MSVCRT.dll, but when I want to personalize the form (for example, adding a DIY Logo bitmap into the window), how to realize it? I think the size of the SFX is not always the most important thing, and I believe that so many people are not satisfied with changing the icon only.

So could you please try to release a version which uses standard resource for drawing the dialog? I'm looking forward to your reply, and wish you good luck!

Здравствуйте, Oleg Scherbakov! Я поклонник вашего 7zsfx модуля. Благодарим Вас за отличную работу!

Но у меня есть несколько предложений, которые могли бы Вы выпустить версию, которая использует стандартные ресурс для рисования диалог? Я должен признаться, что она позволяет уменьшить размер модуля значительно используя Msvcrt.dll, но когда я хочу настроить форму (например, добавить логотип DIY растровых в окно), как его реализовать? Я думаю, что численный состав SFX не всегда самая важная вещь, и я считаю, что так много людей не удовлетворены тем, изменив только значок.

Так не могли бы вы попробуйте выпустить версию, которая использует стандартные ресурс для рисования диалог? Я с нетерпением ожидаем вашего ответа, и желаю вам удачи!


К сожалению, я не знаю русского ...
перевод Google ^_^

gora 22-07-2009 14:09 1174613

usbusb, you know about existence of the module with dialogs 7ZSD_LZMA_Dialogs.sfx?
English forum of the module here.

usbusb, Вы знаете о существовании модуля с диалогами 7ZSD_LZMA_Dialogs.sfx?
Англоязычный форум модуля здесь.

usbusb 22-07-2009 14:49 1174646

It looks very cool!
Thank you very much!

Dj_DeN83 23-07-2009 16:17 1175687

Извините может Я не суда. Как из 7z SXF archives сделать автоматический архив

Petya V4sechkin 23-07-2009 16:19 1175690

Цитата:

Цитата Dj_DeN83
Как из 7z SXF archives сделать автоматический архив

Создание SFX архива

Dj_DeN83 23-07-2009 16:48 1175712

Точнее мне вот так надо

gora 23-07-2009 16:57 1175720

Цитата:

Цитата Dj_DeN83
мне вот так надо »

Прочтите здесь, и все поймете:
Цитата:

Цитата Oleg_Sch
Домашняя страница: http://7zsfx.info »

Там есть примеры с картинками, можете использовать их для тренировки.

Dj_DeN83 23-07-2009 18:12 1175806

в какой проге написать txt файл

gora 23-07-2009 18:19 1175814

Цитата:

Цитата Dj_DeN83
в какой проге написать txt файл »

Можно в Блокноте. Сохранять обязательно в кодировке UTF-8.

Dj_DeN83 23-07-2009 18:40 1175838

Почему при замени иконки появлается ошибка

gora 23-07-2009 19:09 1175859

Dj_DeN83, причин может быть несколько. Нужны подробности:
- где меняется иконка, в модуле или в готовом SFX архиве?
- чем менялась иконка?
- сжат ли модуль?
- если сжат, то когда? До замены иконки или после?
- без смены иконки есть ошибка?
- размер 7z архива? При очень больших размерах, с иконками могут быть проблемы...
- приведите файл конфигурации в тегах code
- подробно последовательность ваших действий?

Dj_DeN83 23-07-2009 19:16 1175866

1. В готовом SFX архиве
2. Менается через ResHacker или Restorator 2007
3. Пробовал и сжимать и не сжимать

Лучше подскажи как удобнее сжимать или как?

gora 23-07-2009 19:32 1175881

Цитата:

Цитата Dj_DeN83
как удобнее сжимать или как? »

Я отказался от сжатия совсем из-за проблем с ложными срабатываниями антивирусов и Вам советую.

Dj_DeN83 23-07-2009 19:40 1175888

Никак не меняется ошибка так и есть

gora 23-07-2009 19:45 1175891

Dj_DeN83, см. пост 815 и все опишите очень подробно и не пропускаю пункты.

Dj_DeN83 23-07-2009 19:52 1175899

1. Создаю 7р архив без сжатия
2. Беру готовый архив Themes.7z + Themes.txt и с помошью кнопки 7z SFX archive tool #12.4 создаю SFX архив Themes.exe-этот работает
3. Открываю Restorator 2007 и меняю иконку на свою после это го запускаю архив и "ОШИБКА"

gora 23-07-2009 20:03 1175910

Цитата:

Цитата Dj_DeN83
с помошью кнопки 7z SFX archive tool #12.4 создаю SFX архив »

Цитата:

Цитата Dj_DeN83
Открываю Restorator 2007 и меняю иконку »

Второе действие лишнее. Кнопка сама может заменить иконку при создании SFX архива. Нужно выделить три файла Themes.7z + Themes.txt + Themes.ico (имя файла иконки может быть любое) и нажать кнопку.

Менять иконку нужно в модуле до сборки SFX архива, а не в готовом SFX архиве, отсюда и ошибка.

Dj_DeN83 23-07-2009 20:08 1175916

gora, Огромное человеческое спасибо, что смог разобратся мне всё идет :yahoo: :up

Dj_DeN83 23-07-2009 23:09 1176039

gora, Скажи как проше поменять инфо в готовом файле

gora 23-07-2009 23:17 1176045

Dj_DeN83, если речь идет о "копирайтах" в SFX архиве созданном кнопкой, то только пересобрав SFX архив, можно кнопкой же. Подробнее читайте в описании кнопки (ссылка в подписи).

Dj_DeN83 24-07-2009 00:32 1176086

Цитата:

Цитата gora
Dj_DeN83, если речь идет о "копирайтах" в SFX архиве созданном кнопкой, то только пересобрав SFX архив, можно кнопкой же. Подробнее читайте в описании кнопки (ссылка в подписи). »

Всё немного разобрался буду дальше с другими файлами пробовать и с новыми названиями. Спасибо gora

usbusb 26-07-2009 20:55 1178364

The "7ZSD_LZMA_Dialogs.sfx" in 1.3.0 version is so cool, but it doesn't support modifying the "Extracting Progress" dialog. Anyone can help, please?

gora 26-07-2009 21:57 1178412

Цитата:

Цитата usbusb
but it doesn't support modifying the "Extracting Progress" dialog. »

Add dialog 2004 of an attachment.

usbusb 27-07-2009 15:06 1178986

Got it! Thanks, gora. ^_^

Das Betrunkene Pferd 30-07-2009 22:29 1181930

Oleg_Sch, сталкивался с глюком, когда модуль с параметром Delete не удалял файл потому, что данный файл был занят другим приложением, запущенным самим модулём (хотя RunProgram шёл до Delete). В качестве примера, можно посмотреть, хотя бы, аддон Nero 6. В виду этого хотелось бы увидеть в модуле такую „хотелку”:
— какой-нубудь параметр DeleteAfter (название чисто для примера), который отвечал бы за удаление папки или файла после всех действий выполняемых модулём.

Думаю, что это будет полезно не только мне.

gora 30-07-2009 22:42 1181941

Цитата:

Цитата Das Betrunkene Pferd
сталкивался с глюком, когда модуль с параметром Delete не удалял файл потому, что данный файл был занят другим приложением, запущенным самим модулём »

И в чем глюк? Нормальная реакция системы на попытку удалить "занятый" файл. Для реализации вашего предложения нужно будет встроить в модуль как минимум Unlocker...
Цитата:

Цитата Das Betrunkene Pferd
В качестве примера, можно посмотреть, хотя бы, аддон Nero 6. »

Нужно учитывать такие тонкости работы системы и строить аддон соответствующим образом. Для примера можете посмотреть мой вариант файла конфигурации для упомянутого аддона, там этих проблем нет.
Цитата:

Цитата Das Betrunkene Pferd
хотя RunProgram шёл до Delete »

Параметр Delete всегда выполняется после всех RunProgram и большинства других параметров независимо от расположения параметра Delete в файле конфигурации.

Das Betrunkene Pferd 30-07-2009 22:57 1181958

Цитата:

Цитата gora
И в чем глюк? »

Глюк в том, что по описанию модуля
Цитата:

Цитата gora
Параметр Delete всегда выполняется после всех RunProgram и большинства других параметров независимо от расположения параметра Delete в файле конфигурации. »

Оставшийся файл, кроме самого модуля, ничем не использовался и не используется.
Цитата:

Цитата gora
Нужно учитывать такие тонкости работы системы и строить аддон соответствующим образом. »

Пока приходится пользоваться конструкциями типа:
Код:

RunProgram="hidcon:cmd /c del /f /q ......"

Oleg_Sch 01-08-2009 01:40 1182829

Цитата:

Цитата Das Betrunkene Pferd
не удалял файл потому, что данный файл был занят другим приложением, запущенным самим модулём »

Снова тема "дочерних" процессов, поищите в ветке, она периодически всплывает. Решения пока нет. Все что можно было сказать про RunProgram & Delete, gora уже сказал.

MKN 01-08-2009 20:02 1183200

Цитата:

Цитата Oleg_Sch
Снова тема "дочерних" процессов »

А потому что появляется всё больше таких приложений с параллельно основному, запускаемыми процессами.
Я пока "выкручиваюсь", используя удержание основного процесса с помощью запуска cmd файла и "пары" - tasklist.exe и sleep.exe
Код:

@echo off
Имя основного процесса.exe
:ns_loop
tasklist /FI "Imagename eq Имя основного процесса.exe" /nh 2> nul | find /i "Имя основного процесса.exe" > nul
if errorlevel 1 (
  exit )
echo ......
sleep 1
goto ns_loop

Почему бы , хотя бы эксперементально, не внедрить этот метод в SFX модуль 7-Zip ?
Возможно есть и более изящные решения...

Oleg_Sch 02-08-2009 07:43 1183418

Цитата:

Цитата MKN
tasklist /FI "Imagename eq Имя основного процесса.exe" /nh 2> nul | find /i "Имя основного процесса.exe" > nul if errorlevel 1 ( »

Теоретически, не должно работать, т.к. "Имя основного процесса.exe" запустил другой процесс и "ушел".
Цитата:

tasklist /FI "Imagename eq Имя основного процесса.exe"
уже не должен его видеть. В тоже время "дочерний" выполняет свою работу, возможно с блокировкой файлов из архива.
Цитата:

Цитата MKN
Возможно есть и более изящные решения... »

Есть. Пока только в проектах :(

MKN 02-08-2009 19:23 1183741

Цитата:

Цитата Oleg_Sch
Теоретически, не должно работать »

В том то и дело , что работает. Как пример - инсталлер программы Nero 9, запускающий к основному, плюс ещё два процесса. Без этих ухищрений не возможно использовать полноценно SFX модуль с nero.
Наверное есть дочерние процессы, с которыми такой номер и не проходит, но мне пока не встречались...

ya158 06-08-2009 20:07 1187468

Создаю архив со следующими параметрами командной строки (архиватор 9.04):

-ssw -mmt2 -m0=BCJ2 -m1=LZMA2:d128m:fb128 -m2=LZMA2:d19:fb273 -m3=LZMA2:d19:fb273 -mb0:1 -mb0s1:2 -mb0s2:3

Далее делаю его SFX с помощью модифицированного SFX модуля. При запуске готового SFX-архива выдаёт:

7-zip 9.04 ошибка
7-zip: Метод не поддерживается.

Если вместо LZMA2 прописать LZMA, то всё нормально. Я так понял, что модифицированный SFX модуль не поддерживает LZMA2. Ожидается ли поддержка LZMA2?

gora 06-08-2009 20:34 1187497

Цитата:

Цитата ya158
модифицированный SFX модуль не поддерживает LZMA2. »

Да, пока не поддерживает.
Цитата:

Цитата ya158
Ожидается ли поддержка LZMA2? »

Ожидается. Сроки автор не озвучивает, ждемс.

PS
Знакомая ком. строка. ;)

SAOPP 08-08-2009 22:03 1189036

Олег, назрел такой вопрос, а могу ли я указывать таймер кнопки закрытия финиш-диалога, если конфиг только лишь распаковывает файлы в дирикторию где находится sfx? Равносильно так, как это показано в 6м примере справки. :cool:

Кстати, и вообще заинтересовало меня сейчас, можно ли в теории вообще цеплять на любую кнопку таймер?

gora 09-08-2009 20:31 1189590

Цитата:

Цитата SAOPP
могу ли я указывать таймер кнопки закрытия финиш-диалога, если конфиг только лишь распаковывает файлы »

Можете, добавьте в файл конфигурации холостую команду запуска и укажите в ней выдержку времени для таймера, например, так:
Код:

RunProgram="fm20:hidcon:cmd /c Echo"

Grisha SAN 13-08-2009 09:44 1192509

Вложений: 1
Хай, Олл.

Создал в ручную sfx-архив(Версия 1.3.0 Beta, сборка 1307).

Код:

;;!@Install@!UTF-8!
SetEnvironment="NameInf=Killcopy.inf"
RunProgram="hidcon:cmd /c copy %NameInf% %WINDIR%\\INF"
RunProgram="rundll32.exe advpack,LaunchINFSection %NameInf%,DefaultInstall,0"
RunProgram="hidcon:cmd /c del %NameInf% /q"
GUIMode="2"
;!@InstallEnd@!

Запускаю из c:\temp\killcopy, выдает ошибку, см. аттач. :(
Если запускаю c:\temp\, все нормально.
Кто нить может прокомментировать сиё поведение?

greg_b 14-08-2009 09:24 1193339

Grisha SAN, был аналогичный баг, поменяй %systemdrive%\temp на %winroot%\temp - отпадет часть проблем гарантировано.

Grisha SAN 14-08-2009 16:48 1193623

greg_b, был аналогичный баг, поменяй %systemdrive%\temp на %winroot%\temp - отпадет часть проблем гарантировано.
Хм... поменял не помогло, стал шаманить...
через пять минут доперло :)
Мешал файл в каталоге cmd.bat, на вишь вроде не катит ;) .
Oleg_Sch, будь добр объясни косяк ;) ?

Oleg_Sch 15-08-2009 17:23 1194253

Цитата:

Цитата Grisha SAN
Oleg_Sch, будь добр объясни косяк ? »

Кратко - модуль не телепат, чтобы угадать какой из двух cmd запустить и запускает первый нашедшийся.

Вариант 1. Не используем имена файлов уже присутствующих в системе.
Вариант 2. Указываем расширение в файле конфигурации (для Вашего случая .exe).
Вариант 3. Используем переменную %ComSpec%

Про последовательность поиска читаем http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx

Habetdin 16-08-2009 17:17 1194901

Цитата:

Цитата greg_b
поменяй %systemdrive%\temp на %winroot%\temp »

Может быть надо поменять на %windir%\temp ?

Deven 16-08-2009 22:06 1195149

Скажите пожалуйста каким ключом необходимо воспользоваться что бы распаковать инсталятор, и как им воспользоваться. Заранее спасибо. По обычному распаковывать не хочет.

greg_b 17-08-2009 09:38 1195398

Deven, это делается программкой 7z SFX Archive splitter - на выходе 3 файла - архив в формате 7z, скрипт и модуль sfx

SAOPP 17-08-2009 23:39 1196163

Deven, так же, если Вы являетесь пользователем Total Commader'а, рекомендую использовать "кнопку" от gora, все ссылки найдёте в шапке.

SAOPP 23-08-2009 14:29 1201074

Олег, баг репорт, возможно, или моя переработка времени над возможностью решения сего вопроса...

Имею следующую строчку в конфиге:
Код:

RunProgram="hidcon:fm20:cmd /c move /Y \"%%T\\file.ext\" \"%ProgramFiles%\\Folder of Destination\\\""
Файл не переносится.

Изменяю на:
Код:

RunProgram="hidcon:fm20:cmd /c move /Y \"%USERPROFILE%\\Мои документы\\file.ext\" \"%ProgramFiles%\\Folder of Destination\\\""
Файл не переносится*
*Это при том, что папка назначения, т.е. '%%T' равна '%USERPROFILE%\\Мои документы'.

Ещё раз изменяю на:
Код:

RunProgram="hidcon:fm20:cmd /c move /Y \"%USERPROFILE%\\Documents\\file.ext\" \"%ProgramFiles%\\Folder of Destination\\\""
Файл ПЕРЕНОСИТСЯ!**
**Как видно из последней строчки, изменения касаются всего лишь названия папки, в Vista у директории 'Мои документы' есть альяз 'Documents', вернее будет сказать наоборот, папка 'Мои Документы' это ярлык на реальную локальную папку 'Documents'. По идеи в XP с первым примером: '%%T\\file.ext' командная строка обработается правильно (сейчас нету возможности проверить). Но как быть в ситуации которую я описал, чей это баг, модуля, который возможно не видит пути при указании '%%T' поскольку в папке по назначению указывается "не реальна" директория а ярлык, либо же это косяк конфига например и кодировки что ли, но ведь распаковка в эту папку (InstallPath="%USERPROFILE%\\Мои документы") происходит нормально(!), а вот с переносом файла есть проблемы. Может быть я чего-то пропустил? :)

SAOPP 23-08-2009 15:28 1201125

C Жорой aka gora немного поковыряли, с лючом /k консоль говорит следующее:
Код:

Отказано в доступе.

C:\Users\SAOPP\Мои документы>

И это при том, что распаковка в эту папку (см. выше) работает прекрасно, почему консоль не получает доступа к ней же, пока для меня остаётся загадкой.

greg_b 23-08-2009 18:46 1201298

SAOPP, Vista? Если у тебя при установке админ без пароля - в защищенную папку нельзя сделать запись - это ж Vista

SAOPP 28-08-2009 16:58 1205641

Да без пароля Vista/7. Но ты видел же каким образом можно это сделадать ;)

Ruboard 14-09-2009 02:49 1218288

Народ, пытаюсь копировать папку
RunProgram="hidcon:cmd /c copy 12\ \"%ProgramFiles%\\EmEditor\\PlugIns""
на WinXP x32 и win 7 x32 отлично копирует, а в win7 x64 никак не хочет, хотя по одному файлу спокойно копирует.

Далее пытаюсь копировать через cmd, если его просто запустить то все копируется как надо, но через конфиг:
RunProgram="hidcon:cmd install.cmd"
ничего не выходит...
:(

greg_b 14-09-2009 08:05 1218360

Ruboard, пользуйтесь xcopy/xcopy32 - много умнее утилита

Ruboard 14-09-2009 15:06 1218690

greg_b,
Пробовал так
RunProgram="hidcon:cmd /c xcopy 12\ \"%ProgramFiles%\\EmEditor\\PlugIns\""
и так
RunProgram="hidcon:cmd /c xcopy32 12\ \"%ProgramFiles%\\EmEditor\\PlugIns\""
толку никакого.

Но почему это

RunProgram="hidcon:cmd install.cmd"

не работает??

greg_b 14-09-2009 15:28 1218713

Ruboard, сразу не разглядел, надо:

RunProgram="hidcon:cmd /c xcopy /S 12\ \"%ProgramFiles%\\EmEditor\\PlugIns\""

Часть плагинов по подпапкам лежит, а подпапки надо создать в первую очередь, потому и не копирует, ну и путь от и куда

Ruboard 14-09-2009 15:42 1218732

Цитата:

Цитата greg_b
...подпапки надо создать в первую очередь, потому и не копирует »

Да, правильно, до меня дошло, вероятно путь к папке program files нужен другой, т.к если указывать %ProgramFiles% файлы копируются в program files (x86) где нет программы т.к emeditor x64 :)
А нельзя ли насильно их впихнуть в каталог?

greg_b 14-09-2009 16:20 1218780

Ruboard, 32 bit-a к себе - в x86

gora 14-09-2009 16:31 1218791

Цитата:

Цитата greg_b
RunProgram="hidcon:cmd /c xcopy /S 12\ \"%ProgramFiles%\\EmEditor\\PlugIns\"" »

Слеш выделенный цветом, должен быть двойной и cmd /c в этой строке не требуется. Если нужно скопировать содержимое папки 12 без самой папки, то попробуйте так:
Код:

RunProgram="hidcon:xcopy 12\\* \"%ProgramFiles%\\EmEditor\\PlugIns\" /s /e /i /y"
Путь к редактору можете поправить сами, может он у Вас такой (%ProgramFiles (x86)%\\EmEditor)?

Ruboard 14-09-2009 17:32 1218842

greg_b, gora,
Вобщем все вдруг стало копироватся нормально после смены sfx, просто какие-то глюки с sfx были я в конфиге пишу одно а он мне выдает совсем другое и т.д. пришлось несколько sfx модулей поменять прежде чем все стабилизировалось.
Как в будушем избавится от таких глюков, модуль где-то кэширует свои настройки??

Oleg_Sch 15-09-2009 16:11 1219548

Цитата:

Цитата Ruboard
Как в будушем избавится от таких глюков, модуль где-то кэширует свои настройки?? »

Нигде, никак. Подробнее без собственных проверок ничего не скажу.

To All

http://7zsfx.info/files/7zsd_140_1501.7z
Цитата:

1.4 alpha (сборка 1501) 07.09.09

# Использован исходный код 7-Zip версии 9.07 beta от 29 августа 2009 г.
* Некорректная работа ключа '-sfxconfig' с большими файлами конфигурации
* Изменены (обновлены) диалоги в модуле 7ZSD_LZMA_Dialogs
+ Модуль с поддержкой метода сжатия LZMA2
+ 64-х битные версии всех модулей
+ Все модули двуязычные (русский/английский) с автоматическим выбором языка в зависимости от региональных настроек системы
+ Префикс 'forcenowait' в конфигурационном файле
http://7zsfx.info/files/7zsd_130_1501.7z
Цитата:

1.3.0 stable (сборка 1501) 07.09.09

* Некорректная работа ключа '-sfxconfig' с большими файлами конфигурации
+ Переменная модуля %%M - имя SFX архива без пути
+ Флаг 8 'OverwriteMode' для пропуска файлов заблокированных системой
+ Разбор переменных в текстах диалогов
+ Возможность изменения параметров файла конфигурации из командной строки
+ Возможность замены диалогов модуля
+ Использование изображений и RTF в "подмененных" диалогах
+ Параметр 'ShortcutX' в конфигурационном файле
+ Параметр 'DeleteX' в конфигурационном файле
+ Префиксы 'shcX', 'delX' в конфигурационном файле
свежие версии модулей.

Надеюсь на помощь gora в обновлении сайта, пока только прямые ссылки.

P.S. Если кому-то нужны ТЕСТОВЫЕ 64-х битные версии модуля, обращайтесь в ПМ, пока не пройдет хотя бы мало-мальское тестирование, выкладывать не буду.

MKN 15-09-2009 18:40 1219631

Oleg_Sch,
А как обстановка с дочерними процессами, мешающими работе модуля ?

ya158 15-09-2009 20:30 1219723

Oleg_Sch,
Насколько я понял 1.3.0 stable (сборка 1501) 07.09.09 не поддерживает метод сжатия LZMA2?

Habetdin 15-09-2009 20:56 1219744

Oleg_Sch, а когда будет обновление Страницы загрузок и шапки темы? ;)
ya158, правильно поняли :)

Oleg_Sch 16-09-2009 12:08 1220107

Цитата:

Цитата Habetdin
Oleg_Sch, а когда будет обновление Страницы загрузок и шапки темы? »

Надеюсь, в ближайшие 2-3 дня. Но будут только 32-х битные версии.
Цитата:

Цитата ya158
Насколько я понял 1.3.0 stable (сборка 1501) 07.09.09 не поддерживает метод сжатия LZMA2? »

Нет. И не будет. Ветка заморожена, только исправление багов.
Цитата:

Цитата MKN
А как обстановка с дочерними процессами, мешающими работе модуля ? »

Наработки есть, но про сроки реализации ничего говорить не буду.

Oleg_Sch 19-09-2009 02:59 1222264

Шапка и сайт обновлены.
О изменениях здесь или в истории на сайте.

За обновления всего, что не касается самих модулей, все благодарности gora

Neiro74 23-09-2009 10:52 1225362

Начало разговора было здесь.
Речь шла об автоматической распаковке больших архивов.
Посмотрев предложенный gora Loader пришел к выводу, что консольный вид распаковки без индикации процесса не совсем устраивает.
Закончил на том, что вместо консольного экзешника впаял в Loader гуевый - индикация на все 100%. Даже слишком. Собственно и получается, что для того, чтобы с графическим интерфейсом эту индикацию сделать необходимо править исходный код 7zG.exe - чтобы изменить вид распаковки (сделать, например как с использованием 7zSD.sfx).
Или это я чересчур усложняю?

gora 23-09-2009 11:08 1225370

Цитата:

Цитата Neiro74
необходимо править исходный код 7zG.exe - чтобы изменить вид распаковки ...
Или это я чересчур усложняю? »

Neiro74, думаю, что усложняете. 7zG.exe требует еще и библиотеку для работы, ее тоже нужно добавлять, если вдруг на компьютере не окажется установленного 7-Zip-a. Окно можно слегка модифицировать под свои нужды с помощью редактора ресурсов. Прикрепил набор, посмотрите и подправьте под себя.

Neiro74 23-09-2009 11:18 1225374

Цитата:

Цитата gora
Окно можно слегка модифицировать под свои нужды с помощью редактора ресурсов. »

Да, я уже до этого додумался пока аналогичный вопрос на примере Winrar'a изучал :)
Набор посмотрю, благодарствую.

EN130 23-09-2009 11:25 1225377

Я как-то видел справку о том, как создавать текст для модуля в стиле WORDART, а сейчас не могу найти. Или эта справка еще в планах?

Oleg48 30-09-2009 01:03 1230793

Хотел создать командный файл (cmd), в котором хотел бы прописать операции создания 7zip-архива ну и самособой создание 7zSFX-архива. Только запутался в самом начале - на создание 7zip-архива. Не могу добавить каталоги и файлы в архив. Может кто поможет, если есть готовые варианты - это только приветсвуется.

Habetdin 30-09-2009 01:26 1230803

Oleg48, из справки 7-zip:
читать дальше »
Цитата:

Руководство пользователя версии Командной строки
7z.exe - версия командной строки 7-Zip. 7z.exe использует 7z.dll из 7-Zip пакета. 7z.dll также используются Менежером файлов 7-Zip.

7za.exe (a = alone (один)) - автономная версия 7-Zip. 7za.exe поддерживает только 7z, lzma, cab, zip, gzip, bzip2, Z и tar форматы. 7za.exe не использует внешние модули.
Цитата:

a (Add) команда
Добавляет файлы в архив.

Примеры:

7z a archive1.zip subdir\
добавляет все файлы и подкаталоги из каталога subdir в архив archive1.zip. Имена файлов в архиве будут содержать префикс subdir\.

7z a archive2.zip .\subdir\*
добавляет все файлы и подкаталоги из каталога subdir в архив archive2.zip. Имена файлов в архиве не будут содержать префикс subdir\.

cd /D c:\dir1\
7z a c:\archive3.zip dir2\dir3\

Имена файлов в архиве c:\archive3.zip будут содержать префикс dir2\dir3\, но они не будут содержать префикс c:\dir1\.

7z a Files.7z *.txt -r
добавляет все *.txt файлы из текущего каталога его подкаталогов в архив Files.7z.

Oleg48 30-09-2009 07:44 1230920

Habetdin Спасибо, но справку я уже читал. Если создать файл примерно с таким содержанием:
Код:

7z a sistem.7z System\*.*
то просто будут бежать строчки, а архив небудет создаваться, вопрос в транскрипции файла или в указании полных путей.

Dmitry_K 30-09-2009 08:18 1230932

Цитата:

Цитата Oleg48
то просто будут бежать строчки, а архив небудет создаваться, вопрос в транскрипции файла или в указании полных путей »

1. необходимо указать тип архива, например -t7z
2. для добавления в архив всех файлов необходимо использовать * вместо *.*
3. если папка system не лежит рядом с 7z, то конечно же, пути необходимо прописать.
попробуйте так:
Код:

7z a -t7z d:\system.7z d:\system\*

gora 30-09-2009 10:16 1231026

Цитата:

Цитата Dmitry_K
необходимо указать тип архива, например -t7z »

Если архив .7z, то ключ -t7z можно не указывать, т.к.:
Цитата:

Цитата справка архиватора 7-Zip
7z формат - значение по умолчанию.

Цитата:

Цитата Dmitry_K
для добавления в архив всех файлов необходимо использовать * вместо *.* »

Справедливое замечание, но и здесь есть тонкость и подстановочные знаки *.* допустимы и иногда требуется именно такая запись:
Цитата:

Цитата справка архиватора 7-Zip
Примечание
7-Zip не использует системный синтаксический анализатор подстановочных знаков, и 7-Zip не следует тому архаичному правилу, по которому *.* означает любой файл. 7-Zip обрабатывает *.* как соответствие имени любого файла, который имеет расширение. Чтобы обрабатывать все файлы, Вы должны использовать подстановочные знаки *.

Цитата:

Цитата Oleg48
Хотел создать командный файл (cmd), »

Тогда надо писать сюда, т.к., вопрос не имеет отношения к модифицированным модулям.
Цитата:

Цитата Oleg48
если есть готовые варианты - это только приветсвуется. »

Как вариант:
Код:

@ECHO off
SETLOCAL enabledelayedexpansion
REM Здесь прописываются все пути к нужным файлам и ком. строка архивирования
REM Путь к упаковываемой папке (будет упакована сама папка с подпаками со всем их содержимым
SET "pathSourse=%ProgramFiles%\Test Folder\System"
REM Путь к папке с готовым SFX
SET "pathOut=%ProgramFiles%\Test Folder\SFX"
REM Путь и имя файла конфигурации
SET "pathConfig=%ProgramFiles%\Test Folder\config.txt"
REM Путь и имя файла модуля
SET "pathModl=%ProgramFiles%\Test Folder\7ZSD_LZMA2.sfx"
REM Путь и имя файла архиватора
SET "arch7z=%ProgramFiles%\7-Zip\7z.exe"
REM Имя готового SFX файла
SET "nameSFX=SFX"
REM Ком. строка упаковки, открорректировать при необходимости
SET "cmdlin=-ssw -mmt2 -m0=BCJ2 -m1=LZMA2:d128m:fb103 -m2=LZMA2:d19:fb120 -m3=LZMA2:d19:fb120 -mb0:1 -mb0s1:2 -mb0s2:3"
REM Создание выходной папки, если отсутствует
MD "%pathOut%"
REM Архивирование
"%arch7z%" a "%pathOut%\%nameSFX%.7z" "%pathSourse%\" %cmdlin%
REM Создание SFX файла
COPY /b "%pathModl%" + "%pathConfig%" + "%pathOut%\%nameSFX%.7z" "%pathOut%\%nameSFX%.exe"
REM Удаление временного архива
DEL "%pathOut%\%nameSFX%.7z"
Pause>nul

Будут вопросы, то только не здесь, а в указанном выше форуме, т.к., здесь все это оффтоп.

Oleg48 01-10-2009 12:40 1231881

gora Спасибо за такой полный исчерпывающий ответ, мой вариант получился скромнее

Код:

DEL install.7z 
"C:\Program Files\7-Zip\7z.exe" a install.7z .\install\* -mx9 
DEL setup.exe 
COPY /b 7ZSD.sfx + config.txt + install.7z setup.exe

Еще раз спасибо за направление на нужную ветку форума.

Shiz0 06-10-2009 18:29 1236002

Почему при сборке такого архива, у него возникают глюки с иконкой? Вместо неё отображается абсолютно любая иконка, но не стандартная (например, значок принтера и т.д.). Нельзя ли в скрипт просто добавить новый параметр, чтобы сразу компилировалось с нужной иконкой:
Код:

Icon=Icon.ico
А то я так собираю игру, и Resource Hacker пишет, что это не Win32 приложение, а ресторатор вообще повисает при обработке большого файла. Получается, что я никак не могу сменить иконку.

Stanner 07-10-2009 10:09 1236572

Shiz0, а размерчик архива случайно не больше 2 Гб?

BillGates_XP 07-10-2009 10:49 1236600

Oleg_Sch от куда скачаю 7-zip SFX GUI финальный версия надо :drug: чтобы было без вирусов

Drongo 07-10-2009 11:41 1236646

BillGates_XP, Не занимайтесь кросспостингом. И такие заявления должны быть не голословными.
Цитата:

Цитата BillGates_XP
чтобы было без вирусов »

На ваш вопрос я ответил в комменте 216.

Shiz0 07-10-2009 12:06 1236669

Stanner,
Да, 2.62 Гб. Т.е. от глюка с иконкой не избавиться? Ну может есть какое-либо решение?

_versus_ 07-10-2009 12:20 1236686

а возможно ли с помощью модуля создать самораспаковывающийся архив, который можно только запустить на установку, но просто распаковать и посмотреть содержимое нельзя ?

Shiz0 07-10-2009 12:24 1236688

_versus_,
Правая кнопка на файле - 7-Zip - Открыть архив

_versus_ 07-10-2009 12:30 1236695

нужно именно это запретить, чтоб нельзя было посмотреть внутренности, а только инсталить
есть такое?

gora 07-10-2009 12:52 1236715

Цитата:

Цитата Shiz0
Почему при сборке такого архива, у него возникают глюки с иконкой? Вместо неё отображается абсолютно любая иконка, но не стандартная (например, значок принтера и т.д.) »

Это баг не модуля, а системы при размере файла более 600...700 Мб. Можете почитать здесь.
Цитата:

Цитата Shiz0
Нельзя ли в скрипт просто добавить новый параметр, чтобы сразу компилировалось с нужной иконкой »

Это невозможно. Модуль не может патчить сам себя, а добавить иконку другим способом нельзя.
Цитата:

Цитата Shiz0
Ну может есть какое-либо решение? »

Можно разбить архив на части, например, и воспользоваться Универсальным загрузчиком.

Цитата:

Цитата _versus_
нужно именно это запретить, чтоб нельзя было посмотреть внутренности, а только инсталить
есть такое? »

Такого (пока?) нет.

Shiz0 07-10-2009 15:26 1236862

gora,
Нда, этот многотомный установщик - совсем не то :( Он же не позволяет настроить распаковщик под себя.

_DRON_ 07-10-2009 20:18 1237144

При таких размерах архива и требованиям к распаковщику разумнее будет воспользоваться каким нибудь полноценным инсталлятором, например Inno Setup.

Shiz0 08-10-2009 15:14 1237684

_DRON_,
Полноценный инсталлятор не умеет жать в LZMA2, да и просто значительно сложнее.

_DRON_ 08-10-2009 15:33 1237702

Я честно говоря не заметил особой разницы между LZMA (который есть и в Inno и в NSIS) и LZMA2 по степени сжатия, а для уменьшения сложности есть ISTool и прочие.

pashasa 19-10-2009 21:36 1247294

Подскажите или перенаправьте на источник, так как хотел бы создать 7-zip SFX для программы WinTools.net Professional. Дело в том, что она триал версия, так вот, как её сделать полнофункциональной, имея персональный ключ регистрации программы. Вопрос в том, как прописать в этом самораспаковывающемся архиве, её ключ регистрации.

Painkiller 20-10-2009 21:32 1248197

Цитата:

Цитата pashasa
Подскажите или перенаправьте на источник, так как хотел бы создать 7-zip SFX для программы WinTools.net Professional. Дело в том, что она триал версия, так вот, как её сделать полнофункциональной, имея персональный ключ регистрации программы. Вопрос в том, как прописать в этом самораспаковывающемся архиве, её ключ регистрации. »

Напиши мне в личку, я тебе помогу . Могу сам собрать и выложить и дать тебе ссылку для скачки?

Bond01 20-10-2009 22:13 1248223

pashasa, вот тема http://forum.oszone.net/post-1233234.html, правда я так и не сделал, если у тебя получится - дай знать :)

Analog 05-11-2009 16:09 1262418

Вопрос:
при создании многотомного архива создаются архивы типа *.7z.001 , *.7z.002 и т.п.

Мне нужно из первого архива сделать sfx.
Делать sfx из одиночного 7z-архива я умею (copy /b 7zsd.sfx + config.txt + archive.7z),
а как из многотомного сделать sfx ?

gora 05-11-2009 16:28 1262437

Цитата:

Цитата Analog
битый в архиве. »

Архив упакован методом LZMA2, для распаковки используйте архиватор 7-Zip версии 9.04 и выше.
Цитата:

Цитата Analog
И еще вопрос: »

Все, что умеет делать Универсальный загрузчик, написано здесь.

mogdin 07-11-2009 13:30 1263870

Подскажите пожалуйста как сделать SFX такой-же как "Учебник по автоматической установке Windows 9.6.14" только со своим текстом и картинкой в шапке, а то я в программировании ноль.

LonerD 08-11-2009 19:30 1265009

mogdin, а при чем тут программирование?
Банальная правка html-файлов в любом редакторе (да хотя бы в том же Worde), и при желании конвертация chm в exe, например, вот этой программой:
http://www.htmlexe.com/chm2exe/
Воопрос не относится ни к данной теме (тут обсуждается SFX модуль 7-Zip) ни к Учебнику (который выполнен в формате chm без всяких SFX).

gora 08-11-2009 19:34 1265011

DPavlik82, он спрашивает об изменении 7ZSD_LZMA_Dialogs.sfx (банер и диалоги) и применении RTF в файле конфигурации. Но я не смогу объяснять это "с нуля". :(

Цитата:

Цитата DPavlik82
Воопрос не относится ни к данной теме (тут обсуждается SFX модуль 7-Zip) ни к Учебнику »

Учебник выложен в 7z SFX архиве

mogdin 08-11-2009 22:04 1265140

Дело в том, что при распаковке файла "Учебник по автоматической установке Windows 9.6.14" с помощью кнопки 7zip в TC как и всегда 4 файла - значок, архив, модуль и файл конфигурации. В подобных случаях я обычно менял сам значок, содержимое архива и правил немного текст в конфиге, а в извлеченном файле конфигураторе нет текста, что имеется в данном SFX и соответственно я его и не могу менять под свои нужды (а с изображением, что в шапке SFX думал в модуле поменять его с помощью Ресторатора или Ресхакера, но не тут-то было. И с помощью GUI тоже ничего не понял). Затем опять все упаковывал с помощью все той же кнопки и переименовывал готовый архив на название нужное мне. Просто раньше SFX модуль был не токого типа, а этот мне понравился, похож на полноценный инсталлятор.

EN130 10-12-2009 20:10 1291822

У меня при попытке выполнить такую команду

RunProgram="start /wait //MO2003/setup.exe TRANSFORMS=Setup.MST /qn"

выдает ошибку следующего содержания

Пpoизoшлa oшибкa пpи выпoлнeнии "start /wait //MO2003/setup.exe TRANSFORMS=Setup.MST /qn".
He yдaeтcя нaйти yкaзaнный фaйл.

В чем моя ошибка?

gora 10-12-2009 20:21 1291832

Цитата:

Цитата EN130
В чем моя ошибка? »

Их несколько...
1 Команда start может выполняться только из cmd.exe и без него работать не будет.
2 Команда start /wait лишена смысла, т.к., при запуске из cmd.exe пока не отработает запуск //MO2003/setup.exe, следующая строка не начнет выполняться. В модуле тоже самое с командами RunProgram.
3 Если это путь //MO2003/setup.exe, то он очень странный, слеши должны быть обратные и удвоенные, и начинаться он со слеша не должен.

EN130 10-12-2009 20:29 1291845

gora, Поставил \\ и сразу все заработало.

greg_b 11-12-2009 23:37 1292974

Oleg_Sch, вопрос (возможно уже было) - для бета-версии сплиттер корректно извлекает архив и конфигурацию, но поврежденный sfx-модуль, будет ли для беты свой сплиттер?

gora 11-12-2009 23:47 1292980

Цитата:

Цитата greg_b
сплиттер корректно извлекает архив »

Не есть истина. :cry:

greg_b 12-12-2009 08:49 1293155

gora, речь о sfx-модуле - он всегда битый

madmasles 17-12-2009 06:46 1297306

Подскажите, пожалуйста, как указать в файле конфигурации путь распаковки - в текущую папку. Пробовал указывать "\", при запуске выскакивает сообщение с ошибкой в 4 строке =1", если пишу "%CD%", распаковывает в папку %CD% в текущей папке.
Код:

;!@Install@!UTF-8!
ExtractTitle="Идет распаковка файлов..."
InstallPath="\"
GUIMode="1"
SelfDelete="1"
ExtractDialogText="Подождите, уже почти все готово..."
;!@InstallEnd@!

Что здесь не так?

gora 17-12-2009 08:46 1297353

Цитата:

Цитата madmasles
Что здесь не так? »

Цитата:

Допустимы относительные пути. Текущей папкой будет папка программы, из которой произведен запуск SFX архива. Например:

InstallPath="test"
создаст папку с именем "test" в папке программы из которой, произведен запуск SFX архива и распаковка произойдет в нее,

InstallPath="."
произведет распаковку прямо в папку программы, из которой произведен запуск SFX архива, а

InstallPath="%%S"
произведет распаковку прямо в папку, где находится SFX архив.

Цитата:

Цитата greg_b
речь о sfx-модуле - он всегда битый »

Я понял о чем Вы, но подверг сомнению ваше утверждение про архив и корректность его извлечения.

Pozia 17-12-2009 10:17 1297423

делаю SFX архив с сжатием LZMA2. Если потом распаковать архив, затем заново закинуть в него файлы (после какого нибудь редактирования), то метод сжатия уже становится LZMA. Как сделать чтобы LZMA2 никак не сбивался?

gora 17-12-2009 10:51 1297457

Цитата:

Цитата Pozia
Если потом распаковать архив, затем заново закинуть в него файлы (после какого нибудь редактирования), то метод сжатия уже становится LZMA. Как сделать чтобы LZMA2 никак не сбивался? »

Если Вы его распаковали, то должны снова упаковать, выбрав метод сжатия LZMA2.

Pozia 17-12-2009 10:55 1297460

Цитата:

Цитата gora
Если Вы его распаковали, »

я архив не через кнопку извлекаю. А с помощью 7zip. Затем изменяю что мне нужно в распакованных файлах, открываю SFX архив в 7zip, удаляю все из архива, и из тотола перетягиваю распакованные файлы в 7zip. И архив на выходе получается LZMA. С этим нельзя ничего поделать?

gora 17-12-2009 13:32 1297622

Pozia, то что Вы делаете называется не распаковка архива, а открытие его в 7-zip FM (для обновления).

1
Цитата:

Цитата Pozia
удаляю все из архива »

После этого действия архива больше нет и 7-zip FM "не помнит" какой он был.
2
Цитата:

Цитата Pozia
и из тотола перетягиваю распакованные файлы в 7zip »

Таким образом лучше заменять только отдельные файлы, т.к., 7-zip FM будет добавлять их отдельным блоком (прощай solid) и применять свой метод сжатия и параметры, которые определены в нем по умолчанию. Изменить их нельзя! В результате сжатие будет не максимальным, не совсем solid, размер sfx архива вырастет и метод сжатия 7-zip FM тоже сам определит за Вас.

Резюме.
1 Обновлять лучше только небольшие файлы, не удаляя всего содержимого архива.
2 Во всех остальных случаях лучше полностью распаковать архив, изменить его содержимое и повторно сжать его с нужными Вам методом и нужными параметрами.

Pozia 24-12-2009 14:06 1303333

Столкнулся с проблемой порчи полученных exe шников созданных кнопкой. Версия кнопки последняя. Версия 7zip - 9.07beta.
При чем порча происходит только при работе из под Seven. В XP все нормально. Сегодня это произошло второй раз. Сделал я в семерке около 15 exe шников и они нормально работали. После перезагрузки в XP часть из них стали нечитаемыми. Использовал метод сжатия LZMA2. Кто нибудь с таким сталкивался?

LonerD 25-12-2009 14:26 1304001

Цитата:

Цитата Pozia
Кто нибудь с таким сталкивался? »

Я сталкивался. Я не могу сказать, что "нормально работали", так как не проверял. Но потом действительно файлы не запускались.
Под ХР за долгое время использования сбоев не было. А под семеркой х64 раза два-три получился сбой, причем не когда создавал свой архив, а когда перепаковывал готовые dllsfull и MSXML4.exe. Версия 7zip - 9.07beta, версия кнопки - майская. Метод сжатия - не знаю, сам архив не перепаковывал, а кнопкой распаковал-упаковал (для уменьшения размера файла за счет уменьшения sfx-модуля.
Причин не знаю, решил, что это мои локальные проблемы раз никто больше о подобном не писал.

Pozia 25-12-2009 14:35 1304014

Цитата:

Цитата DPavlik82
Метод сжатия - не знаю, сам архив не перепаковывал »

сегодня делал LZMA сбоев не нашел. Видимо несовместимость LZMA2 и семерки. Кто это может поправить если это так?

Цитата:

Цитата DPavlik82
Но потом действительно файлы не запускались. »

забыл упомянуть что в первый раз работоспособность файлов я вернул запустив CHKDSK из под XP. Второй раз попробовал TuneUp Utilities 2009 8.0.2000 проверить диск и этот гад вместо восстановления удалил порченные файлы!

gora 25-12-2009 14:38 1304016

Цитата:

Цитата DPavlik82
сам архив не перепаковывал, а кнопкой распаковал-упаковал »

Не используйте архивы и модули, извлеченные из SFX, для повторной сборки. Проблема локализована и исправлена в новых модулях (тестируются), сроки их выкладывания определит автор.

PS
Проблема присутствует только в модулях версии 1.4 alpha (сборка 1501), в 1.3.0 Release (сборка 1501) ее нет.

TechnicsKuzya 25-12-2009 14:45 1304027

Есть ли 64-битная версия модифицированного модуля?

gora 25-12-2009 14:51 1304034

Цитата:

Цитата TechnicsKuzya
Есть ли 64-битная версия модифицированного модуля? »

Есть!
Цитата:

Цитата Oleg_Sch
Если кому-то нужны ТЕСТОВЫЕ 64-х битные версии модуля, обращайтесь в ПМ, пока не пройдет хотя бы мало-мальское тестирование, выкладывать не буду. »


Pozia 25-12-2009 14:53 1304037

Цитата:

Цитата gora
Не используйте архивы и модули, извлеченные из SFX, для повторной сборки. »

то есть раз собрав архив на семерке его уже невозможно пересобрать?
а что я потеряю при возврате на
Цитата:

Цитата gora
1.3.0 Release (сборка 1501) »

?

gora 25-12-2009 15:02 1304043

Цитата:

Цитата Pozia
то есть раз собрав архив на семерке его уже невозможно пересобрать? »

Pozia, я не уверен, что это ваш случай. С win7 это ни как не связано. Распаковать SFX можно, но нужно извлечь все содержимое архива, упаковать архив снова, а затем, используя этот новый архив и "неиспользованный ранее модуль", собрать SFX.
Цитата:

Цитата Pozia
а что я потеряю при возврате »

Смотрите отличия в справке к модулю в "Истории изменений".

PS
Мною собран и выложен на форуме уже не один аддон на Win7 x64. Нареканий на их работу пока не было.

Pozia 25-12-2009 15:07 1304047

не совсем понимаю фразу
Цитата:

Цитата gora
и "неиспользованный ранее модуль" »

когда я кнопкой извлекаю файлы получаю архив 7z, файл конфигурации txt и иконку. Изменил как мне нужно архив, выделил три файла и собрал кнопкой обратно. Как мне при этом использовать
Цитата:

Цитата gora
"неиспользованный ранее модуль" »

?

gora 25-12-2009 15:15 1304054

Цитата:

Цитата Pozia
когда я кнопкой извлекаю файлы получаю архив 7z, файл конфигурации txt и иконку »

Можно извлечь из SFX и все 5 компонентов в том числе и модуль! Некоторые так и делают и затем повторно используют извлеченный модуль для создания SFX, например, командой copy /b. Вот от повторного использования извлеченного модуля я Вас и предостарегаю. (Кнопка всегда, при создании SFX использует свои девственные модули, если Вы конечно не подмените их "б.у.-шными".)

TechnicsKuzya 25-12-2009 15:17 1304056

Кто-нибудь может сейчас мне прислать тестовую 64-битную версию?

Проверил SFX модули из 64-битных версий 4.65 и 9.10 - все 32-ух битные. Опа...

Pozia 25-12-2009 15:35 1304071

gora, как я понял проблема в LZMA2 и она не зависит от виндовс из под которой ведется работа. И проявляется лишь тогда когда используются повторно извлеченные модули. Но так как я не извлекал модули как можно объяснить мою проблему? И самое интересное что файлы остаются рабочими до тех пор пока я не перезагружу систему в XP, и в ней уже я вижу что файлы битые, и спасает как я говорил проверка диска CHKDSK
Веник что ли сыпется? так ему всего 3 месяца... ((

gora 25-12-2009 15:46 1304078

Цитата:

Цитата Pozia
как я понял проблема в LZMA2 »

Не правильно поняли. От метода сжатия это не зависит и проявляется при любом методе.
Цитата:

Цитата Pozia
Но так как я не извлекал модули как можно объяснить мою проблему? »

Я не понял вашей проблемы и не стал про нее отвечать. Я не понимаю, что значит "нечитаемые". Я не знаю какая у Вас Win7 (х86 или х64). Я не знаю что происходит с "нечитаемыми" файлами при возврате в Win7 (начинают они читаться или нет). Я не знаю изменяется ли их к.с. при выходе из Win7 и входе в нее обратно. Я не знаю где они у Вас расположены, на каком диске, на флешке или нет, на диске с одной из систем или на совсем другом диске, пробовали ли Вы сохранить их в другом месте, например, на флешке при смене системы и что при этом происходит с файлами. И т.д. и т.п....

Pozia 25-12-2009 15:55 1304084

gora, подожду тогда обновления модуля и если проблема останется опишу более детально.

gora 25-12-2009 16:00 1304091

Цитата:

Цитата DPavlik82
версия кнопки - майская. Метод сжатия - не знаю, сам архив не перепаковывал, а кнопкой распаковал-упаковал »

ЕМНИП та версия кнопки не умела самостоятельно определять метод сжатия архива и выбирать подходящий модуль. Возможно у Вас просто не стыковка методов сжатия архива и типа модуля.

LonerD 25-12-2009 21:43 1304340

Цитата:

Цитата gora
Не используйте архивы и модули, извлеченные из SFX, для повторной сборки. Проблема локализована и исправлена в новых модулях (тестируются), сроки их выкладывания определит автор.
Проблема присутствует только в модулях версии 1.4 alpha (сборка 1501), в 1.3.0 Release (сборка 1501) ее нет.»

Спасибо, действительно примерно в одно время перешел на версию 1.4 alpha и на семерку, и с тех пор несколько раз появилась ошибка.

Цитата:

Цитата gora
Возможно у Вас просто не стыковка методов сжатия архива и типа модуля. »

Похоже на это

Oleg_Sch 26-12-2009 06:59 1304529

Цитата:

Цитата Pozia
gora, подожду тогда обновления модуля и если проблема останется опишу более детально. »

Обновление будет только после новогодних каникул.

TechnicsKuzya 26-12-2009 12:33 1304630

Кому необходимо запускать с помощью 32-битного sfx-модуля cmd-скрипт ориентированный на обработку 64-битным cmd.exe, вот рабочее решение:

К примеру, есть скрипт Setup_64.cmd, ориентированный на использование 64-битной версии cmd.exe.

В папку Tools помещаем 64-битный cmd.exe из папки C:\Windows\System32 (копировать только через 64-битный софт, иначе будет редирект в папку C:\Windows\SysWow64 и Вы скопируете 32-битный cmd.exe).

Подтверждением того, что Вы используете 64-битную версию коммандного процессора, может служить его соответствующее отображение в диспетчере задач, т.е. без идентификатора *32.


Создаем скрипт, к примеру Start.cmd c содержанием:

Код:

@echo off
.\Tools\cmd.exe /Q /K "call Setup_64.cmd"
exit

Теперь запускаем из sfx - скрипт Start.cmd - он будет запущен с помощью 32-битной версии cmd.exe (В диспетчере задач увидете cmd.exe *32), а скрипт Start_64.cmd уже будет вызван с помощью 64-битной версии cmd.exe (в диспетчере задач увидете рядом с cmd.exe *32 - cmd.exe - это и будет среда выполнения скрипта Start_64.cmd.

Тут немного подробнее о вышесказанном...

Pozia 03-01-2010 16:48 1309777

Подскажите конфигурационный файл который бы выполнял набор команд в зависимости от наличия нужного файла в нужном месте. То есть если по определенному пути лежит маркерный файл то выполняются одни команды, если лежит другой маркерный файл то выполняются другие команды. мне это нужно чтобы сделать один SFX архив который бы коректно работал и на XP и на Seven. А по маркерному файлу я и буду определять какая винда.

Dmitry_K 05-01-2010 13:37 1311306

Цитата:

Цитата Pozia
Подскажите конфигурационный файл который бы выполнял набор команд в зависимости от наличия нужного файла в нужном месте. »

конфигурационный файл этого не может, но он может запустить другой файл, который будет выполняться в любом случае и который будет проверять наличие той или иной версии ОС и выполнять необходимые действия

Pozia 05-01-2010 18:12 1311623

Dmitry_K, так я так сейчас и делаю, но думал через конфигурационный файл так можно, а то так как я делаю архив сразу распаковывается а потом выполняет файл что неудобно при большом архиве

Pozia 05-01-2010 23:37 1311941

Oleg_Sch, заметил косяк в методе lzma2. в частности делаю кнопкой SFX для VirtualBox. Содержание архива:
Код:

.VirtualBox\
common.cab
run.cmd
VirtualBox312.msi

Косяк в том что когда соберу SFX архив кнопкой то при открытии в 7zip или распаковки им я получаю содержание cab архива что внутри. Если его оттуда убрать то никаких проблем. Также нет проблем с cab при сжатии lzma.

Dmitry_K 06-01-2010 11:20 1312201

Цитата:

Цитата Pozia
Oleg_Sch, заметил косяк в методе lzma2. »

а при чем здесь модуль, когда сжимает файлы кнопка? модуль для сжатия не используется ;)

jameszero 06-01-2010 12:21 1312232

Pozia
Цитата:

Цитата Pozia
Подскажите конфигурационный файл который бы выполнял набор команд в зависимости от наличия нужного файла в нужном месте.
мне это нужно чтобы сделать один SFX архив который бы коректно работал и на XP и на Seven.»

В аддоне Opera для этой цели используется такой фрагмент:
Код:

RunProgram="hidcon:cmd /c If Exist \"%UserProfile%\\AppData\" xcopy \"profile\" \"%APPDATA%\\Opera\\Opera\" /e /i /y"
RunProgram="hidcon:cmd /c If Not Exist \"%UserProfile%\\AppData\" xcopy \"profile\" \"%UserProfile%\\Application Data\\Opera\\Opera\" /e /i /y"


Pozia 06-01-2010 18:01 1312556

Цитата:

Цитата Dmitry_K
а при чем здесь модуль, когда сжимает файлы кнопка? »

если кнопка сжимает тогда чем модуль занимается? И почему при использовании lsma все нормально?

gora 06-01-2010 18:04 1312559

Цитата:

Цитата Pozia
тогда чем модуль занимается? »

Модуль необходим для распаковки архива из SFX, а также для организации диалога с пользователем в ходе распаковки/установки SFX.

Pozia 06-01-2010 18:10 1312565

gora, так это баг кнопки? Вы такую ситуацию с cab архивом пытались воспроизвести?

gora 06-01-2010 18:36 1312591

Цитата:

Цитата Pozia
Вы такую ситуацию с cab архивом пытались воспроизвести? »

Не подтверждаю!
Сделал 4 SFX и открыл их в 7zFM, во всех случаях вижу:
Цитата:

Цитата Pozia
.VirtualBox\
common.cab
run.cmd
VirtualBox312.msi »

Система: Win 7 x64
Архиватор: 7-Zip (x64) v 9.10 beta2
Модули:
LZMA v1.4.0. сборка 1501
LZMA v1.4.0. сборка 1599
LZMA2 v1.4.0. сборка 1501
LZMA2 v1.4.0. сборка 1599
Кнопка: v14.1.1112 от 03.01.2010

Pozia 06-01-2010 18:42 1312596

Цитата:

Цитата gora
Кнопка: v14.1.1112 от 03.01.2010 »

данную версию кнопки я так понимаю получить нельзя?

gora 06-01-2010 18:57 1312604

Pozia, правильно понимаете, рабочие версии не выкладываются. Тема кнопки здесь оффтоп, все новости на сайте кнопки.
Я привел пример оформления баграпорта, без этих данных сложно воспроизвести вашу ошибку.

Pozia 09-01-2010 13:50 1315133

Цитата:

Цитата jameszero
В аддоне Opera для этой цели используется такой фрагмент:
Код:
RunProgram="hidcon:cmd /c If Exist \"%UserProfile%\\AppData\" xcopy \"profile\" \"%APPDATA%\\Opera\\Opera\" /e /i /y"
RunProgram="hidcon:cmd /c If Not Exist \"%UserProfile%\\AppData\" xcopy \"profile\" \"%UserProfile%\\Application Data\\Opera\\Opera\" /e /i /y"»[/post]

Скажите пожалуйста, данное условие проверяется до распаковки содержимого SFX архива или после? Просто хочется сэкономить время на распакове архива для больших программ

и никак не могу переписать для себя команду, помогите пожалуйста. Я так пытаюсь записать, но ошибка:

Код:

RunProgram="hidcon:cmd /c If Exist \"%Windir%\\system32\\MarkerXP.m" run.cmd"
Мне нужно чтобы проверилось условие и при положительном результате запустился Run.cmd

gora 09-01-2010 14:01 1315151

Цитата:

Цитата Pozia
данное условие проверяется до распаковки содержимого SFX архива или после? »

После.
Цитата:

Цитата Pozia
не могу переписать для себя команду »

Код:

RunProgram="hidcon:cmd /c If Exist \"%Windir%\\system32\\MarkerXP.m\" run.cmd"

Pozia 09-01-2010 14:23 1315183

Цитата:

Цитата gora
После. »

жаль, значит нет смысла в моих маневрах

LonerD 10-01-2010 17:13 1316385

Возможно ли создание с помощью модифицированного модуля (или с помощью дальнейшей правки ехе-файла в hex-редакторе) файл, который не распаковывается стандартным 7-Zip-архиватором?
Подобное требуется, например, для того, чтобы невозможно было распаковать инсталлятор или, например, для того, чтобы антивирусы не могли распаковать инсталлятор и не ругались на упакованные в нем программы, которые ошибочно принимаются за вирусы.

Painkiller 10-01-2010 17:30 1316409

DPavlik82 , по моему это уже обсуждалось. Модуль такого не умеет. По крайней мере в данный момент времени. Надеюсь автор в будущем это исправит . Хотя я как то один раз запаковал так что сам не мог распаковать ничем , но аддон к моему удивлению оказался рабочим.

Pozia 20-01-2010 00:56 1324745

Подскажите пожалуйста файл конфигурации для выполнения трех разных батников находящихся внутри SFX архива в зависимости от введенного ключа. Просмотрел несколько аддонов с ключами и не могу разобраться как сделать себе свой. Мне кроме трех ключей ничего не надо, просто тихая инсталяция, никаких дополнительных окон если без ключа запуск. Если ключа нет, то и делать ничего не надо. Спасибо.

Amigos 20-01-2010 07:37 1324855

Цитата:

Цитата Pozia
Подскажите пожалуйста файл конфигурации для выполнения трех разных батников находящихся внутри SFX архива в зависимости от введенного ключа. »

\MagicLogon\sfx\ml 1.0.txt
читать дальше »

Цитата:

;!@Install@!UTF-8!
Title="Установка программы MagicLogon 1.0"
BeginPrompt="Запустить установку MagicLogon в папку\n%ProgramFiles%\\MagicLogon ?"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
InstallPath="%PathInst%"
RunProgram="hidcon:reg add \"HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /f /v \"Смена Обоев и LogonUi\" /t REG_SZ /d \"\\\"%ProgramFiles%\\MagicLogon\\hidcon.exe\\\" \\\"%ProgramFiles%\\MagicLogon\\ml.cmd\\\" delay\""
RunProgram="nowait:hidcon:ML.cmd"
AutoInstall1="hidcon:reg add \"HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /f /v \"Смена Обоев и LogonUi\" /t REG_SZ /d \"\\\"%ProgramFiles%\\MagicLogon\\hidcon.exe\\\" \\\"%ProgramFiles%\\MagicLogon\\ml.cmd\\\" delay\""
AutoInstall2="hidcon:cmd.exe /c dir"
SetEnvironment="PathInst=%PROGRAMFILES%\\MagicLogon"
Shortcut="D, {%%T\\hidcon.exe}, {%%T\\ML.cmd}, {}, {..и картинки в экране приветствия}, {Поменять обои...}, {%%T}, {%%T\\MagicLogon.exe}, {0}"
GUIMode="1"
GUIFlags="2094"
FinishMessage="MagicLogon установлен в папку %ProgramFiles%\\MagicLogon"
;!@InstallEnd@!


вот это (батник из двух строчек) выполнится при запуске без папраметров
Цитата:

RunProgram="hidcon:reg add \"HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /f /v \"Смена Обоев и LogonUi\" /t REG_SZ /d \"\\\"%ProgramFiles%\\MagicLogon\\hidcon.exe\\\" \\\"%ProgramFiles%\\MagicLogon\\ml.cmd\\\" delay\""
RunProgram="nowait:hidcon:ML.cmd"
это (батник из одной строчки) выполнится при -AI1
Цитата:

AutoInstall1="hidcon:reg add \"HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /f /v \"Смена Обоев и LogonUi\" /t REG_SZ /d \"\\\"%ProgramFiles%\\MagicLogon\\hidcon.exe\\\" \\\"%ProgramFiles%\\MagicLogon\\ml.cmd\\\" delay\""
это (батник из одной строчки) выполнится при -AI2
Цитата:

AutoInstall2="hidcon:cmd.exe /c dir"
Цитата:

Цитата Pozia
Если ключа нет, то и делать ничего не надо »

конкретно строчка cmd.exe /c dir равна "делать ничего не надо"

Amigos 20-01-2010 07:57 1324867

Цитата:

Цитата DPavlik82
Подобное требуется, например, для того, чтобы невозможно было распаковать инсталлятор или, например, для того, чтобы антивирусы не могли распаковать инсталлятор и не ругались на упакованные в нем программы, которые ошибочно принимаются за вирусы. »

это довольно просто - запоролить архив.
Но "Модифицированный SFX модуль 7-Zip'а для установок" архивы с паролями не поддерживает.
А вот WinRar'овский SFX поддерживает.
Маленький нюанс, если включена опция "шифровать имена файлов", то запрос на ввод пароля будет в самом начале, до основного SFX диалога.
А если опция отключена, то запрос на ввод пароля будет после нажатия "распаковать" в основном SfX диалоге.

gora 20-01-2010 08:50 1324882

Формализация задачи:
1
Цитата:

Цитата Pozia
Если ключа нет, то и делать ничего не надо »

2
Цитата:

Цитата Pozia
выполнения трех разных батников находящихся внутри SFX архива в зависимости от введенного ключа »

3
Цитата:

Цитата Pozia
никаких дополнительных окон »

Решение:
Код:

;!@Install@!UTF-8!
; Запуск без ключа - ничего не делать.
RunProgram="hidcon:cmd /c Echo"
; Запуск с ключом ai1 - запустить бат файл batch1.bat.
AutoInstall1="hidcon:batch1.bat"
; Запуск с ключом ai2 - запустить бат файл batch2.bat.
AutoInstall2="hidcon:batch2.bat"
; Запуск с ключом ai3 - запустить бат файл batch3.bat.
AutoInstall3="hidcon:batch3.bat"
; Никаких окон.
GUIMode="2"
;!@InstallEnd@!


goFRyS 27-01-2010 20:10 1331647

Добрый день всем, подскажите пожалуйста, в модифицированном SFX модуле имеется ключ для распаковки SFX архива в указанную папку (аналог обычного 7zip ключ -o)? Очень нужно поменять в коде
Код:

procedure CurStepChanged(CurStep: TSetupStep);
var
  res:Integer;
  s,s1:string;
begin
If CurStep=ssInstall
then
begin
  s:=ExpandConstant('{src}')+'\Bin\bin.exe';
  s1:=ExpandConstant('{app}');
  Exec(s, '-y -o"'+ s1 + '"', '', SW_SHOWNORMAL, ewWaitUntilTerminated, res);
end;
end;

7z SFX архив bin.exe на модифицированный, в справке смотрел, не нашел, спасибо заранее!

gora 27-01-2010 20:14 1331650

Цитата:

Цитата goFRyS
подскажите пожалуйста, в модифицированном SFX модуле имеется ключ для распаковки SFX архива в указанную папку (аналог обычного 7zip ключ -o)? »

Имеется (-InstallPath), пишется так:
Код:

sfx.exe -InstallPath="%ProgramFiles%\\7zSFX_Tools"

goFRyS 27-01-2010 20:31 1331660

Спасибо огромное! Пол дня ходил вокруг да около... :yahoo:

goFRyS 04-02-2010 13:56 1338804

Подскажите пожалуйста, а как сделать чтоб окно распаковки "Поверх всех окон" было?

Oleg_Sch 12-02-2010 14:19 1345448

Новые версии модулей все же готовы.
Цитата:

1.4 alpha (сборка 1659) 12.02.10

+ Префиксы 'x64', 'x86' в конфигурационном файле

1.4 alpha (сборка 1643) 27.01.10

# Использован исходный код 7-Zip версии 9.10 beta от 22 декабря 2009 г.
# Проект полностью переведен на VS2005
* Сохранение позиций окна в ходе одного запуска SFX. Если выведенное окно перемешено пользователем, то все последующие окна выводятся в том месте, куда было перемещено предыдущее окно.
* Кнопка "Готово" в "собственном" диалоге 'FinishMessage' (7ZSD_LZMA_Dialogs.sfx) не меняет размер и положение при обратном отсчете времени
* Форматирование окна с информацией о версии SFX модуля и т.д. (ключ '-sfxversion')
+ Поддержка многоязыковых файлов конфигурации
+ Ключ '-sfxlang'
+ Прогресс-бар на значке SFX архива в панели задач для Windows 7
+ Флаг 8192 'GUIFlags' отключает прогресс-бар на значке SFX архива в панели задач для Windows 7

1.4 alpha (сборка 1599) 13.12.09

# Использован исходный код 7-Zip версии 9.09 beta от 12 декабря 2009 г.
* Некорректное извлечение сплитером архива и файла конфигурации (Stanner, gora:forum.oszone.net)
* Заменена иконка (некорректное отображение в Windows 7) (gora:forum.oszone.net)
* Некорректное определение языка в зависимости от региональных настроек системы (YuriPet:forum.oszone.net)
Пусть внешние изменения и незаметны, но внутренних изменений очень много, поэтому выкладываю их как есть для тестирования (только прямые ссылки):
x86 (i386)
x64 (amd64)

При баг-репортах, пожалуйста, указывайте полностью платформу системы и модулей (32 или 64 бита), версия и язык системы (включая сервис-паки).
Пока gora, подготавливает справку постараюсь ответить на вопросы здесь. Не обижайтесь, если это будет неоперативно, мне сложно выделять сейчас время на модуль, но я все же постараюсь.
Тестируйте, пишите баг-репорты.

greg_b 12-02-2010 14:24 1345455

Oleg_Sch, x86 тестирую, вроде неплохо

Devils0411 13-02-2010 16:35 1346238

Что-то не хочет запускаться пакетный файл (ни bat, ни cmd)
Система: WindowsXP x86 SP3 5.1.2600.5512
Скачал модифицированный SFX модуль (пробЫвал как стабильную версию, так и бета)
В тестовой папке, назовем ее Work лежат 3 файла: модифицированный SFX, конфиг файл (его содержимое:
Код:

;!@Install@!UTF-8!  RunProgram="directory\\rn.cmd"  InstallPath="%systemdrive%\\software"  GUIMode="2"  ;!@InstallEnd@!
), и соответственно сам архив *.7z. Собирается это все пакетником
Код:

COPY /b *.sfx + *.txt + *.7z rn.exe
Запускаю созданный rn.exe, вроде он пакетник запустил, но при этом он ничего не сдалал. Захожу в папку где лежит пакетник rn.cmd, запускаю и он все отрабатывает. В чем причина?

Dmitry_K 13-02-2010 19:49 1346394

Цитата:

Цитата Devils0411
В чем причина? »

попробуй
Код:

RunProgram="%%T\\directory\\rn.cmd"
при этом после распаковки rn.cmd должен лежать в %systemdrive%\software\directory\rn.cmd, т.е. папка directory должна быть корневой в архиве .7z

Amigos 13-02-2010 20:02 1346405

Цитата:

Цитата Devils0411
но при этом он ничего не сдалал. Захожу в папку где лежит пакетник rn.cmd, запускаю и он все отрабатывает. В чем причина? »

в том, что sfx модуль не "заходит в папку где лежит пакетник rn.cmd".
попробуйте не "заходить в папку где лежит пакетник rn.cmd" а запустить его командой directory\rn.cmd в каталоге распаковки

Devils0411 13-02-2010 20:45 1346436

Dmitry_K,
Цитата:

RunProgram="%%T\\directory\\rn.cmd"
что означает "%%T" ?
Цитата:

при этом после распаковки rn.cmd должен лежать в %systemdrive%\software\directory\rn.cmd, т.е. папка directory должна быть корневой в архиве .7z
файл там и лежит.
Amigos, А разве RunProgram="directory\\rn.cmd" должен быть с одним слешем? На сайте товарища Oleg_Sch в примерах используется именно \\

Amigos 13-02-2010 20:59 1346444

Цитата:

Цитата Devils0411
должен быть с одним слешем? »

в файле конфигурации sfx - двойным
в комадной строке - одинарный.

Цитата:

Цитата Devils0411
В тестовой папке, назовем ее Work лежат 3 файла: модифицированный SFX, конфиг файл »

вам, судя по уровню вопросов, абстрактные советы не помогут, скачайте какой нибудь работающий sfx инсталятор и смотрите как там всё сделано,
или вариант - выложите свой нерабочий вариант, поправим

Цитата:

Цитата Devils0411
онфиг файл (его содержимое:
Код:
;!@Install@!UTF-8! RunProgram="directory\\rn.cmd" InstallPath="%systemdrive%\\software" GUIMode="2" ;!@InstallEnd@!
), и соответственно сам архив *.7z »

внутри вашего 7z архива есть папка directory ?
или rn.cmd лежит прямо в корне 7z архива?

Devils0411 13-02-2010 21:16 1346453

Вложений: 1
Цитата:

в комадной строке - одинарный.
Это я знаю ))
Цитата:

внутри вашего 7z архива есть папка directory ? или rn.cmd лежит прямо в корне 7z архива?
Да данная папка присутствует в архиве 7z.
тестовый вариант выложил для корректировки. (Чтобы понять где я допустил ошибку)

gora 13-02-2010 21:24 1346461

Цитата:

Цитата Devils0411
В чем причина? »

1 Файл конфигурации пишется столбиком, а не в одну строку.
Цитата:

Цитата Devils0411
Собирается это все пакетником
Код:
COPY /b *.sfx + *.txt + *.7z rn.exe »

2 Возможно в папке есть посторонние файлы перечисленных типов.
3 Структура архива не соответствует пути запуска.
Цитата:

Цитата Devils0411
что означает "%%T" ? »

... об этом написано ...
Цитата:

Цитата Devils0411
На сайте товарища Oleg_Sch »

Цитата:

Цитата Devils0411
вроде он пакетник запустил, но при этом он ничего не сдалал »

4 Так запустил или не запустил?

Добавьте в конец файла rn.cmd команду Pause и увидите запускается он или нет. А также увидите что за ошибки будут написаны в этом консольном окне.

Amigos 13-02-2010 21:41 1346474

Цитата:

Цитата Devils0411
тестовый вариант выложил для корректировки. (Чтобы понять где я допустил ошибку) »

нигде.
все правильно.
всё работает.


почему у вас
Цитата:

Цитата Devils0411
Запускаю созданный rn.exe, вроде он пакетник запустил, но при этом он ничего не сдалал. »

не понятно, всё что нужно, созданный rm.exe делает

Devils0411 13-02-2010 22:02 1346493

Чудеса, только что, тоже запустил - работает.

ya158 15-02-2010 13:12 1347527

Возможно ли организовать проверку наличия файла? Например, если есть файл с:\1.txt, то в диалоге 'FinishMessage' выводится сообщение "Файл присутствует", если этого файла нет, то в диалоге 'FinishMessage' выводится сообщение "Файла нет".

Amigos 15-02-2010 14:47 1347594

Вопрос, возможно, связанный не совсем с 7zSfx модулем, но всё же.
вот конфиг

читать дальше »
Цитата:

;!@Install@!UTF-8!
Title="Установка программы MagicLogon 1.0"
BeginPrompt="Запустить установку MagicLogon в папку\n%ProgramFiles%\\MagicLogon ?"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
InstallPath="%PathInst%"
RunProgram="hidcon:reg add \"HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /f /v \"Смена Обоев и LogonUi\" /t REG_SZ /d \"\\\"%ProgramFiles%\\MagicLogon\\hidcon.exe\\\" \\\"%ProgramFiles%\\MagicLogon\\ml.cmd\\\" delay\""
RunProgram="hidcon:cmd /c copy magiclogon.wav %SystemRoot%\\Media"
RunProgram="nowait:hidcon:ML.cmd"

AutoInstall1="hidcon:reg add \"HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /f /v \"Смена Обоев и LogonUi\" /t REG_SZ /d \"\\\"%ProgramFiles%\\MagicLogon\\hidcon.exe\\\" \\\"%ProgramFiles%\\MagicLogon\\ml.cmd\\\" delay\""
AutoInstall1="hidcon:cmd /c copy magiclogon.wav %WinDir%\\Media"

AutoInstall2="hidcon:cmd /c copy magiclogon.wav %WinDir%\\Media"

SetEnvironment="PathInst=%PROGRAMFILES%\\MagicLogon"
Shortcut="D, {%%T\\hidcon.exe}, {%%T\\ML.cmd}, {}, {..и картинки в экране приветствия}, {Поменять обои...}, {%%T}, {%%T\\MagicLogon.exe}, {0}"
GUIMode="1"
GUIFlags="2094"
FinishMessage="MagicLogon установлен в папку %ProgramFiles%\\MagicLogon"
;!@InstallEnd@!
3 варианта запуска -
-ai2 - только скопировать wav в винодосовскую папку Media
-ai1 - скопировать wav в винодосовскую папку Media, записать программу в автозагрузку
без параметоров - скопировать wav в винодосовскую папку Media, записать программу в автозагрузку, запустить программу

проблемы с копированием при запуске на T13 - Wav файл не копируется :(
запускается как
ml2010.exe -ai1 -gm2

При запуске на уже установленой системе, проблемы нет, Wav файл копируется
И при запуске без параметров и при -ai1

Первоначальный вариант был с hidcon:cmd /c copy magiclogon.wav %SystemRoot%\\Media
потом заменил %SystemRoot% на %WinDir% ничего не поменялось.

самое обидное, на t13 обе переменных определены

читать дальше »
Цитата:

ALLUSERSPROFILE=C:\Documents and Settings\All Users
COMMANDER_DRIVE=D:
COMMANDER_INI=D:\I386\SVCPACK\wincmd.ini
COMMANDER_PATH=D:\I386\SVCPACK
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=WINXP-2009
ComSpec=C:\WINDOWS\system32\cmd.exe
FP_NO_HOST_CHECK=NO
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.JS;.WS
ProgramFiles=C:\Program Files
PROMPT=$P$G
SrcDosDrive=D:
SrcDosPath=D:
SystemDrive=C:
SystemRoot=C:\WINDOWS
Upgrade=False
USERPROFILE=C:\Documents and Settings\Default User
windir=C:\WINDOWS
__PROCESS_HISTORY=C:\WINDOWS\system32\setup.exe



в "нормальных" CMD файлах конструкции типа %SystemRoot% нормально отрабатываются.

никто с такими загадками не сталкивался ?

И в аддоне конструкторе TC7 вот такая конструкция
RunProgram="hidcon:cmd /c copy %NameInf% %WINDIR%\\INF"
прекрасно работает не только при запуске на живой системе, но и на T13

Dmitry_K 15-02-2010 20:18 1347904

Цитата:

Цитата ya158
Возможно ли организовать проверку наличия файла? Например, если есть файл с:\1.txt, то в диалоге 'FinishMessage' выводится сообщение "Файл присутствует", если этого файла нет, то в диалоге 'FinishMessage' выводится сообщение "Файла нет" »

силами модуля нет, но можно реализовать задуманное при помощи cmd-vbs
Цитата:

Цитата Amigos
RunProgram="hidcon:cmd /c copy magiclogon.wav %SystemRoot%\\Media" »

попробуй так
Код:

RunProgram="hidcon:cmd /c copy \"%%T\\magiclogon.wav\" \"%SystemRoot%\\Media\\magiclogon.wav\""
для других вариантов - соответственно

ya158 15-02-2010 21:05 1347957

Цитата:

Цитата Dmitry_K
силами модуля нет, но можно реализовать задуманное при помощи cmd-vbs »

Подскажи, пожалуйста, как это сделать.

gora 15-02-2010 21:30 1347983

Цитата:

Цитата Amigos
самое обидное, на t13 обе переменных определены »

Проблема может быть в существовании папки %SystemRoot%\\Media на T13. Команда Copy, в отличии от команды xCopy, не создает папку в случае ее отсутствия и ни чего не копирует в не существующую папку. Попробуйте сначала создать эту папку, а потом в нее копировать, или используйте команду xCopy.

gora 15-02-2010 22:25 1348026

Вложений: 1
Цитата:

Цитата Dmitry_K
силами модуля нет »

Да, нельзя, но если очень хочется, то можно. ;)
Демо-пример проверки наличия файла %SystemDrive%\mark.txt

Amigos 16-02-2010 07:15 1348270

Цитата:

Цитата gora
Проблема может быть в существовании папки %SystemRoot%\\Media на T13 »

Нет, эта папка существует.
Цитата:

Цитата gora
Команда Copy, в отличии от команды xCopy, не создает папку в случае ее отсутствия и ни чего не копирует в не существующую папку. »

Спасибо, не знал.

исходный посыл
Цитата:

Цитата Amigos
проблемы с копированием при запуске на T13 - Wav файл не копируется »

оказался неверным
На самом деле, всё копируется, дело оказалось в аддоне "Sounds Vista 2.0", который полностью удаляет все стандартные звуки (и magiclogon.wav до кучи) из %SystemRoot%\Media :)

DrGrechkin 22-02-2010 14:36 1353297

к сожалению модуль 7zsd_140_1659_x64 совершенно не запускается на WinXP x64 SP2 eng
выдает this application failed to start because the application configuration is incorrect.
при этом на win 7 работает нормально

WalkManX 22-02-2010 19:55 1353495

Уважаемый Oleg_Sch а возможна сделать в контекстное меню Windows например пункт "7-zip SFX" и там подменю как в Total Commander-е при работе с 7z Button 1. Извлечь компоненты определенные в .ini файле (4) 2. Просмотреть файл конфигураций ну и т.д., т.е. проще говоря встроить 7z Button в контекстное меню проводника Windows... надеюсь вы поняли мою идею...

Bond01 22-02-2010 19:58 1353500

WalkManX, попробуйте сами с помощью FileMenu Tools 5.8 http://forum.oszone.net/thread-80611-9.html

WalkManX 22-02-2010 20:07 1353511

Bond01, Да добавить пункты в контекстное меню не трудно и без FileMenu Tools а вот заставить программу заработать труднее... я вот добавил в реестр эту строчку
Код:

[HKEY_CLASSES_ROOT\*\Shell\7zButton\command]  @="C:\\Program Files\\7z SFX Tools\\Button.exe \"%L\""
но она не хочет работать... :( видать она настроена под TC

Amigos 22-02-2010 20:24 1353522

Цитата:

Цитата WalkManX
видать она настроена под TC »

ага %L действует только внутри TC, вне его это просто 2 символа, от которых "кнопке" никакого толка :(

WalkManX 22-02-2010 20:34 1353531

Amigos, Так я пробовал и с параметром %1 и без параметров результата нету, в принципе там что та фунциклирует запускается батник Y7AK3NDB.bat и 7zBUT.exe но коне4ного результата нету :(

gora 22-02-2010 20:38 1353535

WalkManX, прекращаем оффтопить! Обсуждение кнопки на форуме закрыто, есть вопросы, пишите в почту (ящик на странице кнопки).

Amigos 22-02-2010 20:45 1353540

Цитата:

Цитата WalkManX
Так я пробовал и с параметром %1 »

Цитата:

%L, %l, %F, %f, %D, %d создаёт файл списка в каталоге, заданном переменной TEMP, с именами выбранных файлов и каталогов и добавляет имя этого файла списка в командную строку. Список удаляется автоматически, когда запущенная программа завершается.
Т.е. в TC "кнопка" получает имя временного файла, в котором перечисляются выделенные файлы.
В "проводнике" такого функционала (сохранить список выделенных файлов в текстовый файл) нету :(

Pozia 25-02-2010 21:13 1355956

Цитата:

Цитата gora
RunProgram="hidcon:cmd /c If Exist \"%Windir%\\system32\\MarkerXP.m\" run.cmd" »

а как подправить тобы вместо выполнения после проверки происходила распаковка в нужную папку?

gora 25-02-2010 21:42 1355978

Цитата:

Цитата Pozia
вместо выполнения после проверки происходила распаковка в нужную папку? »

Делайте "матрешку" и после проверки запускайте второй, внутренний sfx. Во втором и будет основной, сильно-сжатый архив, а первый sfx может быть просто оболочкой без сжатия (метод Copy) служащей только для запуска внутреннего при определенном условии и/или определенными ключами.

А вообще задача имеет три варианта решения:
1 "Матрешка"
2 Рекурсивный запуск SFX
3 Встроенный в SFX автономный архиватор

Вариант надо выбирать исходя из поставленной конкретной задачи и размеров самого архива.

Pozia 25-02-2010 21:56 1355990

gora, ну моя задача следующая:
1. Проверить по маркерному файлу какая винда XP или Seven.
2. Проверить наличие в каталоге, куда будет происходить распаковка, наличие exe файла программы. Если его там нет собственно и распаковать программу в каталог проверки.
3. Если была произведена распаковка то применить файлы реестра в соответствии с определением текущей Windows для XP или для Seven.

Размер архива в несжатом состоянии - 600 метров, при максимальном сжатии - 200. Как мне лучше поступить? Главная цель - быстрота распаковки в конечный каталог не забывая о сжатии

gora 25-02-2010 22:02 1355994

Цитата:

Цитата Pozia
Размер архива в несжатом состоянии - 600 метров, при максимальном сжатии - 200. Как мне лучше поступить? Главная цель - быстрота распаковки в конечный каталог не забывая о сжатии »

Вариант №3 и только он!

Pozia 25-02-2010 22:21 1356012

Цитата:

Цитата gora
3 Встроенный в SFX автономный архиватор »

а это как? даже не представляю как его встроить (

gora 25-02-2010 22:51 1356032

Цитата:

Цитата Pozia
а это как? »

1 Сожмите все свои файлы (600 MB) в архив 1.7z. Сжатие лучше сделать максимальным и LZMA2 (попробуйте разные варианты той же Кнопкой).
2 Положите рядом c 1.7z автономный архиватор, например, 7zr.exe. Скачать можно здесь (входит в состав 7z910_extra.7z)
3 Создайте из 1.7z и 7zr.exe архив 2.7z. Архив создайте "без сжатия".
4 В файле конфигурации не указывайте параметр InstallPath (распаковка будет во временную папку) и пропишите что-то вроде:
Код:

RunProgram="hidcon:cmd /c If Exist \"%Windir%\\system32\\MarkerXP.m\" 7zr.exe x 2.7z  -oc:\\soft -y>Nul"
Выделен путь распаковки, подробнее про ключи архиватора прочитайте в справке, т.к., они тоже зависят от вашей задачи (нужно знать структуру вашего архива).

Остальное додумаете сами, т.к., данных из ваших п.п. 1...3 недостаточно для написание полного файла конфигурации.

5 Создайте SFX из архив 2.7z и написанного файла конфигурации. :)

Pozia 25-02-2010 23:25 1356063

gora, спасибо. буду пытаться

Oleg_Sch 28-02-2010 03:47 1357842

Цитата:

Цитата DrGrechkin
к сожалению модуль 7zsd_140_1659_x64 совершенно не запускается на WinXP x64 SP2 eng
выдает this application failed to start because the application configuration is incorrect.
при этом на win 7 работает нормально »

Проблему воспроизвел, связана с отсутствием msvcr80.dll
Решается установкой Microsoft Visual C++ 2005 Redistributable Package (x64)
Но я постараюсь как-нибудь избавиться от ее использования.

Цитата:

Цитата WalkManX
Уважаемый Oleg_Sch а возможна сделать в контекстное меню Windows например пункт "7-zip SFX" и там подменю как в Total Commander-е при работе с 7z Button 1. Извлечь компоненты определенные в .ini файле (4) 2. Просмотреть файл конфигураций ну и т.д., т.е. проще говоря встроить 7z Button в контекстное меню проводника Windows... надеюсь вы поняли мою идею... »

Идею я понял, и у многих витает она давно, но у меня нет времени на ее реализацию.

Oleg_Sch 23-03-2010 08:24 1375059

Модули и справка обновлены.
Цитата:

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)


1.4 alpha (сборка 1659) 12.02.10
+ Префиксы 'x64', 'x86' в конфигурационном файле


1.4 alpha (сборка 1643) 27.01.10
# Использован исходный код 7-Zip версии 9.10 beta от 22 декабря 2009 г.
# Проект полностью переведен на VS2005
* Сохранение позиций окна в ходе одного запуска SFX. Если выведенное окно перемещено пользователем, то все последующие окна выводятся в том месте, куда было перемещено предыдущее окно.
* Кнопка "Готово" в "собственном" диалоге 'FinishMessage' (7ZSD_LZMA_Dialogs.sfx) не меняет размер и положение при обратном отсчете времени
* Форматирование окна с информацией о версии SFX модуля и т.д. (ключ '-sfxversion')
+ Поддержка многоязыковых файлов конфигурации
+ Ключ '-sfxlang' и идентификатор языка в сигнатурах файла конфигурации
+ Индикатор процесса распаковки (ProgressBar) на значке SFX архива в панели задач для Windows 7
+ Флаг 8192 'GUIFlags' отключает индикатор процесса распаковки на значке SFX архива в панели задач для Windows 7


1.4 alpha (сборка 1599) 13.12.09
# Использован исходный код 7-Zip версии 9.09 beta от 12 декабря 2009 г.
* Некорректное извлечение сплитером архива и файла конфигурации (Stanner, gora:forum.oszone.net)
* Заменена иконка (некорректное отображение в Windows 7) (gora:forum.oszone.net)
* Некорректное определение языка в зависимости от региональных настроек системы (YuriPet:forum.oszone.net)

Oleg_Sch 02-04-2010 10:33 1383124

Обновление
Цитата:

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)

Habetdin 03-04-2010 20:16 1384408

Oleg_Sch, 7z SFX Tools 1.4 alpha (сборка 1704) без файла конфигурации?
"Невозможно прочитать или отсутствует файл конфигурации SFX-архива"
MD5
4e4e9eee7b9bbf2f6264d05af686a61e *7zsd_tools_140_1704.exe

gora 03-04-2010 20:32 1384417

Исправленный файл 7zsd_tools_140_1704.exe.

Oleg_Sch 04-04-2010 06:50 1384619

Цитата:

Цитата Habetdin
Oleg_Sch, 7z SFX Tools 1.4 alpha (сборка 1704) без файла конфигурации?
"Невозможно прочитать или отсутствует файл конфигурации SFX-архива"
MD5
4e4e9eee7b9bbf2f6264d05af686a61e *7zsd_tools_140_1704.exe »

Цитата:

Цитата gora
Исправленный файл 7zsd_tools_140_1704.exe. »

Исправленный теперь доступен по основной ссылке, т.е. http://7zsfx.info/files/7zsd_tools_140_1704.exe

Oleg_Sch 10-04-2010 16:59 1389523

С учетом того, что самому мне заниматься справкой некогда и ей занимается один gora (за что ему отдельное "спасибо"), и, возможно, какие-то вопросы не расписаны так, как вам хотелось бы, решил возложить написание справки на общественность.
Благодаря http://7zsfx.info/ru/wiki/ , теперь каждый может поучаствовать в создании полноценной справки.
Т.к. для меня это первый wiki-проект, возможны баги. С радостью приму замечания знатоков Mediawiki.
Все вопросы по поводу функционала самой wiki лучше адресовать в почту или ПМ (или саму wiki в "Пожелания и замечания автору").

Сейчас wiki пуста, только пару тестовых страниц, очень надеюсь на ваше участие.

saym101 23-04-2010 17:00 1399331

Помогите разобраться. Сделал конфиг
Код:

InstallPath="%ProgramFiles%"
SetEnvironment="PathInst1=%ProgramFiles%\\tri-progi\\TaskSwitchXP"
RunProgram="\"%PathInst1%\\TaskSwitchXP.exe\""

После запуска на установку выскакивает ошибка:
Цитата:

Произошла ошибка при выполнении ""C:\Program Files\ ri-progi\\TaskSwitchXP\\TaskSwitchXP.exe""
Не удается найти указанный файл.
\ ri-progi - не опечатка. именно так и выскакивает.

Dmitry_K 23-04-2010 17:30 1399339

Цитата:

Цитата saym101
\ ri-progi - не опечатка. именно так и выскакивает. »

внимательно читаем справку:
Код:

ВАЖНО! Следующие двухсимвольные последовательности
в "значение_параметра" заменяются односимвольными:
\\ = \
\" = "
\n = перевод строки
\t = табуляция

Если надо указать обратный слеш (\) (например, в путях или тексте диалога),
НЕОБХОДИМО использовать ДВОЙНОЙ (\\), а если "значение_параметра"
или текст диалога содержит кавычки ("), НЕОБХОДИМО перед ними использовать
обратный слеш (\") (правило "лидирующего слеша").

Двухсимвольные последовательности \n и \t зависят от регистра.
Т.е., \N и \T НЕ будут заменяются односимвольными.


gora 23-04-2010 18:16 1399364

saym101, сообщите версию модуля, приведите файл конфигурации полностью.
В приведенном куске нет ошибок, но возможно они есть в отсутствующей части файла.
Ошибка может быть и в структуре самого архива, лучше выложить весь SFX архив и дать здесь ссылку на него.

Какая ОС?

saym101 26-04-2010 08:57 1400786

Версия модуля - 1.4.0.1704
Вот конфиг
Код:

;!@Install@!UTF-8!
Title="Install Triprogi"
BeginPrompt="Prepare for install......"
ExtractTitle="Triprogi"
InstallPath="%ProgramFiles%"
SelfDelete="1"
SetEnvironment="PathInst1=%ProgramFiles%\\tri-progi\\TaskSwitchXP"
SetEnvironment="PathInst2=%ProgramFiles%\\tri-progi\\taskbar_shuffle"
SetEnvironment="PathInst3=%ProgramFiles%\\tri-progi\\WinRoll_RE"
SetEnvironment="PathInst4=%ProgramFiles%t\\ri-progi"
RunProgram="\"%PathInst1%\\TaskSwitchXP.exe\""
RunProgram="\"%PathInst2%\\taskbarshuffle.exe\""
RunProgram="\"%PathInst3%\\winroll.exe\""
RunProgram="\"%PathInst4%\\flashwheel-VistaFix.exe\""
Shortcut1="P,{%PathInst1%\\TaskSwitchXP.exe},{},{},{Замена Alt-Tab},{TaskSwitchXP Настройка},{%PathInst1%}"
GUIMode="2"
FinishMessage="All"
;!@InstallEnd@!

Разархивируется нормально как и положено, а вот с запуском проблема. Винь ХР

Nun-Nun 26-04-2010 13:53 1400982

gora,

Прошу прощения, подсмотрел в Ваших аддонах структуру и попытался воспользоваться, но выскакивает ситуация, аналогичная saym101, только вот с этим конфигом:
Код:

;!@Install@!UTF-8!
SetEnvironment="Name=Portable WinRAR"
SetEnvironment="FullName=Portable WinRAR 3.93 Final"
SetEnvironment="nVer=393"
SetEnvironment="Vers=3.93 Final"
SetEnvironment="InstPath=C:\\ARC\\Portable WinRAR 3.93 Final (RUS)"
SetEnvironment="StartEXE=WRAR393.exe"
Title="Установка %Name% %Vers%"
BeginPrompt="Сейчас будет установлен %FullName%."
FinishMessage="%Name% %Vers% установлен!"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Подождите..."
RunProgram="x86:fm20:\"%StartEXE%\" /q INSTALLDIR=\"%InstPath%\""
AutoInstall="x86:fm20:\"%StartEXE%\" /q INSTALLDIR=\"%InstPath%\""
RunProgram="x86:hidcon:cmd /c If Exist \"%%S\\WRAR393.reg\" REGEDIT /S \"%%S\\WRAR393.reg\""
AutoInstall0="x86:%StartEXE% /q INSTALLDIR=\"%InstPath%\""
Shortcut="Du,{%%T\\WinRARPortable.exe},{},{},{},{%FullName%}"
Shortcut1="Pu,{%%T\\WinRARPortable.exe},{},{Архиваторы\\%FullName%},{Run %FullName%},{%FullName%},{%InstPath%},{%InstPath%\\WinRARPortable.exe},{1}"
;!@InstallEnd@!


gora 26-04-2010 13:57 1400985

Цитата:

Цитата saym101
SetEnvironment="PathInst4=%ProgramFiles%t\\ri-progi" »

Так вот же оно! Что написали, то и получили.

2 Nun-Nun
У Вас другой случай. WRAR393.exe в вашем аддоне видимо оригинальный инсталлятор архиватора? Он не поддерживает ключи msi инсталляторов, которые Вы пытаетесь использовать.
Цитата:

Цитата Nun-Nun
RunProgram="x86:fm20:\"%StartEXE%\" /q INSTALLDIR=\"%InstPath%\"" »


Nun-Nun 26-04-2010 14:09 1400993

gora,

Нет, это не оригинальный инсталлятор архиватора. Этот exe-шник сделан с помощью кнопки 7-Zip в TC (версия кнопки - последняя).

gora 26-04-2010 14:19 1401005

Цитата:

Цитата Nun-Nun
Этот exe-шник сделан с помощью кнопки »

Так у Вас "матрешка" (один 7z SFX внутри другого)? Вот у Вас строка:
Цитата:

Цитата Nun-Nun
SetEnvironment="StartEXE=WRAR393.exe" »

Т.е. в вашем SFX архиве лежит еще один SFX с именем WRAR393.exe? Даже в таком случае модуль не поймет ваших msi ключей, они для него ни чего не значат и они будут переданы в первую команду исполнения где и вызовут ошибку.
Вообще, формулировка
Цитата:

Цитата Nun-Nun
выскакивает ситуация, аналогичная saym101 »

в вашем случае некорректна, нужно приводить скриншот или точный текст из окна ошибки, т.к., текст явно другой, как и причина.

saym101 26-04-2010 15:53 1401074

gora,
Та ошибка что указал не влияет на запуск. Вернее влияет но относится не к той что выскакивает.
Цитата:

Цитата saym101
Произошла ошибка при выполнении ""C:\Program Files\ ri-progi\\TaskSwitchXP\\TaskSwitchXP.exe""
Не удается найти указанный файл. »

Даже после исправления все одно та же ошибка. Глотает букву и хоть что с ним делай.

Разобрался. Причина была в названии папки. Видимо %ProgramFiles%\\tri-progi кусок кода именно как \t воспринимался программой как \t = табуляция отсюда и проблема. После переименования заработало. Но это ведь так не должно быть? Или должно? Называйся как хочешь кроме папки где имя начинается на - t.

Но возникла другая проблема. Запускается только то что лежит в корне, а то что далее не хочет. Или через раз. И сам установщик висит в задачах.

Oleg_Sch 26-04-2010 16:07 1401079

Цитата:

Цитата saym101
Даже после исправления все одно та же ошибка. Глотает букву и хоть что с ним делай. »

Конфиг в оригинальном варианте (именно файл) в почту или на какой-нибудь сервер, сопроводите полной командной строкой для тестирования.

saym101 26-04-2010 16:18 1401090

Спасибо, разобрался. Отписал выше чуть. Причем каким то немысленным образом вся структура записалась в 7zsd_LZMA.sfx заметил когда решил попробовать по новой переписать файл для пробы, ну мало ли что. А вырос до размера архива. И какие б изменения не делал всегда один и тот же результат выскакивал, видимо он из своего кеша подменял.))))

Теперь вот Запускается только то что лежит в корне, а то что далее не хочет. Или через раз что то одно. И сам установщик висит в задачах.

gora 26-04-2010 16:21 1401097

Цитата:

Цитата saym101
Разобрался. Причина была в названии папки. »

Не подтверждаю. Все прекрасно работает и с такими путями. Вам предлагалось выложить ссылку на Ваш SFX, Вы проигнорировали.
Прикрепил свой SFX с вашим конфигом и вашими путями. За неимением exe файлов они заменены на одноименные cmd файлы с соответствующей правкой расширений в конфиге.
Цитата:

Цитата saym101
Причем каким то немысленным образом вся структура записалась в 7zsd_LZMA.sfx »

Вероятно Вы используете "излеченный" откуда-то модуль, а не исходный.

saym101 26-04-2010 16:42 1401111

Да нет, модуль от производителя. Видно при первых тренировках что то прописал не так в путях упаковки. Все одно не выходит. Проигнорировал, посчитал что все заработало. Поспешил.
Прилипляю архив со своим конфигом.

Nun-Nun 26-04-2010 19:41 1401224

gora,
Цитата:

Цитата gora
Так у Вас "матрешка" (один 7z SFX внутри другого)?
Т.е. в вашем SFX архиве лежит еще один SFX с именем WRAR393.exe? Даже в таком случае модуль не поймет ваших msi ключей, они для него ни чего не значат и они будут переданы в первую команду исполнения где и вызовут ошибку.

Может оно и матрёшка, но не WRAR393.exe внутри WRAR393.exe. Внутри WRAR393.exe расположены:
App - папка с подпапками и файлами
Data - папка с подпапкой и файлами
WinRARPortable.exe - файл
WinRARPortable.ini - файл
WRAR393.reg - файл

Всё это я сначала пакую в архиватором 7-Zip в файл WRAR393.7z. Потом кнопкой 7-Zip в TC создаю файл WRAR393.exe из файлов WRAR393.7z, WRAR393.ico, WRAR393.res, WRAR393.txt. На всякий случай вот содержание txt-шника:
Код:

;!@Install@!UTF-8!
SetEnvironment="Name=Portable WinRAR"
SetEnvironment="FullName=Portable WinRAR 3.93 Final"
SetEnvironment="nVer=393"
SetEnvironment="Vers=3.93 Final"
SetEnvironment="InstPath=C:\\ARC\\Portable WinRAR 3.93 Final (RUS)"
SetEnvironment="StartEXE=WRAR393.exe"
Title="Установка %Name% %Vers%"
BeginPrompt="Сейчас будет установлен %FullName%."
FinishMessage="%Name% %Vers% установлен!"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Подождите..."
RunProgram="x86:fm20:\"%StartEXE%\" /q INSTALLDIR=\"%InstPath%\""
AutoInstall="x86:fm20:\"%StartEXE%\" /q INSTALLDIR=\"%InstPath%\""
RunProgram="x86:hidcon:cmd /c If Exist \"%%S\\WRAR393.reg\" REGEDIT /S \"%%S\\WRAR393.reg\""
AutoInstall0="x86:%StartEXE% /q INSTALLDIR=\"%InstPath%\""
Shortcut="Du,{%%T\\WinRARPortable.exe},{},{},{},{%FullName%}"
Shortcut1="Pu,{%%T\\WinRARPortable.exe},{},{Архиваторы\\%FullName%},{Run %FullName%},{%FullName%},{%InstPath%},{%InstPath%\\WinRARPortable.exe},{1}"
;!@InstallEnd@!

Цитата:

нужно приводить скриншот или точный текст из окна ошибки, т.к., текст явно другой, как и причина.
Вот содержание сообщения об ошибке:
Произошла ошибка при выполнении ""WRAR393.exe /q INSTALLDIR=C:\ARC\Portable WinRAR 3.93 Final (RUS)"".
Не удаётся найти указанный файл.

Amigos 26-04-2010 19:46 1401231

Цитата:

Цитата Nun-Nun
Произошла ошибка при выполнении "WRAR393.exe /q INSTALLDIR=C:\ARC\Portable WinRAR 3.93 Final (RUS)"".
Не удаётся найти указанный файл. »

всё правильно. если вам верить, то файла WRAR393.exe у вас внутри нет. есть
Цитата:

Цитата Nun-Nun
WinRARPortable.exe - файл »


Nun-Nun 26-04-2010 19:55 1401237

Amigos,

Тогда как будет правильно? Впринципе, всё, что необходимо - это скопировать содержимое архива в папку C:\\ARC\\Portable WinRAR 3.93 Final (RUS), выполнить reg-файл и создать иконки.

Habetdin 26-04-2010 22:14 1401337

Nun-Nun,
Код:

;!@Install@!UTF-8!
Title="Установка WinRAR 3.93 Final"
BeginPrompt="Сейчас будет установлен WinRAR 3.93 Final."
FinishMessage="WinRAR 3.93 Final установлен!"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Подождите..."
RunProgram="x86:hidcon:cmd /c If Exist \"%%S\\WRAR393.reg\" REGEDIT /S \"%%S\\WRAR393.reg\""
InstallPath="%SYSTEMDRIVE%\\ARC\\WinRAR"
GUIMode="1"
Shortcut="Du,{%%T\\WinRARPortable.exe},{},{},{},{WinRAR 3.93 Final}"
Shortcut="Pu,{%%T\\WinRARPortable.exe},{},{Архиваторы\\WinRAR 3.93 Final},{Run WinRAR 3.93 Final},{WinRAR 3.93 Final},{%%T},{%%T\\WinRARPortable.exe},{1}"
;!@InstallEnd@!


Nun-Nun 26-04-2010 22:55 1401360

Habetdin,

Да, вот ведь я чайник!
Большое спасибо! А каким-то образом в Панели задач иконку тоже создать можно? В справке по sfx я этого что-то не нашёл.

shao 02-05-2010 17:44 1405268

Скажите пожалуйста, как можно изменить размер окна финального сообщения "FinishMessage"?

З.Ы. Искал по поиску - нет такой информации .
Увас , Олег, на сайте есть информация по изменению размера ширины окна диалога процесса распаковки и ширины окона диалога для ввода пути распаковки.

gora 02-05-2010 18:09 1405277

Цитата:

Цитата shao
как можно изменить размер окна финального сообщения "FinishMessage"? »

Специальных параметров для этого не предусмотрено, но можно сделать, например, так:



и получим это:


shao 02-05-2010 23:01 1405427

Цитата:

Цитата gora
можно сделать, например, так: »

Т.е мы , фактически, кавычками устанавливаем размер окна...

Отлично ! Работает!


Пожалуйста gora, ещё вопрос к Вам.
Вы экспериментальным методом дошли до этого или знали принцип ?

gora 02-05-2010 23:13 1405432

Цитата:

Цитата shao
Вы экспериментальным методом дошли до этого или знали принцип ? »

Размер окна определяется текстом, в текстовом параметре. Высота определяется числом строк в этом параметре, а ширина окна определяется самой длинной строкой. Весь текст в параметре должен быть заключен в кавычки. Просто я записал в удобном для восприятия виде (недокументированная возможность), а можно и традиционно:
Код:

FinishMessage="\t\t\t\t\t\t\t\t\t\t\t\n\n\n\n\t\t\t\tМаленький текст\n\t\t\t\tв большом окне!\n\n\n\n"

shao 03-05-2010 00:22 1405483

Очередной раз - всё гениальное просто.
В принципе, так и предполагал , но не обратил внимание , что я изменял текст по длине в "Title", а нужно было текст самого финального сообщения.
Вообщем спасибо за подсказку !!!!

shao 11-05-2010 09:38 1410738

Ещё вопрос:

С помощью модуля создаётся исполняемый файл ( SFX - архив, внутри которого находятся два пакетных файла , которые один запускает второй. ) Используется простая кнофигурация:

Код:

;!@Install@!UTF-8!

RunProgram="install.cmd"
GUIFlags="40"
GUIMode="2"
InstallPath="%TMP%\\7z"
Delete="%TMP%\\7z"


;!@InstallEnd@!

Но при запуске соданного SFX - архива ничего не происходит , только висит консольное окно :

Код:

"второй пакетник.cmd" не является внутренней или внешней командой , исполняемой программой или пакетным файлом
Хотя при проверке работы самих двух пакетников - всё работает...

wadimus 11-05-2010 10:08 1410747

Цитата:

Цитата shao
Но при запуске соданного SFX - архива ничего не происходит , только висит консольное окно »

воспользуйтесь командой call (в терминальном окне наберите call/? и читайте)
Код:

..
call <второй пакетный файл>
..


sLiDeR-X 11-05-2010 10:10 1410750

shao, скорей всего дело в самих bat-файлах. Попробуйте запустить install.cmd и остальные наверняка не запустятся.
Поэтому пишите несколько RunProgram в теле конфига

gora 11-05-2010 10:29 1410762

Цитата:

Цитата shao
Но при запуске соданного SFX - архива ничего не происходит , только висит консольное окно :
Код:
"второй пакетник.cmd" не является внутренней или внешней командой , исполняемой программой или пакетным файломХотя при проверке работы самих двух пакетников - всё работает... »

А привести текст этих батников нельзя? А то у нас все телепаты в командировке. ;)

shao 11-05-2010 18:27 1411101

Цитата:

Цитата sLiDeR-X
Попробуйте запустить install.cmd и остальные наверняка не запустятся. »

Цитата:

Цитата shao
Хотя при проверке работы самих двух пакетников - всё работает... »

!!!!



Цитата:

Цитата gora
А привести текст этих батников нельзя »

А как-то и не подумал , что проблема может быть в содержимом батников. Думал , что скорее в модуле или даже в конфиге...

Цитата:

Цитата gora
А то у нас все телепаты в командировке. »

А надо-было бы держать дежурного штатного. На всяк случай ..... :tongue:


install.cmd
Код:

start /b  run.cmd
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

Повторюсь , что без участия модуля они вместе работают нормально.

gora 11-05-2010 19:03 1411116

Цитата:

Цитата shao
Хотя при проверке работы самих двух пакетников - всё работает... »

А Вы пробовали их запустить из указанного у Вас пути?
Цитата:

Цитата shao
InstallPath="%TMP%\\7z" »

Вы же удаляете все папки в папке %TMP%
Цитата:

Цитата shao
pushd "%userprofile%\Local Settings\Temp"
rd /s /q .
popd »

Хотя назначение точки мне непонятно. :dont-know
Цитата:

Цитата shao
del "%userprofile%\Local Settings\Temp"\*.* /Q »

Так путь в кавычки не заключают, должно быть так
Код:

del "%userprofile%\Local Settings\Temp\*.*" /Q

shao 12-05-2010 00:08 1411317

Цитата:

Цитата gora
А Вы пробовали их запустить из указанного у Вас пути? »

Пробовал.А смысл ? Они же удалятся.

Цитата:

Цитата gora
Так путь в кавычки не заключают »

Да , но работает..


Как я понимаю механиз работы модуля такой :
Происходит распаковка в указанную директорию - %TMP%
Оттуда из папки 7z происходит запуск батника , указанного в конфигурации.
Удаляются все файлы и папки , по путям, указанным в батнике.
Но почему после отработки батника не удаляется папка 7z ??!!
Ведь в конфиге указано
И ещё непонятно - в конфиге к модулю указано
Код:

Delete="%TMP%\\7z"
И ещё : Всё работает с батника install.cmd , если:
Код:

start "" hidcon.exe run.cmd
но после замены его же на
Код:

start /b run.cmd
начинается вышеуказанное
Код:

"второй пакетник.cmd" не является внутренней или внешней командой , исполняемой программой или пакетным файлом
???????

Habetdin 12-05-2010 00:23 1411328

shao,
Цитата:

Цитата start /?
START ["заголовок"] [путь] ...

Код:

start "<заголовок>" "%TMP%\7z\run.cmd" /b
<заголовок> можно оставить пустым, а можно и что-нибудь написать :)

Oleg_Sch 12-05-2010 02:26 1411371

shao, проблема дочерних процессов и раннего удаления папки.
Попробуйте start /wait для run.cmd

shao 12-05-2010 13:33 1411626

Спасибо всем, но я теперь вообще запутался :)

Если я указываю в install.cmd
Код:

start /wait %TMP%\7z\run.cmd" /b
или просто
start  %TMP%\7z\run.cmd" /b

то вот , что происходит (и окно не закрывается, висит...)

gora 12-05-2010 13:56 1411645

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", которых вполне достаточно для вашей задачи и никаких батников при этом не потребуется.

shao 12-05-2010 23:53 1411984

gora, спасибо, очень доступно и доходчиво объяснили всё.

Цитата:

Цитата gora
Вы же "рубите сук на котором сидите" »

Я согласен - ситуация нестандартная. Модуль распаковывает батники в ту же папку
для того , чтобы удалить всё из этой же папки :o


Цитата:

Цитата gora
Не распаковывайте скрипты в директорию, которую Вы собираетесь ими же уничтожить!
»

- Я пробовал изменить путь распаковки. Проблема та же. Консольное окно висит и папка "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, к Вам вопрос :

Подскажите пожалуйста или сориентируйте , где можно почерпнуть инфо о том , как воспользоваться модулем в данной ситуации. На сайте читал инфу об этом, но как технически, без батников это сделать - не совсем понимаю
Цитата:

Цитата gora
в модуле есть команды Delete="file_or_folder_name", которых вполне достаточно для вашей задачи и никаких батников при этом не потребуется. »


gora 13-05-2010 09:31 1412147

Цитата:

Цитата shao
как воспользоваться модулем в данной ситуации. »

На счет команды 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@!

Содержимое самого архива может быть любым.

mom1 13-05-2010 20:49 1412676

Люди много читал данный форум но не увидел Можно ли выполнять какие либо действия например выполнять командную строку перед распаковкой файлов.
заранее спасибо.

shao 15-05-2010 05:35 1413675

Цитата:

Цитата gora
можно использовать такой файл конфигурации: »

Отлично, всё работает. Убеждаюсь , что у модуля большие возможности ,
а у Вас, gora, большой опыт и навыки . Спасибо!

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

END :)

Sonyа 26-05-2010 08:54 1421307

Приветствую, уважаемые!

Помогите, пожалуйста, в решении следующего вопроса:

есть архив со множеством мелких программок (конкретно программы от nirsoft в количестве 130 шт). Хочу сделать sfx архив, чтобы его можно было запускать, указав имя или маску файлов. То есть, чтобы они не все извлекались, а только нужные, иначе очень долго получится. После извлечения - запускалась заданная программа. После отработки - удалялся временный каталог. Такое возможно с данным модулем?

PS: сейчас они лежат в uha архиве, извлекаются по одиночке, для каждой программы свой батник, что очень неудобно.

gek20080402 10-06-2010 13:48 1431492

Добрый день уважаемые форумчане столкнулся с такой задачей в 7z проблема в том что мне нужно извлекать базы данных в определнную папку которая называетя law! оболочка для базы данных всегда устанвливается на диск с и тоже в папку law а вот базы данных в зависимости от размера жесткого диска (так как базы очень большие более 15 гигов) приходится их устанвливать на другие диски где больше места делается это с учетом того что базы постояно растут и обновляются!!!
Теперь собсвенно вопрос можно ли реализовать в 7 zip чтобы он искал путь автоматически папку law но извлекал архивы в ту папку где обьем больше 10гигов
Заранее спасибо за ваши ответы
Хотя бы подскажите где начать рыть а дальше я сам как нить разберусь

Bond01 10-06-2010 18:33 1431664

gek20080402, вот здесь посмотрите http://forum.oszone.net/forum-102.html

gek20080402 11-06-2010 08:18 1431959

Bond01,
Спасибо поищу там если не найду то создам там свою ветку

Oleg_Sch 15-06-2010 13:29 1434485

Очередное обновление.

Цитата:

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, можете наполнять ее, можете создать FAQ, примеры конфигураций и т.д. Сам я заниматься этим не буду, отвечу только на конкретные вопросы, подправлю баги сайта wiki, которые найдутся.
2. Создал SVN репозиторий (тоже пока в тестовом режиме). Те, кто "в теме", поймут о чем я.
Репозиторий модуля:
svn://svn.7zsfx.info/7zsfxmod/
http://svn.7zsfx.info/7zsfxmod/
Так же возможен websvn http://svn.7zsfx.info
Анонимный доступ только для чтения, если кто изъявит желание создать собственную ветку или добавить свою модификацию в основную, пишите мне в почту или ПМ и я предоставлю доступ на запись.

jentoso 16-06-2010 10:56 1435116

Цитата:

Цитата Oleg_Sch
Пример тестовой wiki, показывает, что на соучастие не стоит особо надеяться, но все же может найдутся энтузиасты. »

НИчего не смыслю в wiki, но пару страниц все таки сделал (но с ошибками)

Oleg_Sch 16-06-2010 12:12 1435176

Цитата:

Цитата jentoso
НИчего не смыслю в wiki, но пару страниц все таки сделал (но с ошибками) »

Спасибо, я заметил еще вчера. Хоть я и стал уделять модулю гораздо меньше времени, его развитие мне небезразлично.
Таких бы еще "человек несколько" ;)

P.S. а ошибки могут увидеть другие и, при желании, подправить. Для того и ставил wiki

Oleg_Sch 27-06-2010 12:05 1442557

Обновление:

Цитата:

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 1442648

С учетом того, что ветку 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 1443536

Вложений: 1
Пожалуйста, подскажите! Уже всю голову сломал.

"Помощник по совместимости программ" всегда выдаёт сообщение после завершения всех процессов в SFX-архиве.
Как от него избавиться?

Вот config:
PHP код:

;!@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 1443538

Цитата:

Цитата ArtXGroup
Как от него избавиться? »

Отключить его
:happy:

ArtXGroup 29-06-2010 08:50 1443610

Это не решение... Не заставишь же ты всех пользователей отключать это.

Я так понимаю это как-то по errorlevels отслеживается. Но мне не удалось ничего этим добиться...

Как сделать так, чтобы 7zip не отслеживал работу, а завершался сразу после распаковки и запуска? Может быть это решит проблему.

Oleg_Sch 30-06-2010 09:53 1444323

ArtXGroup, нет, не по errorlevel
http://msdn.microsoft.com/en-us/library/bb756937.aspx

На чистой установке Windows7-32 rus на своих тестовых файлах я не смог добиться появления окон PCA
Вполне возможно, зависит от запускаемых программ.
Если Вы мне дадите какой-нибудь небольшой архив, который у Вас выдает эти окна, я попробую проверить.

Oleg_Sch 30-06-2010 14:51 1444548

У версии 1.5.0.1795 были проблемы с запуском программ
Цитата:

1.5.0.1798:
* При запуске внешних программ "папка распаковки" не устанавливалась как "папка по умолчанию"
Побеждено, если кто-то даст архив с вылезающим окном PCA, может и вторая будет решена.

http://7zsfx.info/develop/7zsd_150_1798_x86.7z
http://7zsfx.info/develop/7zsd_150_1798_x64.7z

ArtXGroup 30-06-2010 17:27 1444672

Вложений: 1
Во вложенном один из примеров!

VV2006 04-07-2010 09:45 1446870

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

п>ї;!@Install@!UTF-8!
InstallPath="%TEMP%\\Opera"
OverwriteMode="1"
RunProgram="hidcon:runUntrust.cmd"
GUIMode="2"
Delete="%TEMP%\\Opera"
;!@InstallEnd@!

Напрямую (RunProgram="Untrust.cmd") помещённый внутрь самораспака батник запускать нельзя - нужно задать ожидание выполнения Оперы с пониженными привелегиями, поэтому он запускается другим внутренним батником runUntrust.cmd:

runUntrust.cmd:
Код:

@start "Opera 10.60" /W Untrust.cmd&EXIT
Untrust.cmd
Код:

DropMyRights.EXE opera.exe -U
Проблема: на выходе из Оперы надо вручную закрывать окно батника runUntrust.cmd. Вопрос: можно ли как этого избежать, т.е. добиться автоматического закрытия окна при выходе из Оперы?

sLiDeR-X 04-07-2010 11:46 1446912

VV2006, попробуйте так:
runUntrust.cmd:
Код:

start /wait "Opera 10.60" Untrust.cmd
EXIT

либо так:
runUntrust.cmd:
Код:

call Untrust.cmd
EXIT


VV2006 04-07-2010 12:49 1446943

sLiDeR-X, увы - такой же результат: окно приходится закрывать вручную.

Dmitry_K 04-07-2010 18:19 1447125

Oleg_Sch, есть просьба: добавить дополнительные команды RunPreSetup и RunPostSetup, которые запускались бы соответственно в самом начале работы модуля (первой командой) и в самом конце (последней командой) в любом случае, независимо от того, присутствуют ли RunProgram'ы и AutoInstall'ы :blush2: это возможно?

VV2006, Untrust.cmd:
Код:

DropMyRights.EXE opera.exe -U
exit

правда он будет закрываться сразу... или нужно обязательно "закрытия окна при выходе из Оперы?"

VV2006 04-07-2010 19:14 1447146

Dmitry_K, как уже говорил выше, такой вариант не позволит Опере запуститься вообще (Error initializing Opera: module 10) - видимо, тут же начинается процесс "самоликвидации".

Dmitry_K 04-07-2010 19:33 1447156

Цитата:

Цитата VV2006
такой вариант не позволит Опере запуститься вообще (Error initializing Opera: module 10) »

странно... у меня запустилась
Код:

DropMyRights.EXE "%ProgramFiles%\Opera\opera.exe" -U
exit


VV2006 04-07-2010 21:57 1447209

Dmitry_K, тоже удивляюсь... :) Вообще, смысл затеи - не пересекаться с имеющимися инсталляциями Оперы: пришёл со "своей", поработал, ушёл, не оставив никакого мусора.
Потому логика такая: распаковка в подпапку темпа, свой настроенный профиль - внутри папки Оперы. Т.е. до работы - один экзешник на флешке, к примеру, работа - один каталог в темпе, после работы - удаление каталога в темпе.

Dmitry_K 05-07-2010 13:39 1447536

Цитата:

Цитата VV2006
Вообще, смысл затеи - не пересекаться с имеющимися инсталляциями Оперы: пришёл со "своей", поработал, ушёл, не оставив никакого мусора.
Потому логика такая: распаковка в подпапку темпа, свой настроенный профиль - внутри папки Оперы. Т.е. до работы - один экзешник на флешке, к примеру, работа - один каталог в темпе, после работы - удаление каталога в темпе. »

так бы сразу и сказали, нет ничего проще:
конфиг:
Код:

;!@Install@!UTF-8!
InstallPath="%TEMP%\\Opera"
OverwriteMode="1"
RunProgram="hidcon:startup.cmd"
GUIMode="2"
Delete="%TEMP%\\Opera"
;!@InstallEnd@!

startup.cmd:
Код:

@echo off
Set ProcessName=opera.exe
DropMyRights %ProcessName% -U
:Check
ping -n 1 -w 1 127.0.0.1 > nul
tasklist /FI "ImageName EQ %ProcessName%" | Find /I "%ProcessName%"
If "%ErrorLevel%"=="0" GoTo :Check

Работает под XP Pro, чтоб работало в XP Home, нужно включить утилиту tasklist в архив... под Win7 не тестил, но тоже должно работать при наличии tasklist в системе или архиве...
P.S. sfx-архив не должен быть с именем, указанном в строке Set ProcessName=

VV2006 05-07-2010 14:13 1447553

Dmitry_K, вот теперь всё Ok. Отличный способ, спасибо!

lorents 10-08-2010 11:39 1470660

Вложений: 1
Добрый день!
Помогите пожалуйста решить следующие вопросы:
1. Как заставить работать этот SFX модуль, вытащил его из программы NXPowerLite
2. Можно ли в модифицированный SFX модуль добавлять картинки, если да то как?
3. Модифицированный SFX модуль сам удаляет файлы после того как я закрываю приложение, которое он распаковал, если нет, то как это сделать?
4. как можно распаковать файлы (при этом процесс распаковки должен быть равен 50%) и запустить скрыто bat-файл (и как только bat-файл закроется, процесс распаковки равен 100%), после этого запускается определенное приложение?

Bond01 10-08-2010 12:17 1470680

lorents, а что справку не читаете?

lorents 10-08-2010 12:32 1470697

Bond01, читал, но ответы на вопросы не нашел

MKN 10-08-2010 15:32 1470830

lorents,
А зачем было "вытаскивать" SFX модуль из программы NXPowerLite ? Ведь есть же всегда доступный пакет на http://7zsfx.info/ru/.

Картинку модуля (7zsd_LZMA_Dialogs.sfx) можно замениить на другую ( с аналогичными параметрами) с помощью любого редактора ресурсов. Например, ResHacker_а.

По поводу удаления файлов из справки :
Цитата:

Его запуск (SFX архива) произведет распаковку архива во временную папку, запуск команды из конфигурационного файла, а по окончании установки удаление временной папки.
Или имеется ввиду какое либо другое удаление файлов ? Тогда что опишешь в файле конфигурации, то и получишь...

И что это за такой процесс распаковки до 50% (почему не 60-80 ?) с прерыванием на вставку bat-запуска ?

gora 10-08-2010 16:03 1470852

Bond01, MKN, он не читатель, он писатель. ;)
На свои вопросы он уже получил исчерпывающие ответы на другом форуме, где он запостил дубль своего поста 1055. Так что не тратьте время на пересказывание ему справки - пустое это занятие...

lorents 10-08-2010 16:26 1470866

gora, это мне уже второй человек говорит, что я писатель а не читатель. Ладно пойду почитаю справку.

LonerD 10-08-2010 16:46 1470875

Цитата:

Цитата MKN
И что это за такой процесс распаковки до 50% (почему не 60-80 ?) с прерыванием на вставку bat-запуска ? »

Наверное, для наглядности процесса, чтобы пользователь понимал, что процесс идет, а не завис. ))

lorents,
Цитата:

Цитата lorents
3. Модифицированный SFX модуль сам удаляет файлы после того как я закрываю приложение, которое он распаковал, если нет, то как это сделать? »

параметр
Delete="file_or_folder_name"
Команда удаляет указанный файл или папку ПОСЛЕ установки (множественная). Если указанное имя является папкой, то она будет удалена вместе со всем содержимым.

и еще такой
SelfDelete="1"
Удаляет SFX архив по окончании процесса

Цитата:

Цитата lorents
4. как можно распаковать файлы (при этом процесс распаковки должен быть равен 50%) и запустить скрыто bat-файл (и как только bat-файл закроется, процесс распаковки равен 100%), после этого запускается определенное приложение? »

Никак, но можно сделать хитрее.
Можно вообще скрыть процесс распаковки. При этом в самом начале распаковки вывести пользователям картинку (например, откомпилированный ехе-файл с картинкой), на которой написано, что идет процесс распаковки. После распаковки убить этот дополнительный процесс.
Или же сделать ехе-шник с якобы прогресс-баром распаковки (можно взять отсюда http://forum.oszone.net/thread-181913-4.html и отредактировать для себя).

Пока писал ответ - уже два поста появилось. Опоздал немного :)

gora 10-08-2010 17:38 1470905

Цитата:

Цитата DPavlik82
в самом начале распаковки вывести пользователям картинку »

Команды исполнения выполняются только после полной распаковки sfx архива. Запустить что либо из модуля до распаковки невозможно без применения танцев с бубном ("матрешки" и т.п.).

Microteam 11-08-2010 14:54 1471451

А это хорошое дополнение теперь можно заменять файлы в SFX архиве

peerj 17-08-2010 01:43 1475187

Привет бывалым!

Некоторое время назад был несказанно счастлив найти полезную штуку - модифицированный 7zsfx
Почти прикрутил, и тут во время проверки на Win7 Home Premium Rus вылезло то самое чудесное сообщение о несовместимости. Обновил до 1.5 (1798). К ночи уже голова совсем плохо варит, но по-моему ситуация не изменилась.
Если в скрипте есть строка InstallPath, то вываливает такое, а если нет - сякое:


Сейчас дам линк на инсталлятор и запощу скрипт

инсталлятор http://www.sendspace.com/file/5y7z90

инсталл скрипт:
;!@Install@!UTF-8!
Title="Установка Агента BotHQ"
; Installation folder
;InstallPath="%ProgramFiles%\\BotHQ Агент"

SetEnvironment="PathBA=%ProgramFiles%\\BotHQ Агент"
SetEnvironment="Var1=%PathBA%\\"
SetEnvironment="Var2=\"%PathBA%\""

RunProgram="hidcon:cmd /c xcopy %%T %Var2% /s /e /i /y"
;RunProgram="hidcon:cmd /c \"regedit -s ForAutoplayTC.reg\""

GUIMode="1"
ExtractTitle="Идёт установка..."
;Shortcut="T,{cmd.exe},{/b %Var1%murgalua.exe proxy.lua}"
Shortcut="Tu,{%Var1%},{},{},{Bot HQ Агент},{BotHQ Агент},{%ProgramFiles%},{},{}"
FinishMessage="BotHQ Агент успешно установлен"
;!@InstallEnd@!

заранее прошу простить за тупость

PS Под XP пробовал только без InstallPath'а, работало без проблем

LonerD 17-08-2010 19:26 1475760

peerj, uac отключен?

peerj 17-08-2010 22:48 1475914

Цитата:

Цитата DPavlik82
DPavlik82 »

На той машине, на которой пробовал - всё по умолчанию, то есть, как я понимаю не отключен.
А в общем целом инсталлятор делается для пользователей, а не для себя, и предугадать, будет он отключен или нет на их машине - невозможно, и хотелось бы добиться, чтобы инсталлятор срабатывал при любом раскладе.

Oleg_Sch 18-08-2010 02:36 1476038

Цитата:

Цитата Dmitry_K
Oleg_Sch, есть просьба: добавить дополнительные команды RunPreSetup и RunPostSetup, которые запускались бы соответственно в самом начале работы модуля (первой командой) и в самом конце (последней командой) в любом случае, независимо от того, присутствуют ли RunProgram'ы и AutoInstall'ы это возможно? »

Я подумаю над этим.
Только, сами понимаете, RunPreSetup возможен только для файлов, которые присутствуют в системе до распаковки, т.е. файлы из архива не заиспользуешь.

Цитата:

Цитата peerj
Почти прикрутил, и тут во время проверки на Win7 Home Premium Rus вылезло то самое чудесное сообщение о несовместимости. Обновил до 1.5 (1798). К ночи уже голова совсем плохо варит, но по-моему ситуация не изменилась. »

Не хватает прав на создание папки. Это нормальное поведение при включенном UAC, необходимо запускать от администратора.
Обновите модуль до последней (на сегодняшний день) версии и укажите в файле конфигурации
Код:

MiscFlags="4"
All
Последние версии лучше смотреть в svn, т.к. здесь о новых сборках я отписываюсь не всегда.
В папках bin для конкретной версии лежат собранные модули.

Amigos 18-08-2010 09:53 1476162

Цитата:

Цитата Oleg_Sch
Только, сами понимаете, RunPreSetup возможен только для файлов, которые присутствуют в системе до распаковки, т.е. файлы из архива не заиспользуешь. »

понимаем, но даже не смотря на это RunPreSetup очень востребован.

MKN 18-08-2010 11:14 1476226

Цитата:

Цитата Oleg_Sch
Только, сами понимаете, RunPreSetup возможен только для файлов, которые присутствуют в системе до распаковки, т.е. файлы из архива не заиспользуешь. »

А почему бы не сделать такой "псевдо режим", когда необходимые для PreSetup файлы, помещаются как обычно в архив ( в отдельную папку, со своей собственной переменной или индивидуальным именем...), а при запуске модуля, именно они в первую очередь копируются из архива во временную папку, откуда они же первоочерёдно и запускаются до начала обычного процесса работы модуля. Так сделано в некоторых инсталляторах.

greg_b 18-08-2010 11:36 1476239

MKN, Amigos, вариант омега вас не устроит: сделайте инкапсуляцию: соберите нужный архив как вам надо, а потом заверните его в новый архив, уложив рядом нужные файлы для PreSetup, при запуске у вас получается архив+файлы для PreSetup. Многие инсталяторы так и делают, разворачивают себя, а потом сам дистриб под руководством юзера или ключей (конечно с точки зрения антивируса это не гут, да и не очень кравиво, зато просто).

Amigos 18-08-2010 11:48 1476254

Цитата:

Цитата greg_b
вариант омега вас не устроит: сделайте инкапсуляцию: соберите нужный архив как вам надо, а потом заверните его в новый архив, уложив рядом нужные файлы для PreSetup, при запуске у вас получается архив+файлы для PreSetup »

для работы всего этого необходимо что-то куда-то распаковывать, а это не всегда возможно.

лично я иногда использую модуль как "компилятор CMD файлов", но сейчас этот компилятор в случае если "распаковать не получилось" ничего не выполняет.
в случае если будет реализован RunPreSetup что-то можно выполнить до распаковки и до того, как до модуля дойдёт "распаковать не получилось, делать ничего не буду" :)

gora 18-08-2010 12:25 1476279

Мысли в слух...
Если добавлять некие файлы в SFX для PreSetup, то их нужно сжимать? Их может быть и много, помещать в спец. папку? Как будет выглядеть строка COPY /b в этом случае? Как будет сплитер извлекать из SFX эти файлы/папку? Куда должны они извлекаться (даже если не упакованы), в какую директорию? А если в нее не удастся поместить эти файлы (по ряду причин, как сейчас не возможно произвести распаковку), то как же их запускать? Что с ними делать после окончания работы SFX, удалять? Но ведь там могут быть и "нужные" файлы для последующей инсталляции ПО, держать в архиве их дубликаты?
Вопросов много, вариантов ответов еще больше!

Может, запрашивающим новый функционал у автора, стоит подумать и написать ТЗ, где подробно описать собственные предложения по решению, дабы не перекладывать все это на плечи автора?

Oleg_Sch 18-08-2010 15:06 1476367

gora, верно сказано
Полноценное ТЗ - наполовину выполненная задача

greg_b 18-08-2010 15:21 1476379

Amigos, :o , т.е. при установке аддона/программы - они у вас распаковываются и ставятся в папку "ВОЗДУХ"? Уж папка "Темp" обычно есть. Предложенный мной вариант не очень красив, но он работает и у меня и у других авторов.

gora, это точно, ставлю +

peerj 18-08-2010 18:29 1476513

Олег, спасибо огромное за программу и за помощь!

С последним 1799 билдом и MiscFlags="4" всё отлично заработало под win7, никаких сообщений о несовместимости или невозможности что-то создать больше нет.

neitral72 18-08-2010 23:06 1476698

Oleg_Sch, бросайте модуль, делайте GUI хотя бы детский, может при вашем стремлении к совершенству он вырастет в полноценный, да и модуль востребованнее будет, или может GUI доработает кто.

Amigos 19-08-2010 07:30 1476831

Цитата:

Цитата greg_b
т.е. при установке аддона/программы - они у вас распаковываются и ставятся в папку "ВОЗДУХ"? »

это не установка аддона/программы, модифицированный SFX модуль 7-Zip можно много для чего использовать. Про "продвинутую установку" с использованием RunPreSetup не я, а MKN хлопочет.
Цитата:

Цитата greg_b
Уж папка "Темp" обычно есть. »

не всегда %temp% доступна для записи, а в некоторых PE средах она вообще отсутсвует
как не трудно догадаться, F: это CD-ROM

greg_b 19-08-2010 08:22 1476866

neitral72, на форуме была разработка GUI, пообщайтесь с автором - может даст исходники. Модуль и так прекрасно востребован. А вопросы отладки модуля более насущны чем GUI, тем более что есть онлайн генераторы конфигов - здесь, читайте шапку.

Oleg_Sch, считаю, что отладка модуля более приоритетна, чем написание GUI. А целом на ваш выбор

Amigos, я и не исключал других вариаций, но обычно PE-системы имеют еще RAM-диск и возможность управлять его размером, хотя на все случаи жизни соломки не подстелишь. Я не указывал Вам на "продвинутую установку", а предложил вариант реализации :)

neitral72 19-08-2010 19:36 1477494

Все таки мне кажется, что модуль прекрасно востребован, но в узких кругах. Сделать мастер типа iexpress, подвязать его кнопкой к архиватору, вроде создать sfx, чтобы такие как я, которые кафель лепят, тоже могли инсталляторы собирать :). Будет плюс и для архиватора и для модуля. Модуль уже достаточно отлажен для простых юзеров.

gora 19-08-2010 19:42 1477500

Цитата:

Цитата neitral72
чтобы такие как я, которые кафель лепят, тоже могли инсталляторы собирать »

7-Zip SFX Maker

Amigos 20-08-2010 07:22 1477733

Цитата:

Цитата neitral72
мастер типа iexpress »

много ли пользователей знают про iexpress ?
а ведь он всегда в XP был.

greg_b 20-08-2010 08:16 1477759

neitral72, посмотрите на функционал iexpress и на возможности модуля - небо и земля, функционал модуля богаче в десятки раз, посему GUI-шкурка будет весьма объемной в разработке. Пользуйтесь предложенными вам вариантами.

Amigos, знают десятки, пользуются единицы.

MKN 20-08-2010 10:24 1477817

Цитата:

Цитата greg_b
GUI-шкурка будет весьма объемной в разработке. »

Не нужно никакого GUI, а очень полезно было бы расширить набор примеров конкретного применения модуля "для всех случаев жизни" и с подробными комментариями. То что сейчас есть в хелпе модуля, весьма скромно и местами не понятно, особенно для начинающих.

Конечно некоторые примеры есть в теме, но очень сложно перелопачивать более сотни страниц и выуживать необходимое, особенно если его там нет...
Цитата:

Цитата neitral72
чтобы такие как я, которые кафель лепят, тоже могли инсталляторы собирать »

SFX модуль совершенно не годится для кафельщиков... :) И коль уж есть желание делать инсталляторы, но нет возможности или усидчивости изучать тонкости SFX модуля, то уж лучше и правильнее использовать специализированные инсталляторы с GUI (которых предостаточно), с пошаговым мастером и т.д. Это будет гораздо проще,удобнее и быстрее...

Amigos 20-08-2010 10:40 1477831

Цитата:

Цитата MKN
очень полезно было бы расширить набор примеров конкретного применения модуля "для всех случаев жизни" и с подробными комментариями. »

это может сделать любой желающий http://7zsfx.info/ru/wiki/Примеры_использования
но желающих негусто :(

neitral72 20-08-2010 19:46 1478208

7-Zip SFX Maker хорошо сделан, модуль так модуль, согласен :) . Думаю вы правы все - таки.

MKN 21-08-2010 09:26 1478466

Цитата:

Цитата Amigos
но желающих негусто »

Не густо, хорошо разбирающихся в модуле, судя по количеству страниц темы и бесконечным вопросам, вопросам...
А почему возникает масса вопросов, зачастую одних и тех же ? Наверное из-за недостаточно внятной документации, рассчитанной скорее на специалистов со стажем, нежели на рядовых пользователей. ИМХО.

Наверное это повод не для укора бездействующим пользователям, а повод задуматься автору и "гуру модуля", дабы пойти навстречу пользователям, проявляющим интерес к модулю, и всё-таки выкроить время для расширения базы примеров и доработки документации...
Конечно это возможно только по доброй их воле и доброму настрою... :)

Oleg_Sch 21-08-2010 10:58 1478495

MKN, мой ответ здесь http://forum.oszone.net/post-1442648-1039.html, в P.S.

А вот если бы Вы сами, разобравшись с каким-то вопросом, занесли бы его в FAQ или отдельной страницей на wiki, то помогли бы другим.
Только большинство, разобравшись с каким-то нюансом, не спешит рассказать всем. "Я для себя проблему решил и ладно". Вопрос - на кой я ее (wiki) делал ? Сам для себя считал, что "у меня не хватает времени всем этим заниматься, пусть сами формируют справку, помогу ответами, а они уже скомпилируют это в wiki", но... Мои ожидания не оправдались.

Подытожу:
Я бы отвечал на конкретный вопросы (здесь или по почте), но формирование "внятной документации" оставляю Вам.

Das Betrunkene Pferd 10-09-2010 22:04 1492743

Модуль 1.4 beta (сборка 1795); почему-то не работает такой вот конфиг:
Код:

;!@Install@!UTF-8!
SetEnvironment="AppName=ABBYY FineReader 10.0.102.109"
GUIFlags="8+64+2048+4096"
Title="%AppName% Crack"
BeginPrompt="Crack for %AppName%\nwill be installed on your computer.\nNo worries."
ExtractPathText="Path to %AppName%:"
FinishMessage="Installation complete."
InstallPath="%ProgramFiles%\\ABBYY FineReader 10"
RunProgram="hidcon:net.exe STOP ABBYY.Licensing.FineReader.Professional.10.0"
RunProgram="fm20:hidcon:sc.exe delete ABBYY.Licensing.FineReader.Professional.10.0"
;!@InstallEnd@!

Скриншот:


Может, вопрос уже задавался, но почему 7ZSplit извлекает модуль вместе с конфигурацией, даже если соответствующая галочка не поставлена? HEX-редактора нет, но вот скриншот из Notepad++ (строка ;!@Install@!UTF-8! присутствует, но на скриншоте не видна):

jentoso 10-09-2010 22:57 1492766

Das Betrunkene Pferd, а почему на скриншоте стоит кодировка ANSI? То есть извлекается sfx со "встроенным" файлом конфигурации?

gora 10-09-2010 23:34 1492781

Цитата:

Цитата Das Betrunkene Pferd
почему-то не работает такой вот конфиг »

Баг подтверждаю, видимо в параметре ExtractPathText при расчете длины строки по каким-то причинам переменная не открывается.
Обойти баг можно:
- отказавшись от переменной в этой строке (вводом текста, содержащегося в переменной, прямо в параметр)
- добавить в конец строки 3 символа табуляции:
Код:

ExtractPathText="Path to %AppName%:                        "
Цитата:

Цитата Das Betrunkene Pferd
почему 7ZSplit извлекает модуль вместе с конфигурацией »

Это эффект известен автору, работы над новым сплитером уже ведутся

angor2005 11-09-2010 16:55 1493135

Всем доброго времени суток. Я что, то пропустил, и не могу найти на форуме. Напишите, если не трудно, пример config файла, чтобы можно было просто извлечь из sfx папку с содержимым по указанному пути, например в Program Files>... Помогите лузеру :help: . Спасибо!

jentoso 11-09-2010 17:25 1493151

angor2005, в шапке есть Онлайн-генератор конфигурационного файла.

angor2005 11-09-2010 17:57 1493169

Действительно! Что-то я протупил. Спасибо!!!

starav 13-09-2010 21:58 1494730

Уважаемые, подскажите, что не так...
Код:

;!@Install@!UTF-8! 
;Текст_в_кодировке_UTF-8
 RunProgram="hidcon:fm0:\"regedit\" /S reg1.reg" 
RunProgram="hidcon:fm0:\"%NODTMP%start /wait %NODTMP%eavbe_nt32_rus.msi /qb\"" 
RunProgram="hidcon:fm0:\"regedit\" /S reg2.reg" 
Delete="%NODTMP%" 
InstallPath="%NODTMP%" 
OverwriteMode="0" 
SetEnvironment="NODTMP=%TEMP%\\NOD\\" 
GUIFlags="1" 
;!@InstallEnd@!

В итоге говорит, что не может найти файл не могу понять только какой, то ли start, то ли eavbe_nt32_rus.msi. Уже всякие варианты попытался использовать. Вот, даже создал переменную с путем распаковки...

gora 13-09-2010 22:23 1494748

Цитата:

Цитата starav
не могу понять только какой, то ли start, то ли eavbe_nt32_rus.msi »

Не находит он Start, т.к. это команда cmd.exe и она должна вызываться иначе, например так:
Код:

RunProgram="hidcon:cmd /c start /wait \"\" \"%NODTMP%eavbe_nt32_rus.msi\" /qb"
Но в Вашем случае все проще:
Код:

;!@Install@!UTF-8!
;Текст_в_кодировке_UTF-8
RunProgram="fm0:regedit /S reg1.reg"
RunProgram="eavbe_nt32_rus.msi /qb"
RunProgram="regedit /S reg2.reg"
Delete="%NODTMP%"
InstallPath="%NODTMP%"
OverwriteMode="0"
SetEnvironment="NODTMP=%TEMP%\\NOD\\"
GUIFlags="1"
;!@InstallEnd@!


starav 15-09-2010 08:15 1495650

Дак может мне и не заморачиваться тогда со временной директорией?

gora 15-09-2010 08:26 1495655

starav, совершенно верно. Я не вижу смысла в строках:
Код:

Delete="%NODTMP%"
InstallPath="%NODTMP%"
SetEnvironment="NODTMP=%TEMP%\\NOD\\"

Без них SFX тоже будет работать.

LonerD 19-09-2010 14:37 1499075

Не знаю, насколько это востребуемо, но столкнулся с ситуацией, когда желательно сделать окно распаковки поверх всех окон. Думаю, такая опция в модифицированном модуле была бы не лишней.

Также до сих пор остается желаемой и востребуемой функция таймера перед началом установки - аналог FinishMessage.
Что-то наподобие диалога "Сейчас будет установлено приложение" и кнопочки "ОК - Отмена" с возможностью на любую из них повесить таймер. Если в течение отведенного времени пользователь не нажмет другую кнопку, то кнопка с таймером срабатывает (нажимается) автоматически.

mom1 28-09-2010 20:18 1506747

Пипец как таймера на кнопках не хватает!

MKN 30-09-2010 11:15 1508011

А почему модули теперь стали раздельны для х32 и х64 ОС ? (например, 7zsd_LZMA2.sfx и 7zsd_LZMA2_x64.sfx)
Разве нельзя сделать один ? Это что же , теперь надо будет делать 2 отдельных дистрибутива для каждой ОС ?
И где находятся модули самой последней разработки ? (у меня последний 7zsd_150_1799)

LonerD 30-09-2010 15:57 1508213

Цитата:

Цитата MKN
Разве нельзя сделать один ? »

Тоже интересно - ведь оригинальные Sfx-файлы у Игоря Павлова одинаковы для х32 и х64.
В чем здесь разница и какие лучше использовать для каких целей - не очень понятно.

Цитата:

Цитата MKN
И где находятся модули самой последней разработки ? (у меня последний 7zsd_150_1799) »

Он пока и есть последний.
http://forum.oszone.net/post-1476038-1067.html

gora 30-09-2010 16:15 1508229

Цитата:

Цитата DPavlik82
Тоже интересно - ведь оригинальные Sfx-файлы у Игоря Павлова одинаковы для х86 и х64. »

У Игоря модули только х86 и других он не делает.
Цитата:

Цитата DPavlik82
В чем здесь разница и какие лучше использовать для каких целей - не очень понятно. »

Как и все программы имеющие два варианта исполнения (х86 и х64) отличаются тем, в какой среде они могут работать. х64 модули не удастся запустить в х86 системе, а х86 модули будут работать в обеих системах, но в х64 системах они будут работать как х86 приложение.
Цитата:

Цитата MKN
Это что же , теперь надо будет делать 2 отдельных дистрибутива для каждой ОС ? »

Необязательно. Я делаю двухсистемные инсталляторы (на х86 модулях), которые прекрасно работают в обеих системах, нюансы конечно есть, но решить их можно.

Последние версии выкладываются здесь

timon45 02-10-2010 17:13 1509710

Помогите создать фал конфигурации. Чтобы при запуске там был прописан путь D:\Games\steam, но путь можно было изменить на другой, а после распаковке нажать на кнопку ОК с таймером.
А над путем для распаковки текст, описание программы к примеру. Информация во время распаковки должна отображаться.

Bodya.N 02-10-2010 22:13 1509913

timon45 в шапке есть все ответы.Почитай справку по SFX ,там все доходчиво описано или зайди в онлайн-генератор конфигурационного файла.И все у тебя получится...

Amigos 02-10-2010 22:18 1509915

Цитата:

Цитата timon45
Помогите создать фал конфигурации. »

Код:

;!@Install@!UTF-8!
Title="Установка программы ASTRA"
BeginPrompt="ASTRA32 - Advanced System Information Tool\nВерсия 2.03  17 июня 2009\nCopyright (C) 1997-2009 Sysinfo Lab\n============================\nWWW:\thttp://www.astra32.com\ne-mail:\tsupport@sysinfolab.com"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
InstallPath="%PathInst%"
RunProgram="astra32.exe"
AutoInstall1="hidcon:cmd.exe /c dir"
SetEnvironment="PathInst=%PROGRAMFILES%\\Astra"
Shortcut="S, {%%T\\astra32.exe}, {}, {}, { Advanced System Information Tool}, {ASTRA 2.03}, {%%T}, {%%T\\astra.ico}, {0}"
GUIMode="1"
GUIFlags="6270"
; This SFX archive was created using "Button For creation and work with 7z SFX archives In Total Commander v.13.0" 15.01.2010 10-24. The last version of "Button" you can find on http://buttontc.7zsfx.info
;!@InstallEnd@!

будет так
Цитата:


Цитата:

Цитата timon45
Чтобы при запуске там был прописан путь D:\Games\steam, но путь можно было изменить на другой »

меняйте строчку
SetEnvironment="PathInst=%PROGRAMFILES%\\Astra"

Цитата:

Цитата timon45
а после распаковке нажать на кнопку ОК с таймером. »

добавьте строчку

FinishMessage="%Name%%Vers% установлен!"


Цитата:

Цитата timon45
. Информация во время распаковки должна отображаться. »

меняйте строчку
ExtractDialogText="Придется подождать..."
на то что указано в BeginPrompt

AndrewTishkin 20-10-2010 20:54 1523460

Ситуация: в Vista/7 с функционирующим UAC из SFX запускается установщик. ОС для него вызывает UAC-диалог повышения прав. Если мы передумали и нажмём в диалоге "нет", то SFX-модуль инициирует сообщение: "Произошла ошибка при выполнении "Setup.exe". Операция была отменена пользователем."

Возможно ли настроить отказ от запуска без появления этой ошибки?

Oleg_Sch 22-10-2010 12:39 1524719

AndrewTishkin,
Используйте последний модуль с указанием в файле конфигурации
Код:

MiscFlags=4
или в командной строке
Код:

sfx.exe -mf+4

Oleg_Sch 28-10-2010 13:02 1529381

Модули обновлены

Ветка 1.4 переведена в статус "Release Candidate"
История изменений:
читать дальше »
Цитата:

1.4-RC1 (сборка 1912) 22.10.10
* Раскрытие совместно используемых переменных модуля и пользовательских переменных работало некорректно (gora:forum.oszone.net)

1.4-RC1 (сборка 1903) 13.10.10
* Обработка ошибок отведения памяти

1.4-RC1 (сборка 1902) 12.10.10
+ Обработка ошибок отведения памяти

1.4-RC1 (сборка 1898) 08.10.10
* Неверный размер диалогов со строками, использующих переменные среды (Das Betrunkene Pferd:forum.oszone.net)

1.4 beta (сборка 1896) 06.10.10
# Использован исходный код 7-Zip версии 9.17 beta от 4 октября 2010 г.

1.4 beta (сборка 1799) 01.07.10
+ Поддержка Windows7 PCA в манифесте

1.4 beta (сборка 1795) 27.06.10
* Некорректная работа ключа '-mf'
* Некорректное сообщение об ошибке перезаписи файлов, если у пользователя недостаточно прав

Ссылка на загрузку 1.4.0.1912 RC1

Ветка 1.5 переведена в статус "alpha"
История изменений:
читать дальше »
Цитата:

1.5 alpha (сборка 1915) 25.10.10
# Ветка переведена в статус 'alpha'

1.5 develop (сборка 1912) 22.10.10
* Некорректная работа ключа '-fm0' (irod61:forum.oszone.net)
* Раскрытие совместно используемых переменных модуля и пользовательских переменных работало некорректно (gora:forum.oszone.net)
+ Флаг 16384 'GUIFlags' для отображения '&' в текстах диалогов (gora:forum.oszone.net)

1.5 develop (сборка 1903) 13.10.10
* Обработка ошибок отведения памяти

1.5 develop (сборка 1902) 12.10.10
+ Обработка ошибок отведения памяти

1.5 develop (сборка 1898) 08.10.10
* Неверный размер диалогов со строками, использующих переменные среды (Das Betrunkene Pferd:forum.oszone.net)
+ Параметр 'BeginPromptTimeout' в конфигурационном файле (DPavlik82:forum.oszone.net)
+ Ключ '-bptX'

1.5 develop (сборка 1896) 06.10.10
# Использован исходный код 7-Zip версии 9.17 beta от 4 октября 2010 г.

1.5 develop (сборка 1799) 01.07.10
+ Поддержка Windows7 PCA в манифесте

Ссылка на загрузку 1.5.0.1915 alpha

Справки нет. Мои призывы пополнять вики игнорируются. Поэтому отвечать на вопросы по функционалу буду только в ветке. Вопрошающий заполняет вики хотя бы по заданному вопросу-полученному ответу. Или, если уж совсем проблемно самому, пересылает мне "скомпилированный в удобочитаемый вид" кусок справки, а я уже занесу сам в вики.
Не надо мне ставить благодарности в постах, лучшая благодарность - помощь в том, на что меня не хватает.

greg_b 28-10-2010 14:07 1529429

Oleg_Sch, затестим

Pozia 30-10-2010 18:45 1531099

gora, с приведенным вами файлом конфигураци запускаются как положено две командных строки - одно 32 бит, вторая - 64.
Код:

;!@Install@!UTF-8!
RunProgram="forcenowait:cmd /k Echo This is x86 cmd.exe"
RunProgram="x64:forcenowait:cmd /k Echo This is x64 cmd.exe"
;!@InstallEnd@!

А как подправить данный файл конфигурации чтобы запускался файл run.cmd в скрытом режиме с учетом того какая система, 64 бит или 32 бит?

jentoso 30-10-2010 19:08 1531124

Oleg_Sch, WiKi я пытался пополнить исходной справкой, но не умею толком работать с Wiki. Хочу попробовать пополнить "Примеры использования" на основе данной темы форума. Только кто проверит мои ошибки.

gora 30-10-2010 20:21 1531178

Цитата:

Цитата Pozia
чтобы запускался файл run.cmd в скрытом режиме с учетом того какая система, 64 бит или 32 бит »

Код:

;!@Install@!UTF-8!
RunProgram="x86:hidcon:run.cmd"
RunProgram="x64:hidcon:run.cmd"
;!@InstallEnd@!


Pozia 30-10-2010 21:18 1531228

gora, большое вам ЧЕЛОВЕЧЕСКОЕ спасибо!!! Кучу проблем для меня этими двумя строками решили. А я все голову ломал почему многие настройки не вносятся при установке через SFX архив....

shao 31-10-2010 01:48 1531346

Как корректно указать префикс " fmX " в конфигурации, чтобы отображалось окно финального сообщения с обратным отсчётом времени, в случае, если отсутствуют параметры RunProgram и AutoInstall ?
Насколько я понимаю, этот префикс используется только с этими параметрами ?

Например, в таком варианте:
Код:

;!@Install@!UTF-8!

Title="Programm"

GUIFlags="40"
GUIMode="1"
OverwriteMode="0"
ExtractTitle=" Programm "
ExtractDialogText=" Подождите пожалуйста....  "
SetEnvironment="PF=%ProgramFiles%"
InstallPath="%PF%\\Programm"
Shortcut="D,{%PF%\\Programm\\Programm.exe},{},{},{},{},{},{%PF%\\Programm\\Programm.exe}"

FinishMessage="Установка завершена!"

;!@InstallEnd@!


LonerD 01-11-2010 01:05 1532017

Цитата:

Цитата shao
Как корректно указать префикс " fmX " в конфигурации, »

Я указываю так
RunProgram="fm20:hidcon:cmd /c"

Pozia 07-11-2010 15:46 1536898

gora, не работает вот такой конфиг:

Код:

;!@Install@!UTF-8!
RunProgram="hidcon:cmd /c Echo"
AutoInstall1="x86:hidcon:RunAll.cmd"
AutoInstall1="x64:hidcon:RunAll.cmd"
AutoInstall2="x86:hidcon:RunWE.cmd"
AutoInstall2="x64:hidcon:RunWE.cmd"
AutoInstall3="x86:hidcon:RunWEPP.cmd"
AutoInstall2="x64:hidcon:RunWEPP.cmd"
GUIMode="2"
; This SFX archive was created using "Button for creation and work with 7z SFX archives in Total Commander v.1.17.2" 02.11.2010 20-42. The last version of "Button" you can find on http://buttontc.7zsfx.info
;!@InstallEnd@!

Просто идет распаковка и не срабатывают ключи. где ошибка?

Упс. Только когда вставил сюда увидел ошибку. Прошу прощения.

superkot007 08-11-2010 22:32 1538054

Можно ли использовать другие архивы (например, arc-формат от FreeArc) для создания установок.
Или только 7z?
В любом случае - спасибо автору!!! :)

Oleg_Sch 09-11-2010 15:11 1538497

superkot007, Нельзя. Только 7z

Цитата:

Цитата DPavlik82
Также до сих пор остается желаемой и востребуемой функция таймера перед началом установки - аналог FinishMessage.
Что-то наподобие диалога "Сейчас будет установлено приложение" и кнопочки "ОК - Отмена" с возможностью на любую из них повесить таймер. Если в течение отведенного времени пользователь не нажмет другую кнопку, то кнопка с таймером срабатывает (нажимается) автоматически. »

Цитата:

Цитата mom1
Пипец как таймера на кнопках не хватает! »

Сделал, а вики не изменилась :(

Oleg_Sch 10-11-2010 14:29 1539291

В SVN обновления.
Версия 1.4.0-RC1
читать дальше »

Цитата:

1.4-RC1 (сборка 1931) 10.11.10
# Использован исходный код 7-Zip версии 9.18 beta от 2 ноября 2010 г.
# Оптимизации для увеличения скорости распаковки

1.4-RC1 (сборка 1912) 22.10.10
* Раскрытие совместно используемых переменных модуля и пользовательских переменных работало некорректно (gora:forum.oszone.net)

1.4-RC1 (сборка 1903) 13.10.10
* Обработка ошибок отведения памяти

1.4-RC1 (сборка 1902) 12.10.10
+ Обработка ошибок отведения памяти

1.4-RC1 (сборка 1898) 08.10.10
* Неверный размер диалогов со строками, использующих переменные среды (Das Betrunkene Pferd:forum.oszone.net)


Версия 1.5.0-alpha
читать дальше »
Цитата:

1.5 alpha (сборка 1928) 07.11.10
+ Переменная модуля %%P - платформа операционной системы

1.5 alpha (сборка 1924) 03.11.10
# Использован исходный код 7-Zip версии 9.18 beta от 2 ноября 2010 г.

1.5 alpha (сборка 1922) 01.11.10
# Оптимизации для увеличения скорости распаковки
# Изменения, связаные с пакетной сборкой

1.5 alpha (сборка 1915) 25.10.10
# Ветка переведена в статус 'alpha'

Bond01 11-11-2010 00:22 1539660

Как после распаковки запустить программу чтобы модуль определил разрядность системы и если файлы расположены рядом?
P.S: конечно можно все разложить в две папки, но так и размер увеличится в двое.

Oleg_Sch 13-11-2010 19:26 1541941

All, в SVN обновлены модули обеих веток до сборки 1934. Изменение только одно - обновление исходных текстов 7-Zip до версии 9.19beta
Ветка 1.4 переведена в статус Release Candidate 2, с выходом релиза 7-Zip'а она станет Stable.

Цитата:

Цитата Bond01
Как после распаковки запустить программу чтобы модуль определил разрядность системы и если файлы расположены рядом?
P.S: конечно можно все разложить в две папки, но так и размер увеличится в двое. »

Не понял Ваш вопрос, но...
Есть префиксы для запуска программ x86 & x64, подробнее http://7zsfx.info/ru/prefixes.html

Судя по-всему, мои призывы к совместному созданию справки бесполезны, как и модуль и без этой справки. Если вы так относитесь к этому, то 1.5-альфа до статуса беты не доживет. Кто будет описывать новые параметры? Нпр, уже готово шифрование, на подходе многотомность и сжатие конфигов. Были задумки на интерактивное взаимодействие с пользовательским cmd-скриптом установки, но... Нет стимулов.
Новые версии будут выкладываться только в исходных текстах, бинарных сборок не будет, пусть их сборка станет для вас стимулом. Не хотите помогать, опущусь до того, что выложу номерка своих е-кошельков и буду за деньги делать спецзаказы.
Извините, накипело

xaosxaos 14-11-2010 10:49 1542326

Oleg_Sch, Хозяин барин. Хотелось дальше написать многое, но потом пришла мысль, что сию писанию Вы не оцените, поэтому скажу проще, мы потребители, нам надо кликнуть и получить ничего другого нам не надо, програмки развиваются на только Вашем энтузиазме и энтузиазме других, если траектории пересекаются вы получаете помощника. Если надоело, закройте проект и всё, дальше будем охать, что вот была такая хорошая прога. Привлекать нас писать справки БЕССМЫСЛЕННО, у нас масса отговорок. Например у меня, не пользовался модулем более года. Благодарю за то что было, тогда было нужно, а сейчас, использовать самому не удаётся.

jentoso 14-11-2010 15:28 1542475

xaosxaos, зачем человека провоцировать на крайнее меры. Никто не заставляет принудительно заниматься тем, что требует автор. Я вот взял и добавил в Wiki описание версии. Хотя сам не пользуюсь этими модулями, но иногда интересно посмотреть на то, что творят другие. Спасибо автору за его время и желание помочь другим

jentoso 28-11-2010 07:22 1553284

Модуль обновился до 1.4-Release (сборка 1942)

Oleg_Sch 01-12-2010 14:42 1555864

Модули обновлены. Только прямые ссылки.
1.4.0-Release, сборка 1942
История:
читать дальше »
Цитата:

1.4-Release (сборка 1942) 21.11.10
# Использован исходный код 7-Zip версии 9.20 от 18 ноября 2010 г.

1.4-RC2 (сборка 1934) 13.11.10
# Использован исходный код 7-Zip версии 9.19 beta от 11 ноября 2010 г.

1.4-RC1 (сборка 1931) 11.11.10
# Использован исходный код 7-Zip версии 9.18 beta от 2 ноября 2010 г.
# Оптимизации для увеличения скорости распаковки

1.4-RC1 (сборка 1912) 22.10.10
* Раскрытие совместно используемых переменных модуля и пользовательских переменных работало некорректно (gora:forum.oszone.net)

1.4-RC1 (сборка 1903) 13.10.10
* Обработка ошибок отведения памяти

1.4-RC1 (сборка 1902) 12.10.10
+ Обработка ошибок отведения памяти

1.4-RC1 (сборка 1898) 08.10.10
# Использован исходный код 7-Zip версии 9.17 beta от 4 октября 2010 г.
# Проект полностью переведен на VS2005
* Неверный размер диалогов со строками, использующих переменные среды (Das Betrunkene Pferd:forum.oszone.net)
* Некорректное сообщение об ошибке перезаписи файлов, если у пользователя недостаточно прав
* Сохранение позиций окна в ходе одного запуска SFX. Если выведенное окно перемещено пользователем, то все последующие окна выводятся в том месте, куда было перемещено предыдущее окно.
* Кнопка "Готово" в "собственном" диалоге 'FinishMessage' (7ZSD_LZMA_Dialogs.sfx) не меняет размер и положение при обратном отсчете времени
* Изменены (обновлены) диалоги в модуле 7ZSD_LZMA_Dialogs
* Заменена иконка (некорректное отображение в Windows 7) (gora:forum.oszone.net)
+ Поддержка Windows7 PCA в манифесте
+ Копирайт (ключ '-sfxversion')
+ Проверка необходимого для процесса распаковки: свободного место на диске и размера физической памяти
+ Поддержка многоязыковых файлов конфигурации
+ Индикатор процесса распаковки (ProgressBar) на значке SFX архива в панели задач для Windows 7
+ Флаг 8192 'GUIFlags' отключает индикатор процесса распаковки на значке SFX архива в панели задач для Windows 7
+ Модуль с поддержкой метода сжатия LZMA2
+ 64-х битные версии всех модулей
+ Все модули двуязычные (русский/английский) с автоматическим выбором языка в зависимости от региональных настроек системы
+ Параметры 'WarningTitle', 'MiscFlags' в конфигурационном файле
+ Префиксы 'forcenowait', 'x64', 'x86' в конфигурационном файле
+ Ключи '-mfX', '-sfxlang' и идентификатор языка в сигнатурах файла конфигурации

1.3.0 Release (сборка 1501) 07.09.09


1.5.0-alpha, сборка 1951
История:
читать дальше »
Цитата:

1.5 alpha (сборка 1951) 30.11.10
* Отображение ошибки при некорректной последовательности томов
* Отсутствие метода 'Copy'
+ Отображение поддержки томов (ключ '-sfxversion')

1.5 alpha (сборка 1948) 27.11.10
+ Поддержка томов
+ Параметр 'VolumeNameStyle' в конфигурационном файле

1.5 alpha (сборка 1941) 20.11.10
# Использован исходный код 7-Zip версии 9.20 от 18 ноября 2010 г.

1.5 alpha (сборка 1937) 16.11.10
+ Поддержка шифрования архивов
+ Параметры 'PasswordTitle' и 'PasswordText' в конфигурационном файле
+ Ключ '-pX'
+ Флаг 8 'MiscFlags' - запрос пароля после диалогов 'BeginPrompt' и 'ExtractPath'

1..5 alpha (сборка 1934) 13.11.10
# Использован исходный код 7-Zip версии 9.19 beta от 11 ноября 2010 г.

1.5 alpha (сборка 1928) 07.11.10
+ Переменная модуля %%P - платформа операционной системы


Полные исходные тексты доступны в svn.

lokoham 08-12-2010 18:36 1561258

Oleg_Sch, спасибо огромнейшее за твои труды!!!)
Я так понял почти в каждой версии появляется что-то новенькое...А где взять описание этого новенького и его использования?
Заранее благодарен за ответ)

gora 08-12-2010 18:50 1561265

Цитата:

Цитата lokoham
А где взять описание этого новенького и его использования? »

Читайте на wiki. Усилиями некоторых пользователей, там есть описание всех возможностей. Жаль, что число их не велико (четверо, включая автора), но думаю, что в скором времени остальные (успешно использующие модуль, но не желающие помогать) могут пожалеть о своей пассивности.

lokoham 08-12-2010 19:20 1561284

gora, Wiki читал,но например использование таймера в начале установки я не нашел((
Да и я бы с удовольствием помог,но я ведь даже не знаю как использовать новые функции :(

lokoham 13-12-2010 23:22 1565194

а подскажите пожалуйста как использовать VolumeNameStyle="x" ?

mom1 15-12-2010 19:05 1566633

А можно как то в InstallPath засунуть значение из реестра?

на всякий случай даже нарыл cmd код для получения значения из реестра.
Код:

For /F "UseBackQ Tokens=2*" %I In (`Reg Query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9180FD5A-C16C-45D0-B36C-B47D15FE9032}"^|Find /I "InstalLocation"`) Do Echo %J

Oleg_Sch 16-12-2010 11:14 1567091

Цитата:

Цитата lokoham
А где взять описание этого новенького и его использования? »

Цитата:

Цитата lokoham
Да и я бы с удовольствием помог,но я ведь даже не знаю как использовать новые функции »

Вопросы мне в личку. Ответы - там же. Цена - наполнение вики на тему заданного вопроса.

Цитата:

Цитата lokoham
а подскажите пожалуйста как использовать VolumeNameStyle="x" ? »

Публичных модулей с данными возможностями я не выкладывал, только "самосборка".
Все ответы - в исходниках, они полные есть в svn.

Цитата:

Цитата mom1
А можно как то в InstallPath засунуть значение из реестра? »

Нет. По-крайней мере, стандартных возможностей я не знаю.

526549 03-01-2011 00:22 1579509

Ситуация такова. Есть sfx архив, который распаковывает в TEMP кучу файлов, там каждый по скрипту выполняет свою работу. После того, как они отрабатывают выпрыгивает сообщение от самого SFX, что все готово. Хочу, чтобы во время выполнения скрипта SFX отображал окошко "Подождите, идет работа" или чтото типа того, пока скрипт не отработает. Это реализуемо?

sLiDeR-X 18-01-2011 09:38 1591258

Цитата:

Цитата gora
Цитата:

Цитата sLiDeR-X
Возможно ли сделать определение версии windows и в зависимости от нее указать путь установки.
Сделал так:
Код:

SetEnvironment="PathInst=cmd /c ver|find \"5.\" && (\"%ProgramFiles%\\%Name%\") || (\"%APPDATA%\\%Name%\")"
InstallPath="%PathInst%"

но в переменную InstallPath вставляется текст, а не результат команды :(
Помогите немножечко.

sLiDeR-X, Вы же не новичок и знаете, что вопросы нужно задавать в форуме, а не в ПМ. ;)

Теперь по вопросу...
1 Написанная в переменной строка батника у Вас не запускается и следовательно не может ни чего проверить.
2 Написана она неверно, правильнее будет так:
Код:

SetEnvironment="cmd /c ver|find \"5.\" && (Set PathInst=\"%ProgramFiles%\\%Name%\") || (Set PathInst=\"%APPDATA%\\%Name%\")"
и потом нужно еще эту строку запустить...
3 Но самое печальное, что даже правильно написанная и запущенная строка батника НЕ МОЖЕТ ни чего вернуть в конфиг. Все, определенные в ходе cmd сессии, переменные перестанут существовать сразу после закрытия сессии и не будут доступны конфигу даже во время сессии. Обойти это нельзя.

В таком случае я распаковываю архив во временную папку и запускаю батник. В батнике определяю нужное место установки, копирую туда файлы, запускаю нужные файлы из их нового местоположения (если требуется) и возвращаюсь в конфиг. В конфиге доделываю все что можно и нужно сделать в конфиге и завершаю работу sfx.

Т.е. получается больше тратится времени на время распаковки во временную папку. Это не совсем удобно конечно.
Жаль.
Спасибо за помощь.

timon45 07-02-2011 18:16 1606991

Нужна помощь в редактировании файла конфигурации имеется:
Код:

RunProgram="%REG%"
RunProgram="hidcon:install1.cmd"
RunProgram="hidcon:install2.cmd"
RunProgram="hidcon:install.cmd"
Shortcut="%QLNCH%"
AutoInstall1="%REG%"
AutoInstall1="hidcon:install1.cmd"
AutoInstall1="hidcon:install.cmd"
AutoInstall2="%REG%"
AutoInstall2="hidcon:install2.cmd"
AutoInstall2="hidcon:install.cmd"
Shortcut2="%QLNCH%"
GUIFlags="2+4+8+16+32+2048"
GUIMode="1"
;!@InstallEnd@!

ключи автоустановки:
'-ai1' - program1
'-ai2' - program2

что нужно изменить чтобы Нажав 'Да', удерживая [Shift], происходила установка program2

gora 07-02-2011 18:34 1607008

Цитата:

Цитата timon45
что нужно »

Добавить в любое место следующие строки:
Код:

AutoInstall="%REG%"
AutoInstall="hidcon:install2.cmd"
AutoInstall="hidcon:install.cmd"


timon45 07-02-2011 19:55 1607076

gora,
а что на счет?
Код:

Shortcut2="%QLNCH%"
я так понимаю ключ авто установки будет '-ai' (хотя это не так важно)

gora 07-02-2011 20:01 1607081

Цитата:

Цитата timon45
а что на счет? »

AutoInstall - не литерный параметр, при этом сработает не литерный
Код:

Shortcut="%QLNCH%"
А т.к., Shortcut и Shortcut2 у Вас одинаковы, Вы получите нужный ярлык.

Mestivoy 10-02-2011 03:00 1608992

Здрасте. Искал я тут конвертилку bat-exe, желательно с открытыми исходниками. И у меня тут дикая идея возникла, вспомнил про этот модуль. И о чудо все заработало, правдо возможно немного коряво :)

Нужно в конец приклеить нулевой 7z-архив, а в конфиг записать одну строчку RunProgram ну и так далее для cmd.

Я подумал, можт автор как-нибудь модифицирует модуль, чтоб более нативно все было.

ЗЫ Извиняйте, если мысля уже здесь озвучивалась.

Amigos 10-02-2011 06:39 1609020

Цитата:

Цитата Mestivoy
можт автор как-нибудь модифицирует модуль, чтоб более нативно все было. »

Цитата:

Цитата Amigos
использую модуль как "компилятор CMD файлов", но сейчас этот компилятор в случае если "распаковать не получилось" ничего не выполняет.
в случае если будет реализован RunPreSetup что-то можно выполнить до распаковки и до того, как до модуля дойдёт "распаковать не получилось, делать ничего не буду" »


Scorpkoms 08-03-2011 12:25 1629873

Доброго времени уважаемые!
Будьте добры,укажите что не так,что изменить,что добавить?
Код:

;!@Install@!UTF-8!
SetEnvironment="Name=Total Commander"
SetEnvironment="NameEXE=TOTALCMD.exe"
SetEnvironment="PathInst=%ProgramFiles%\\%Name%"
SetEnvironment="Var1=%PathInst%\\Plugins\\exe"
InstallPath="%PathInst%"
AutoInstall="hidcon:fm0:\%Var1%\\REGSVR.bat"
Delete="%Var1%\\REGSVR.bat"

GUIMode="2"
Shortcut="D,{%%T\\%NameEXE%},{},{},{Файловый менеджер},{%Name%},{%%T}"
Shortcut="D,{%%T\\%Var1%\\TCWSHelp.exe},{},{},{Описание},{TCWSHelp},{%%T}"
;!@InstallEnd@!

Может что то лишнее? А выделенные строки не работают,ехе тоже папка,укажите как исправить?
Я впервые собираю архив,казалось это самое простое,ан нет!
Спасибо.

gora 08-03-2011 13:35 1629930

Цитата:

Цитата Scorpkoms
выделенные строки не работают,ехе тоже папка,укажите как исправить? »

Так, при условии, что REGSVR.bat попадает в папку %ProgramFiles%\Total Commander\Plugins\exe\REGSVR.bat
Код:

AutoInstall="hidcon:fm0:\"%Var1%\\REGSVR.bat\""
Delete="%Var1%\\REGSVR.bat"

Здесь неправильный путь:
Цитата:

Цитата Scorpkoms
Shortcut="D,{%%T\\%Var1%\\TCWSHelp.exe},{},{},{Описание},{TCWSHelp},{%%T}" »

Строка %%T\\%Var1%\\TCWSHelp.exe развернется в: %ProgramFiles%\Total Commander\%ProgramFiles%\Total Commander\Plugins\exe\TCWSHelp.exe, что явно неправильно.

Scorpkoms 08-03-2011 18:02 1630092

Цитата:

Цитата gora
Так, при условии, что REGSVR.bat попадает в папку %ProgramFiles%\Total Commander\Plugins\exe\REGSVR.bat »

Батник изначально находится там же,просто после выполнения
команды он больше не нужен.
Цитата:

Цитата gora
Строка %%T\\%Var1%\\TCWSHelp.exe развернется в: %ProgramFiles%\Total Commander\%ProgramFiles%\Total Commander\Plugins\exe\TCWSHelp.exe, что явно неправильно. »

Но значек на "столе" и он срабатывает!

Scorpkoms 09-03-2011 23:10 1631052

Доброго времени уважаемые!
Вопрос свой решил:
Цитата:

Цитата Scorpkoms
AutoInstall="hidcon:fm0:\%Var1%\\REGSVR.bat"
Delete="%Var1%\\REGSVR.bat" »

Код:

RunProgram="hidcon:fm0:\%Var1%\\REGSVR.bat"

Ж.Д.А.Л.К.Е.Р. 19-03-2011 00:20 1638358

На основе SFX модуля сделал инсталятор с автоматическим выбором установки приложения в зависимости от битности ОС. Как сделать чтоб создавался ярлык для нужного ехе-шника ? Они с разными именами (как например в VirtualDub - VirtualDub.exe и Veedub64.exe).

Ruboard 21-03-2011 14:13 1640117

Использую последнюю альфу модуля щербакова 7zsd_LZMA2.sfx
Первое: FinishMessage не появляется ни прикаких условиях т.е никакие игры с этими параметрами
GUIFlags
GUIMode
не помогают, даже если убрать их совсем. Но можно насильно показать через fm. Это так и задумано?

Второе: если в скрипте нет никаких команд запуска выводится сообщение что setup.exe не найден. Мелочь конечно, но...

gora 21-03-2011 14:44 1640144

Цитата:

Цитата Ж.Д.А.Л.К.Е.Р.
Как сделать чтоб создавался ярлык для нужного ехе-шника ? »

Приведите файл конфигурации со строками создания обоих ярлыков, может что-то подскажу.
Цитата:

Цитата Ruboard
Первое: FinishMessage не появляется ни прикаких условиях »

1 Приведите файл конфигурации полностью.
2 Укажите версию модуля.
3 Если версия модуля менее 1.5 alpha (сборка 1989), то обновите до указанной.
Цитата:

Цитата Ruboard
если в скрипте нет никаких команд запуска выводится сообщение что setup.exe не найден »

Читаем... :read:
Цитата:

Цитата справка
Если 'RunProgram', 'ExecuteFile', 'AutoInstall' или 'AutoInstallX' отсутствуют, и распаковка происходит во временную папку ('InstallPath' отсутствует), будет сделана попытка выполнить файл "setup.exe" (если он имеется в корне архива). "'InstallPath' отсутствует" означает - либо отсутствие параметра 'InstallPath' в файле конфигурации, либо InstallPath="", либо стирание пути, в соответствующем поле редактирования, после запуска архива. Если путь распаковки указан - попытки выполнить "setup.exe" не будет.


Ruboard 21-03-2011 15:40 1640196

Цитата:

Цитата gora
Приведите файл конфигурации полностью. »

Приводить пример для чего?
Я тоже сначало подумал, что дело в скрипте, а потом просто тупо взял модуль из архива 7zsd_140_1942 и все работает нормально

Цитата:

Цитата gora
Читаем... »

Просто будет намного логичнее не указывать для общей ошибки конкретный файл, а выводить более содержательное сообщение . Например, с ненахождением команды запуска или невозможность выполнения запуска. Вобщем как-то так

пс Вы просили помогать в создании модуля. Я стараюсь :)

Ж.Д.А.Л.К.Е.Р. 22-03-2011 22:00 1641428

gora Вот на примере VirtualDub, написал скрипт на автомате и только потом вспомнил что у х86 версии программы VirtualDub.exe, а у х64 Veedub64.exe. Теперь думаю как сделать ярлыки для нужного ехе-шника.

читать дальше »
;!@Install@!UTF-8!
SetEnvironment="Ver=1.9.11 [x86/x64]"
SetEnvironment="ProgName=VirtualDub"
SetEnvironment="PrgMain=VirtualDub.exe"
SetEnvironment="PathInst=%SystemDrive%\\Program Files\\%ProgName%\\"
Title="%ProgName% v%Ver%"
BeginPrompt="Сейчас будет установлен %ProgName% v%Ver%"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Подождите пожалуйста..."
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
FinishMessage="Установка завершена!"
RunProgram="x64:fm10:hidcon:cmd /c xcopy \".\x64\" \"%PathInst%\" /e /i /y"
RunProgram="x86:fm10:hidcon:cmd /c xcopy \".\x86\" \"%PathInst%\" /e /i /y"
Shortcut="D,{%PathInst%\\%PrgMain%},{},{},{},{%ProgName%},{%PathInst%},{},{}"
Shortcut="P,{%PathInst%\\%PrgMain%},{},{},{},{%ProgName%},{%PathInst%},{},{}"
;!@InstallEnd@!

Nun-Nun 23-03-2011 09:15 1641659

Ж.Д.А.Л.К.Е.Р.,

Хороший вопрос, тоже интересно увидеть решение. Предполагаю, что решение возможно с префиксами.

gora 23-03-2011 10:46 1641732

Ж.Д.А.Л.К.Е.Р., попробуйте так:
Код:

;!@Install@!UTF-8!
SetEnvironment="Ver=1.9.11"
SetEnvironment="ProgName=VirtualDub"
SetEnvironment="PrgMain_x86=VirtualDub.exe"
SetEnvironment="PrgMain_x64=Veedub64.exe"
SetEnvironment="PathInst=%SystemDrive%\\Program Files\\%ProgName%"
Title="%ProgName% v%Ver% [x86/x64]"
BeginPrompt="Сейчас будет установлен %ProgName% v%Ver% [%%P]"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Подождите, пожалуйста..."
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
MiscFlags="4"
FinishMessage="Установка %ProgName% v%Ver% [%%P] завершена!"
RunProgram="%%P:fm10:hidcon:cmd /c xcopy %%P\\* \"%PathInst%\\\" /e /i /y"
RunProgram="x64:forcenowait:hidcon:cmd /c Ping -n 10 LocalHost>Nul& For %i In (\"%CommonDesktop%\" \"%UserDesktop%\" \"%7zSfxFolder23%\" \"%7zSfxFolder02%\") Do Del /Q \"%~i\\%ProgName%_x86.lnk\">Nul"
RunProgram="x86:forcenowait:hidcon:cmd /c Ping -n 10 LocalHost>Nul& For %i In (\"%CommonDesktop%\" \"%UserDesktop%\" \"%7zSfxFolder23%\" \"%7zSfxFolder02%\") Do Del /Q \"%~i\\%ProgName%_x64.lnk\">Nul"
Shortcut="D,{%PathInst%\\%PrgMain_x86%},,,,{%ProgName%_x86},{%PathInst%}"
Shortcut="D,{%PathInst%\\%PrgMain_x64%},,,,{%ProgName%_x64},{%PathInst%}"
Shortcut="P,{%PathInst%\\%PrgMain_x86%},,,,{%ProgName%_x86},{%PathInst%}"
Shortcut="P,{%PathInst%\\%PrgMain_x64%},,,,{%ProgName%_x64},{%PathInst%}"
;!@InstallEnd@!

Цитата:

Цитата Ruboard
Вы просили помогать в создании модуля. Я стараюсь »

2 Ruboard
Вас просили указать версию модуля и привести свой файл конфигурации, Вы ОТКАЗАЛИСЬ!

Это не помощь... (см. ОПК п.3.13)

Баг не подтверждаю!
У меня множество аддонов выложено с последним модулем (версия модуля 1.5 alpha сборка 1989) и везде FinishMessage работает и жалоб от пользователей не поступало.

Medic84 28-03-2011 00:47 1645274

Собственно назрел вопрос. Как можно удалить необходимую папку ДО установки?
Насколько я читал RunProgram, ExecuteFile, AutoInstall выполняются после распаковки.

gora 28-03-2011 09:47 1645402

Цитата:

Цитата Medic84
Как можно удалить необходимую папку ДО установки?
Насколько я читал RunProgram, ExecuteFile, AutoInstall выполняются после распаковки. »

Установка и распаковка это разные этапы работы модуля. До распаковки ни каких действий произвести нельзя, модуль этого не предусматривает. А после распаковки начинается установка и первыми командами установки можно удалить "любую" папку (конечно, если ее вообще можно удалить).
Если Вы хотите удалить папку в которую нужно произвести установку программы, то распаковывайте SFX во временную папку, затем удаляйте, ту, которую хотите удалить, а затем производите установку/копирование/перемещение из временной папки, туда, куда сочтете нужным. Временная папка автоматически удалится после завершения работы SFX.

Oleg_Sch 09-04-2011 02:54 1654381

Модули обновлены до 1.5.0.2079
Цитата:

* Переменная '%%P' не разбиралась параметрах команд 'Shortcut', 'ShortcutX' (gora:forum.oszone.net)

Oleg_Sch 11-04-2011 14:46 1655843

Сайт обновлен. Все благодарности за справку и обновление самого сайта - gora

Plastikat 19-04-2011 10:20 1661544

Hi, All!

Прежде всего хочется поблагодарить автора обсуждаемого модуля - именно благодаря этому модулю я смог полностью переключиться с WinRar на 7zip. Спасибо.

А теперь об обнаруженной ошибке. Поискал по этому форуму - никто, вроде, не говорил об этом. Это, конечно, странно, но я сам обнаружил её не сразу. На основе обсуждаемого модуля мной был собран инсталлятор, в двух версиях: для x86 и для x64. Во время тестирования всё работало как задумывалось (в качестве тестовой платформы для x64 использовался Windows Server 2008 R2). Несколько позже инсталлятор был (впервые) запущен под Windows Server 2003 SP2, сразу после запуска выдал следующую ошибку:

Цитата:

Цитата Entry Point Not Found
The procedure entry point __CxxFrameHandler3 could not be located in the dynamic link library msvcrt.dll.

После отображения указанной ошибки модуль работу прекращает. Дальнейшие исследования показали, что поведение модуля под Windows XP SP2 x64 полностью аналогично, при этом под Windows 7 x64 / Server 2008 R2 всё работает нормально (Windows Vista x64 / Server 2008 x64 не тестировал, но, думаю, там тоже всё нормально).

Описанное поведение касается только модуля 7zsd_All_x64.sfx (другие x64 модули не тестировались, x86 модули работают нормально под всеми ОС). Ошибка обнаружена при использовании версии 1.4 (1795), в последней доступной стабильной версии 1.4 (1942) ошибка сохраняется.

Интернет говорит, что, скорее всего, эта ошибка может быть связана с определённой настройкой компилятора (или её отсутствием) в случае, если компиляция выполняется под новыми версиями Windows.

Oleg_Sch 19-04-2011 15:16 1661749

Цитата:

Цитата Plastikat
Интернет говорит, что, скорее всего, эта ошибка может быть связана с определённой настройкой компилятора (или её отсутствием) в случае, если компиляция выполняется под новыми версиями Windows. »

Скорее всего интернет прав, там у меня собственные реализации исключений. Предлагаю перебраться в ПМ для дальнейшего обсуждения и решения проблемы.

526549 20-04-2011 00:29 1662026

Задавал 03.01.2011 вопрос, но тогда все еще от праздников не отошли и мой вопрос, видимо, не заметили или не поняли.
Есть SFX архив, который распаковывает ехе файл(установщик чего угодно) и запускает его с параметрами тихой установки. Реализуемо ли силами sfx модуля сделать так, чтобы во время тихой установки появлялось окно такого вида с неактивными кнопками сворачивания, развертывания и закрытия окна и чтобы это окно исчезало, когда процесс тихой установки завершался? Как то так

Oleg_Sch 20-04-2011 00:48 1662033

526549, силами модуля это невозможно

OEM22 25-04-2011 14:37 1665435

Привет всем. Извиняюсь, если немного не в тему, создаю например ярлык на рабочем столе такой командой:

Код:

Shortcut="D,{%%T\\UltraISO.exe},{},{},{Утилита для работы с образами дисков},{UltraISO},{%%T}"
Всё нормально, ярлык создаётся, но что прописать в *.inf, что бы после удаления программы ярлык с рабочего тоже удалялся?
Заранее благодарю за ответ.

LonerD 25-04-2011 20:10 1665590

Цитата:

Цитата 526549
Есть SFX архив, который распаковывает ехе файл(установщик чего угодно) и запускает его с параметрами тихой установки. Реализуемо ли силами sfx модуля сделать так, чтобы во время тихой установки появлялось окно такого вида »

Силами sfx - нет, вручную - можно.
Например, я делал так (фрагмент кода):
Код:

RunProgram="forcenowait:DreamWait.exe"
RunProgram="команда тихой установки"
RunProgram="hidcon:taskkill /im DreamWait.exe"
RunProgram="hidcon:ping -n 3 127.0.0.1"
Delete="%%T\\DreamWait.exe"

При этом DreamWait.exe - простенькая программа с желаемой надписью (чота выпалняецца) или картинкой. Если интересует - мой пример этой программы:
http://rghost.ru/5326187
(висит поверх, возможности закрыть нет, убивается через таскменеджер).

gora 25-04-2011 20:28 1665603

Цитата:

Цитата OEM22
что прописать в *.inf, что бы после удаления программы ярлык с рабочего тоже удалялся? »

Код:

[PROG.DelShortcut]
Name                =%SRTC_NAME%,0x00000002
SubDir                =%PROG_SDIR2%

[Strings]
PROG_SDIR2        ="..\..\Рабочий стол"
SRTC_NAME        ="UltraISO"


OEM22 26-04-2011 08:11 1665793

gora,
Cпасибо, получилось только после добавления вот этого:

Код:

[PROG2.DelShortcut]
Name                =%SRTC_NAME%,0x00000002
SubDir                =%PROG_SDIR2%

и этого:

Код:

ProfileItems                        =PROG.DelShortcut,PROG2.DelShortcut

ramirez 05-05-2011 16:58 1670773

Доброго всем дня!

Есть-ли способ в скрипте sfx-модуля получить имя sfx архива БЕЗ расширения и БЕЗ пути (аналог %%M)?
Если такой возможности нет, возможно-ли добавление подобной переменной в будущих версиях?

Спасибо!

specialist 08-05-2011 23:37 1672826

Уважаемый Oleg_Sch, прошу прощения если вопрос уже был, но возможно ли к гуи прикрутить кликабельность гиперссылок, которые я использую в конфиге?
Код:

BeginPrompt="Сейчас будет установлен %Name%%Vers%
По нажатию 'Да'
....
Свежие новинки на http://yoursite.com"


Oleg_Sch 09-05-2011 12:56 1673020

ramirez, нет, такой возможности нет.
specialist, нет, в текущих модулях это невозможно.
All, все ваши пожелания я записываю, но модуль давно уже не является для меня приоритетной задачей, его развитие заморожено, поэтому не спрашивайте "когда". Коротко - "возможно когда-нибудь будет".
Сейчас вся работа сводится только к обновлению с учетом исходных текстов 7-Zip и устранению ошибок.

Модули и сайт обновлены

1.4.1-Stable
Цитата:

1.4.1-Release (сборка 2100) 28.04.11
* Ошибка загрузки библиотеки msvcrt.dll в 64-х битных версиях модуля в системах ХР/2003 х64 (YumeYao:msfn.org, Plastikat:forum.oszone.net)
1.5.0-Beta
Цитата:

1.5 beta (сборка 2100) 28.04.11
# Использован исходный код 7-Zip версии 9.22 beta от 18 апреля 2011 г.
* Ошибка загрузки библиотеки msvcrt.dll в 64-х битных версиях модуля в системах ХР/2003 х64 (YumeYao:msfn.org, Plastikat:forum.oszone.net)

1.5 beta (сборка 2088) 16.04.11
# Использован исходный код 7-Zip версии 9.21 beta от 11 апреля 2011 г.
# Диалог '-sfxversion'
Все благодарности за обновление сайта и справки - gora

Ruboard 15-05-2011 13:29 1676687

Oleg_Sch,
спасибо, диалог наконец-то заработал

jentoso 19-05-2011 09:50 1678939

Oleg_Sch, когда SVN поднимется?

Oleg_Sch 19-05-2011 09:55 1678941

jentoso, не уследил :(

Проблемы с хостером. Переезд в планах.

Pozia 21-05-2011 21:24 1680284

gora, вы мне как то помогли написать такого плана код для ярлыков:
Код:

;!@Install@!UTF-8!
SetEnvironment="PathInst0=%programfiles%\\ESET\\"
SetEnvironment="PathInst1=%programfiles%\\ESET\\ESET Smart Security\\"
RunProgram="hidcon:cmd /c If Exist \"%PathInst0%\\nod32kui.exe\"                                \"%%S\\%%M\" -ai0"
RunProgram="hidcon:cmd /c If Exist \"%PathInst1%\\egui.exe\"                                        \"%%S\\%%M\" -ai1"
AutoInstall0="hidcon:cmd /c Echo"
AutoInstall1="hidcon:cmd /c Echo"
Shortcut0="D,{%PathInst0%\\nod32kui.exe},{},{},{Антивирус и фаервол сетевой активности},{ESET NOD32 2.7},{%PathInst0%},{%PathInst0%\\nod32kui.exe},{0}"
Shortcut1="D,{%PathInst1%\\egui.exe},{},{},{Антивирус и фаервол сетевой активности},{ESET Smart Security BE 4.2},{%PathInst1%},{%PathInst1%\\egui.exe},{0}"
GUIMode="2"
; This SFX archive was created using "Button for creation and work with 7z SFX archives in Total Commander v.2.0.5" 10.02.2011 17-32. The last version of "Button" you can find on http://buttontc.7zsfx.info
;!@InstallEnd@!

можно ли его как то более правильно записать, чтобы учитывались пути в 64 битной винде без увеличения количества строк?

gora 21-05-2011 22:19 1680314

Цитата:

Цитата Pozia
учитывались пути в 64 битной винде »

Если ESET находится в х64 папке (c:\Program Files\ESET\ ), то так:
Код:

;!@Install@!UTF-8!
SetEnvironment="PFx86=%ProgramFiles%\\ESET"
SetEnvironment="PFx64=%ProgramW6432%\\ESET"
RunProgram="%%P:hidcon:cmd /c If Exist \"%PF%%P%\\nod32kui.exe\" \"%%S\\%%M\" -ai0"
RunProgram="%%P:hidcon:cmd /c If Exist \"%PF%%P%\\ESET Smart Security\\egui.exe\" \"%%S\\%%M\" -ai1"
AutoInstall0="hidcon:cmd /c Echo"
AutoInstall1="hidcon:cmd /c Echo"
Shortcut0="D,{%PF%%P%\\nod32kui.exe},{},{},{Антивирус и фаервол сетевой активности},{ESET NOD32 2.7},{%PF%%P%},{%PF%%P%\\nod32kui.exe},{0}"
Shortcut1="D,{%PF%%P%\\ESET Smart Security\\egui.exe},{},{},{Антивирус и фаервол сетевой активности},{ESET Smart Security BE 4.2},{%PF%%P%\\ESET Smart Security},{%PF%%P%\\ESET Smart Security\\egui.exe},{0}"
GUIMode="2"
;!@InstallEnd@!


Taran2ul 28-05-2011 16:34 1684144

Люди! Скажите, а существует ли возможность в SFX 7z архив прикрутить проверку при распаковке, например если нет определенного файла в папке с архивом или по какому то указанному пути, то распаковка прекращается. Или по контрольной сумме какого либо файла.

И еще: можно ли заблокировать SFX 7z архив так, что бы его нельзя было открыть в WinRAR, 7zip и др. или зашифровать список файлов, чтобы его нельзя было посмотреть.

PS Без использования пароля. Использую модифицированный модуль.

Oleg_Sch 28-05-2011 17:02 1684153

Taran2ul, на все вопросы - "нет"

Taran2ul 28-05-2011 17:30 1684162

Oleg_Sch, жаль, но в принципе так и предполагал.

jentoso 21-06-2011 21:40 1699155

Oleg_Sch, SVN упал

Oleg_Sch 22-06-2011 01:29 1699268

jentoso, поднял. Надеюсь к августу-сентябрю переехать и завязать с падениями
all, пишите об этом в ПМ, чтобы не захламлять ветку

nsky 28-06-2011 11:38 1702855

Hi All!
Похоже в версии 1.4.1 не работает BeginPromptTimeout.
Код:

;!@Install@!UTF-8!
InstallPath="%ProgramFiles%\\SysinternalsSuite"
BeginPrompt="Install SysinternalsSuite?"
BeginPromptTimeout="11"
;GUIFlags="64"
GUIFlags="128"
RunProgram="cmd /c title %cd% & dir & pause"
;!@InstallEnd@!

В 1.5.0 все Ок!

gora 28-06-2011 11:47 1702871

Цитата:

Цитата nsky
Похоже в версии 1.4.1 не работает BeginPromptTimeout »

Какого параметра там просто нет. Он появился только в версии 1.5. Читайте историю в справке.

nsky 28-06-2011 11:57 1702879

Цитата:

Цитата gora
Он появился только в версии 1.5 »

Ок! Спасибо за быстрый ответ.
Жаль что в справке 1.4.1 он есть :-)
tnx...

mcFactor 06-07-2011 10:00 1708046

возможно это уже обсуждалось, то сто с лишним страниц - это слишком много... :)

вопрос - можно-ли перед распаковкой (либо перед инсталляцией) архива определить на какой системе запущен пакет (т.е. использовать 32b модуль, который определяет на какой платформе он запущен - x86 или x64) и запускать инсталляцию для соответствующей платформы (соответствующую часть архива).

спасибо.

BigBoo 06-07-2011 10:31 1708063

mcFactor, использовать переменную %%P - платформа операционной системы или префиксы команд запуска х86, х64. Подробнее читайте соответствующий раздел в справке или на http://7zsfx.info/ru/. Я бы советовал скачать любой аддон, 7ZSplit-ом извлечь и поизучать файл конфигурации, посмотреть на реальном примере, как это реализовано.

hlpain 06-07-2011 12:51 1708129

Я использую SFX модуль для создания патчей к игре и возник вопрос:
В моем скрипте установки:
InstallPath="C:\\CSS"
как мне сделать чтобы перед началом установки патча в указанную пользователем папку,
делалась проверка на то что пользователь указал верный путь для распаковки,
зная что в этой папке должен быть файл Х или директория Y?

mcFactor 08-07-2011 03:26 1709303

2 BigBoo
Спасибо, благодетель! :D

Tavork 10-07-2011 13:39 1710554

Здравствуйте, подскажите пожалуйста, как сделать чтобы распаковка файлов происходила внутрь zip архива.

Что-то вроде InstallPath="%PROGRAMFILES%\\program\\library.zip" естественно не пройдет, может кто знает как?

Котяра 10-07-2011 16:32 1710666

Tavork, думаю, например, можно сделать распаковку во временную папку и последующее сжатие каким-либо архиватором, управляемым из командной строки.

Tavork 10-07-2011 17:09 1710675

Котяра, идея хорошая, спасибо.
Тогда InstallPath не указываю, в архив помещаю установщик 7-zip, на случай если его нет на машине, и даю команду 7-zip на присоединение файлов из временной папки к library.zip.

Как по тихому установить 7-zip я нашел: RunProgram="7z920.exe /S"
Осталось найти как 7-zip дать команду на соединение файлов с архивом.

specialist 10-07-2011 17:16 1710677

Tavork,
не обязательно его ставить. просто добавь в установщик файл 7za.exe и дай команду на упаковку
7za.exe a -t7z .\7zarch.7z .\Temporary\* -mx=9 -m0=BCJ -m1=LZMA2:d=26 -ms -mmt >nul

-t7z тип архива
.\7zarch.7z имя архива
.\Temporary\* что упаковывать
-mx=9 -m0=BCJ -m1=LZMA2:d=26 -ms -mmt параметры
вобщем лучше все изучить самостоятельно

Tavork 10-07-2011 17:37 1710688

Спасибо, теперь разобрался что к чему

BigBoo 30-07-2011 15:07 1722827

В справке по команде "Shortcut" такого не нашёл, можно ли и как средствами 7z SFX создать ярлык в панели быстрого запуска?

gora 30-07-2011 15:09 1722828

Цитата:

Цитата BigBoo
можно ли и как средствами 7z SFX создать ярлык в панели быстрого запуска? »

Можно. См. пример №6

BigBoo 30-07-2011 17:27 1722863

gora, спасибо за ответ, на живой системе работает. Только как я понимаю, если использовать эту команду в аддоне, ярлык в панели быстрого запуска не создастся?

gora 30-07-2011 17:35 1722867

Цитата:

Цитата BigBoo
если использовать эту команду в аддоне, ярлык в панели быстрого запуска не создастся? »

Создастся. Примеры можете посмотреть, например, здесь или здесь.

ray_man 01-08-2011 12:33 1723847

Всем привет.
Кто знает, возможно ли изменить в модифицированных модулях диалоговое окно выбора папки распаковки?
Очень в нем не хватает кнопки "Создать папку".

BigBoo 02-08-2011 19:52 1724762

Хочу сделать так: при нажатии [OK] создаётся ярлык в меню "Пуск", при нажатии [OK], удерживая клавишу [Shift] - в меню "Пуск" и "Панели быстрого запуска". Никак не могу разобраться, пишу так, не работает:
Код:

Shortcut="P, {%PathInst%\\%NameEXE%}, {}, {}, {%Comments%}, {%Name%}, {%PathInst%}"
Shortcut1="26, {%PathInst%\\%NameEXE%}, {}, {Microsoft\\Internet Explorer\\Quick Launch}, {%Comments%}, {%Name%}, {%PathInst%}"
...
AutoInstall="shc1:fm10:hidcon:cmd /c If Exist \"%%S\\%Config%\" (Copy /y \"%%S\\%Config%\" \"%PathInst%\\\")"

Ярлык в "Панели быстрого запуска" не создаётся, в чём загвоздка?

gora 02-08-2011 20:12 1724770

BigBoo, литерные параметры ShortcutX работают только с литерными командами AutoInstallX. AutoInstall не литерная команда, как и RunProgram, и для них существует общий (хотя и множественный) параметр Shortcut. Следовательно, для случая
Цитата:

Цитата BigBoo
при нажатии [OK] создаётся ярлык в меню "Пуск", при нажатии [OK], удерживая клавишу [Shift] - в меню "Пуск" и "Панели быстрого запуска". »

создать разные ярлыки нельзя.

BigBoo 02-08-2011 21:48 1724801

В принципе так и предполагал, а жаль. Интересно, что скажет Oleg_Sch, можно ли ожидать в будущем этого функционала?

Oleg_Sch 03-08-2011 01:08 1724891

Цитата:

Цитата BigBoo
Интересно, что скажет Oleg_Sch, можно ли ожидать в будущем этого функционала? »

По этому поводу все уже давно сказано, нпр
здесь , здесь и здесь

sov44 03-08-2011 23:54 1725572

Делаю самораспаковывающийся архив Office 2010 SP1, сломал голову в поисках причины ошибки (это мой первый опыт создания 7z sfx, прошу сильно не пинать ;)) Последовательность действий такая:
1. С помощью SetupDecompressor обработал все файлы *.cab, *.msi
2. Упаковал всё в 7zip архив Office.7z ( Image 1.jpg)
3. Создал в UTF-8 текстовый файл 5.txt
Код:

;!@Install@!UTF-8!
SetEnvironment="Name=Microsoft Offise 2010 SP1"
SetEnvironment="Vers= 17.08.2011"
Title="Установка %Name%"
BeginPrompt="Сейчас будет установлена
%Name%%Vers%"
FinishMessage="%Name%%Vers% установлена!"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
RunProgram="hidcon:cmd /c msksm.cmd"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
;!@InstallEnd@!

4. Создал 7z sfx
Код:

COPY /b 7zsd_LZMA.sfx+5.txt+Office.7z Office_2010_SP1.exe
* Во время установки появляется окно (Image 2.jpg) о том, что не найден файл, хотя он по указанному пути присутствует. Хелп!

specialist 04-08-2011 01:16 1725605

Цитата:

Цитата sov44
1. С помощью SetupDecompressor обработал все файлы *.cab, *.msi »

от этого пункта придется отказаться. начиная с 2007 версии проверяется целостность и цифровая подпись оригинальных файлов.
с SP1 получается чуть менее 1150 мб, в sfx архиве с хорошим сжатием - около 830 мб

gora 04-08-2011 08:48 1725666

Цитата:

Цитата sov44
хотя он по указанному пути присутствует. Хелп! »

Проблема видимо в msksm.cmd, который Вы не привели, или в папке из которой производится установка.
1 Попробуйте запустить установку запуском msksm.cmd
2 Перенесите все содержимое архива во временную папку как показано на Вашем втором рисунке и повторите п.1
3 Иногда MS инсталляторы не любят запуск из временной папки, попробуйте добавить в конфиг распаковку в корень системного диска в папку без пробелов:
Код:

InstallPath="C:\\Offise2010"
с последующим ее удалением

sov44 04-08-2011 20:52 1726020

gora, перепробовал все варианты, всё равно выскакивает окно, что файл не найден.
Цитата:

Цитата specialist
от этого пункта придется отказаться. начиная с 2007 версии проверяется целостность и цифровая подпись оригинальных файлов. »

Попробовал не обрабатывать файлы *.cab, *.msi SetupDecompressor-ом, установка прошла на ура.
specialist, прав!!!

gora 08-08-2011 12:25 1727779

Цитата:

Цитата BigBoo
В принципе так и предполагал, а жаль. »

Вашу проблему можно решить, добавив последней команду:
Код:

RunProgram="forcenowait:hidcon:cmd /c Ping -n 10 LocalHost>Nul& Del /Q \"%7zSfxFolder26%\\NameProgram.lnk\">Nul"
Ярлык создастся, но будет удален. Имя ярлыка впишите свое.

sov44 13-08-2011 23:35 1731288

Подскажите, почему не работает таймер на кнопке ОК при установке? Кроме того, после установки программы окно должно закрыться.
Код:

;!@Install@!UTF-8!
SetEnvironment="Name=Microsoft Offise 2010 SP1"
SetEnvironment="Vers=17.08.2011"
Title="Установка %Name%"
BeginPromptTimeout="15"
FinishMessage="%Name%%Vers% установлен!"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
BeginPrompt="Установка %Name% от %Vers%"
RunProgram="fm20:hidcon:cmd /c msksm.cmd"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
BeginPrompt="Сейчас будет установлен %Name% от %Vers%"
;!@InstallEnd@!

upd Вопрос снят - причина была в модуле.

BigBoo 18-08-2011 01:35 1734232

Обнаружил такую вещь, очень долго не мог понять, в чём дело: если использовать команду "ExecuteFile", все команды "RunProgram" игнорируются и не срабатывают! Думаю, достаточно важное замечание, сколько времени и нервов убил, пытаясь понять ошибку.

gora 18-08-2011 06:00 1734272

Цитата:

Цитата BigBoo
если использовать команду "ExecuteFile", все команды "RunProgram" игнорируются и не срабатывают! »

Читаем справку: :read:
Цитата:

Существуют 4 типа команд запуска программ: 'AutoInstall', 'AutoInstallX', 'RunProgram' и 'ExecuteFile'. В файле конфигурации могут одновременно присутствовать любые из этих 4-х типов и даже все, но после запуска SFX архива может выполняться только один тип команд запуска.

Одновременное наличие 'ExecuteFile' и 'RunProgram', в файле конфигурации, возможно, но нецелесообразно, т.к. 'ExecuteFile' имеет приоритет и все 'RunProgram' будут проигнорированы.

sov44 18-08-2011 16:21 1734615

Возможно ли создание 7z архива, а в дальнейшем sfx через командную строку?

gora 18-08-2011 16:28 1734620

Да, но батником проще. Посмотреть конкретную реализацию можно, например, здесь.

sov44 18-08-2011 16:43 1734639

gora, то, что надо, буду пробовать. Нужно упаковать Ofiice 2010 SP1 в автоматическом режиме ( в случае добавления обновлений) :)

timon45 04-09-2011 15:27 1745926

Нужна помощь в написании файла конфигурации.
Архив состоит из 3 файлов:
ProxifierSetup.exe - нужно запустить с ключом [/verysilent /tasks="groupicon, desktopicon"]
ByFly_guest.ppx - нужно скопировать в папку пользователя ...Application Data\Proxifier\Profiles
Setting.reg - Добавить информацию в системный реестр
Код:

;!@Install@!UTF-8!
SetEnvironment="Name=Proxifier"
SetEnvironment="Vers= v3.0 released"
Title="Установка %Name%"
BeginPrompt="Сейчас будет установлен %Name%%Vers%

Нажав 'OK', удерживая [Shift], можно скрыть процесс установки"
FinishMessage="%Name%%Vers% установлен!"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
MiscFlags="4"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
RunProgram="ProxifierSetup.exe"
RunProgram="hidcon:cmd /c copy ByFly_guest.ppx %USERPROFILE%\Application Data\Proxifier\Profiles"
RunProgram="hidcon:REGEDIT /S Setting.reg"
AutoInstall="fm20:ProxifierSetup.exe /verysilent /tasks="groupicon, desktopicon""
AutoInstall="hidcon:cmd /c copy ByFly_guest.ppx %USERPROFILE%\Application Data\Proxifier\Profiles"
AutoInstall="hidcon:REGEDIT /S Setting.reg"
;!@InstallEnd@!


gora 04-09-2011 15:38 1745938

Код:

;!@Install@!UTF-8!
SetEnvironment="Name=Proxifier"
SetEnvironment="Vers= v3.0 released"
Title="Установка %Name%"
BeginPrompt="Сейчас будет установлен %Name%%Vers%

Нажав 'OK', удерживая [Shift], можно скрыть процесс установки"
FinishMessage="%Name%%Vers% установлен!"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
MiscFlags="4"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
RunProgram="ProxifierSetup.exe"
RunProgram="hidcon:cmd /c copy /y ByFly_guest.ppx \"%USERPROFILE%\\Application Data\\Proxifier\\Profiles\""
RunProgram="REGEDIT /S Setting.reg"
AutoInstall="fm20:ProxifierSetup.exe /verysilent /tasks=\"groupicon, desktopicon\""
AutoInstall="hidcon:cmd /c copy /y ByFly_guest.ppx \"%USERPROFILE%\\Application Data\\Proxifier\\Profiles\""
AutoInstall="REGEDIT /S Setting.reg"
;!@InstallEnd@!


timon45 04-09-2011 15:55 1745950

gora, файл ByFly_guest.ppx не появился в %USERPROFILE%\\Application Data\\Proxifier\\Profiles\, может по тому что установка ProxifierSetup.exe не создает каталога \Proxifier\Profiles\, а он создается только после запуска программы.

gora 04-09-2011 16:03 1745955

timon45, команда Copy не создает папку назначения. Если этой папки нет до копирования, то ее нужно создать или использовать xCopy (последняя создает папки автоматически).
Код:

RunProgram="hidcon:xCopy ByFly_guest.ppx \"%USERPROFILE%\\Application Data\\Proxifier\\Profiles\\ByFly_guest.ppx\" /e /i /y"

timon45 04-09-2011 16:21 1745964

gora, с данной командой у меня уже даже настройки в реестр не вносятся, и папка тоже не создается, (с предыдущей командой настройки в реестр вносятся)

Решил сделать по другому:
Код:

;!@Install@!UTF-8!
SetEnvironment="Name=Proxifier"
SetEnvironment="Vers= v3.0 released"
InstallPath="%USERPROFILE%\\Application Data\\Proxifier\\Profiles"
Title="Установка %Name%"
BeginPrompt="Сейчас будет установлен %Name%%Vers%

Нажав 'OK', удерживая [Shift], можно скрыть процесс установки"
FinishMessage="%Name%%Vers% установлен!"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
MiscFlags="4"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
RunProgram="ProxifierSetup.exe"
RunProgram="hidcon:cmd /c copy /y ByFly_guest.ppx \"%USERPROFILE%\\Application Data\\Proxifier\\Profiles\""
RunProgram="REGEDIT /S Setting.reg"
AutoInstall="fm20:ProxifierSetup.exe /verysilent /tasks=\"groupicon, desktopicon\""
AutoInstall="hidcon:cmd /c copy /y ByFly_guest.ppx \"%USERPROFILE%\\Application Data\\Proxifier\\Profiles\""
AutoInstall="REGEDIT /S Setting.reg"
Delete="%USERPROFILE%\\Application Data\\Proxifier\\Profiles\\ProxifierSetup.exe"
Delete="%USERPROFILE%\\Application Data\\Proxifier\\Profiles\\Setting.reg"

;!@InstallEnd@!

Если каталог не создается там мы его создадим :)

ну хотелось бы использовать более грамотное решение.

gora 04-09-2011 17:28 1746007

Поправил
Код:

RunProgram="hidcon:xCopy ByFly_guest.ppx \"%USERPROFILE%\\Application Data\\Proxifier\\Profiles\\\" /e /y"

dee.jack 21-10-2011 15:23 1778678

В справке несколько раз упоминается, что в оригинальном, как я понимаю в автоматическом режиме создания SFX, тоже должны быть свои параметры конфигурации, вот дословно (Параметр оригинального SFX модуля архиватора 7-Zip).
Есть также спец утилита от создателей, чтобы извлекать config.txt из готовых архивов. Я попробовал этой утилитой извлечь файл конфигурации из SFX созданным обычным путём, но файла config.txt там нет. Мне именно нужно взглянуть на такую конфигурацию, не спрашивайте только зачем. :) Если кто знает, подскажите плизз.

gora 21-10-2011 15:36 1778694

Цитата:

Цитата dee.jack
в оригинальном, как я понимаю в автоматическом режиме создания SFX, тоже должны быть свои параметры конфигурации, вот дословно (Параметр оригинального SFX модуля архиватора 7-Zip). »

1 В автоматическом режиме создается SFX без файла конфигурации.
2 SFX с файлом конфигурации могут создаваться только с модулями входящими в пакет 7z_extra и только вручную.
Подробнее об этом написано в справке (описание ключа -sfx), где и перечислены Параметры оригинального SFX модуля архиватора 7-Zip

dee.jack 21-10-2011 18:44 1778841

Дело в том, что я создаю установщик на базе инсталлятора, в нём я прописал параметры с ключами -y -o.
Этот инсталлятор запускает SFX архив, и распаковывает архив туда, куда мне надо. Как только я меняю интерфейс sfx архива на Виндовский и меняю кое-какие надписи на распаковщике с помощью файла конфигурации, этот файл ни в какую не хочет распаковываться туда куда мне надо, в отличии от архива, созданного автоматом. Не пойму тогда какую конфигурацию делать. Перепробовал варианты с путями в папку где находится файл, а он туда же и распаковывается при запуске инсталлятора, без путей - файл вообще пропадает. Как вот сделать, чтобы всё происходило как и в случае создания SFX автоматически, т.е. такой файл исполняет команды инсталлятора, а с конфигурацией почему-то нет. Вывод из этого конечно делается такой, не правильная конфигурация, т.е. не та которая нужна.
Вопрос тогда такой, что нужно еще добавить в файл конфига, чтобы архив слушал команды инсталлятора?
;!@Install@!UTF-8!
GUIFlags="4+8+16+32+128+1024"
;!@InstallEnd@!


P.S.
Пути в которые забрасывает файлы программа инсталлятора , крайне не стандартные, и я научил его их определять.

При создании SFX использовал Файл 7zsd_LZMA.sfx из пакета Экстра.

Nun-Nun 27-10-2011 17:04 1783041

Может кто подсказать по такому делу: в параметрах 7z SFX есть такая строчка:

RunProgram="%%P:hidcon:cmd /c >>%NameInf% Echo KEY_UNINST1 =\"rundll32 advpack,LaunchINFSection %SystemRoot%\\INF\\MyProgram.inf,Uninstall_%%P,0\""

но в inf-файле переменная %SystemRoot% прописывается как её значение, а мне нужно, чтобы прописывалась именно как текст %SystemRoot%
Такое возможно?

specialist 27-10-2011 17:17 1783061

иногда в таких случаях помогает удвоение признака переменной %%
попробуйте
Код:

RunProgram="%%P:hidcon:cmd /c >>%NameInf% Echo KEY_UNINST1 =\"rundll32 advpack,LaunchINFSection %%SystemRoot%%\\INF\\MyProgram.inf,Uninstall_%%P,0\""

gora 27-10-2011 17:28 1783076

Цитата:

Цитата Nun-Nun
прописывалась именно как текст %SystemRoot%
Такое возможно? »

Удвоение процентов сработает, но я Вас уже предупреждал, что в секции [Strings] нельзя использовать переменные.

Nun-Nun 27-10-2011 19:28 1783153

Цитата:

Цитата specialist
иногда в таких случаях помогает удвоение признака переменной %%
попробуйте »

Цитата:

Цитата gora
Удвоение процентов сработает...»

Пробовал, и даже пробовал переменную через другую переменную в параметрах окружения прописать, но почему-то вот что получается:
Код:

либо так

KEY_UNINST1 ="rundll32 advpack,LaunchINFSection %C:\Windows%\INF\MyProgram.inf,Uninstall_x86,0"

либо так

KEY_UNINST1 ="rundll32 advpack,LaunchINFSection C:\Windows\INF\MyProgram.inf,Uninstall_x86,0"

Цитата:

Цитата gora
...но я Вас уже предупреждал, что в секции [Strings] нельзя использовать переменные.»

Я об этом помню. Просто попробовал поэкспериментировать и вручную в этой строчке inf-а прописать %SystemRoot% - всё прекрасно работает, в ярлыке получается всё, как положено.

gora 27-10-2011 20:01 1783186

Цитата:

Цитата Nun-Nun
вот что получается: »

А так:
Код:

RunProgram="%%P:hidcon:cmd /V:ON /c Set \"aa=SystemRoot\" & >>%NameInf% Echo KEY_UNINST1 =\"rundll32 advpack,LaunchINFSection %!aa!%\\INF\\MyProgram.inf,Uninstall_%%P,0\""

Nun-Nun 27-10-2011 20:11 1783192

gora,

Отлично! То, что доктор прописал! Всё прошло с первого раза! Огромнейшее спасибо!

P.S. К сожалению, не могу благодарность выразить так, как здесь положено - почему-то периодически исчезает эта функция, вот и сейчас её нет. :(

Iska 28-10-2011 01:57 1783383

Цитата:

Цитата Nun-Nun
P.S. К сожалению, не могу благодарность выразить так, как здесь положено - почему-то периодически исчезает эта функция, вот и сейчас её нет. »

Возможно, превышено суточное ограничение на количество отмечаемых полезных сообщений.

Nun-Nun 29-10-2011 20:59 1784535

Iska,

Не думаю, но кто его знает... В любом случае - принял к сведению. Спасибо.

lioncub 02-11-2011 14:39 1787279

Можно ли с помощью ключей запустить команду перед распаковкой и псоле распаковки?
Т.е. перед распаковкой мне нужно убить процесс (taskill), после распаковки его поднять (run.exe).

Devils0411 16-11-2011 13:11 1796262

Вопрос такого характера, после создания sfx-файла и его запуска, пишет, что файл setup.exe не найден. Версия модуля 1.5.0 Beta, сборка 2100 (28 апреля 2011 г.)
Код:

;!@Install@!UTF-8!
;Версия файла
SetEnvironment="Vers= 1.0"
SetEnvironment="Name=Test"
Title="Установка %Name%"
BeginPrompt="Сейчас будет установлен %Name%%Vers%"
;ExtractTitle="Распаковка файлов..."
;ExtractDialogText="Придется подождать..."
;FinishMessage="%Name%%Vers% установлен!"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
MiscFlags="4"
AutoInstall0="%%P:hidcon:cmd /c msiexec /i \"%%T\\test_32bit.msi\" /qn"
AutoInstall1="%%P:hidcon:cmd /c msiexec /i \"%%T\\test_64bit.msi\" /qn"
;!@InstallEnd@!


gora 16-11-2011 13:32 1796284

Цитата:

Цитата Devils0411
после создания sfx-файла и его запуска, пишет, что файл setup.exe не найден »

При запуске Вашего SFX без ключей -aiX должна выполняться команда RunProgram, но ее у Вас нет. Так же отсутствует параметр InstallPath. В этом случае:
Цитата:

Цитата справка
будет сделана попытка выполнить файл "setup.exe" (если он имеется в корне архива).

Видимо у Вас такого файла нет, что и порождает ошибку.
Для исключения ошибки нужно либо указать InstallPath и прописать в нем путь, либо использовать RunProgram хотя бы с холостой операцией:
Код:

RunProgram="hidcon:cmd /c Echo"

specialist 16-11-2011 13:38 1796289

Цитата:

Цитата Devils0411
файл setup.exe не найден »

а в файле конфигурации он и не заявлен
запускаете собранный exe файл просто двойным кликом или с ключами - ai0 (-ai1) ?
так как строк runprogram и autoinstall для работы из gui интерфейса (запуска двойным кликом) вообще не прописано

Devils0411 16-11-2011 16:02 1796422

gora, Я правильно понял, что если добавить команду RunProgram, то надобность в команде InstallPath отпадает?
Попутный вопрос, чтобы запускать созданный архив без ключей, тогда надо просто задать команду autoinstall?
specialist, нет, данного файла нет вообще и он не заявлен в конфиг файле. Собранный exe просто запускаю без ключей.

gora 16-11-2011 16:05 1796427

Цитата:

Цитата Devils0411
Я правильно понял »

Правильно, этого достаточно.
Цитата:

Цитата Devils0411
чтобы запускать созданный архив без ключей, тогда надо просто задать команду autoinstall? »

Обычно используют команду RunProgram, т.к., AutoInstall требует нажатия ОК с удерживанием клавиши <Shift>.

Devils0411 16-11-2011 16:34 1796461

Чтоб уж до конца разобраться. По зависимости от платформы.
Приведу пример:
Код:

;!@Install@!UTF-8!
;Версия файла
SetEnvironment="Vers= 1.0"
SetEnvironment="Name=Test"
Title="Установка %Name%"
BeginPrompt="Сейчас будет установлен %Name%%Vers%"
;ExtractTitle="Распаковка файлов..."
;ExtractDialogText="Придется подождать..."
;FinishMessage="%Name%%Vers% установлен!"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
MiscFlags="4"
RunProgram="%%P:hidcon:cmd /c msiexec /i \"%%T\\test_32bit.msi\" /qn"
RunProgram="%%P:hidcon:cmd /c msiexec /i \"%%T\\test_64bit.msi\" /qn"
;!@InstallEnd@!

Запустив данный sfx-файл, отрабатываются оба RunProgram, т.е. для того чтобы запустить нужную команду в нужной платформе, нужно указывать так?:
Код:

;!@Install@!UTF-8!
;Версия файла
SetEnvironment="Vers= 1.0"
SetEnvironment="Name=Test"
Title="Установка %Name%"
BeginPrompt="Сейчас будет установлен %Name%%Vers%"
;ExtractTitle="Распаковка файлов..."
;ExtractDialogText="Придется подождать..."
;FinishMessage="%Name%%Vers% установлен!"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
MiscFlags="4"
RunProgram="%%P:hidcon:cmd /c msiexec /i \"%%T\\test_32bit.msi\" /qn"
;!@InstallEnd@!
;!@Install@!UTF-8!:x64!
RunProgram="%%P:hidcon:cmd /c msiexec /i \"%%T\\test_64bit.msi\" /qn"
;!@InstallEnd@:x64!

Тогда смысл переменной %%P?

P.S. Разобрался. Достаточно сделать вот так:
Код:

;!@Install@!UTF-8!
;Версия файла
SetEnvironment="Vers= 1.0"
SetEnvironment="Name=Test"
Title="Установка %Name%"
BeginPrompt="Сейчас будет установлен %Name%%Vers%"
;ExtractTitle="Распаковка файлов..."
;ExtractDialogText="Придется подождать..."
;FinishMessage="%Name%%Vers% установлен!"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
MiscFlags="4"
RunProgram="x86:hidcon:cmd /c msiexec /i \"%%T\\test_32bit.msi\" /qn"
RunProgram="x64:hidcon:cmd /c msiexec /i \"%%T\\test_64bit.msi\" /qn"
;!@InstallEnd@!


gora 16-11-2011 18:13 1796537

Цитата:

Цитата Devils0411
Код:

RunProgram="%%P:hidcon:cmd /c msiexec /i \"%%T\\test_32bit.msi\" /qn"
RunProgram="%%P:hidcon:cmd /c msiexec /i \"%%T\\test_64bit.msi\" /qn"

»

Начнем постепенно:
1 Запуск msi из модуля не требует использования msiexec, упрощаем
Код:

RunProgram="%%P:hidcon:cmd /c \"%%T\\test_32bit.msi\" /qn"
RunProgram="%%P:hidcon:cmd /c \"%%T\\test_64bit.msi\" /qn"

2 Для запуска не требуется cmd, ибо это не команды интерпретатора CMD, а если нет окна консоли, то и префикс не нужен, упрощаем
Код:

RunProgram="%%P:\"%%T\\test_32bit.msi\" /qn"
RunProgram="%%P:\"%%T\\test_64bit.msi\" /qn"

3 Переменная %%T - это текущая папка модуля и указывать ее в команде запуск в данном случае необходимости нет, а, т.к., в именах пробелов нет, то и кавычки не нужны, упрощаем
Код:

RunProgram="%%P:test_32bit.msi /qn"
RunProgram="%%P:test_64bit.msi /qn"

4 Чтобы каждый из msi отработал только на системе с нужной разрядностью, используем соответствующие префиксы, а не переменную %%P
Код:

RunProgram="x86:test_32bit.msi /qn"
RunProgram="x64:test_64bit.msi /qn"

Цитата:

Цитата Devils0411
Тогда смысл переменной %%P? »

Если Вы можете переименовать свои файлы msi, например, в
Код:

test_x86bit.msi
test_x64bit.msi

То можно две команды (см. п.4) заменить одной
Код:

RunProgram="%%P:test_%%Pbit.msi /qn"

wadimus 16-11-2011 21:29 1796669

и еще проще:
Код:

RunProgram="test_%%Pbit.msi /qn"

gora 16-11-2011 21:51 1796689

Цитата:

Цитата wadimus
и еще проще: »

Это не всегда одно и тоже, ибо мы не знаем, что там в msi.
Пример:
1 Сделайте два скрипта с именами test_x64.cmd и test_x86.cmd с одинаковым содержанием:
Код:

@Echo Off
Echo %ProgramFiles%
Pause>Nul

2 Упакуйте их в архив и сделайте SFX с конфигом:
Код:

;!@Install@!UTF-8!
RunProgram="forcenowait:test_%%P.cmd"
RunProgram="%%P:test_%%P.cmd"
;!@InstallEnd@!

Первая строка - Ваш вариант, вторая - мой. На префикс forcenowait здесь можете не обращать внимания и даже удалить, если сомневаетесь, он нужен что бы увидеть два окна консоли сразу.
3 Теперь запустите на x64 системе и сравните результат.

wadimus 17-11-2011 07:00 1796875

gora, хм

test_x64.cmd и test_x86.cmd:
Код:

set > %1
конфиг-файл:
Код:

;!@Install@!UTF-8!
RunProgram="test_%%P.cmd c:\\test1.txt"
RunProgram="%%P:test_%%P.cmd c:\\test2.txt"
;!@InstallEnd@!

в test1.txt и test2.txt будут разные системные переменные (значения их)?

wadimus 25-11-2011 19:32 1803399

сам же себе отвечу.
системные переменные в нашем случае будут разные!!!
это всё для х64-систем

в первом случае
Код:

set > test1.txt
получили:
Код:

ProgramFiles=C:\Program Files (x86)
ProgramFiles(x86)=C:\Program Files (x86)

во втором случае:
Код:

x64: (вызов такой же команды set > test1.txt)
получили:
Код:

ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)

что имеем - gora прав!

получается, что командный интерпретатор в х64-системах по-умолчанию запускается 32-х битным!

Уважаемый gora, поясни?

timon45 03-12-2011 22:09 1808715

Код:

RunProgram="hidcon:cmd /c copy neon.dll %Programfiles%\AIMP3\Icons"
это команда копирует файл neon.dll в каталог: %Programfiles%\AIMP3\Icons

Код:

RunProgram="hidcon:xCopy neon.dll \"%Programfiles%\\AIMP3\\Icons\\\" /e /y"
это команда копирует файл neon.dll с созданием каталога: %Programfiles%\AIMP3\Icons

а как должна выглядеть команда если нужно не скопировать а переместить файл в 1-м и 2-м случае?

gora 03-12-2011 22:53 1808747

Код:

; папка назначения уже существует
RunProgram="hidcon:Move neon.dll \"%Programfiles%\\AIMP3\\Icons\" /y"

; папка назначения не существует
RunProgram="hidcon:cmd /c MD \"%Programfiles%\\AIMP3\\Icons\""
RunProgram="hidcon:Move neon.dll \"%Programfiles%\\AIMP3\\Icons\" /y"


timon45 03-12-2011 23:16 1808759

gora, не получается

gora 03-12-2011 23:49 1808785

Цитата:

Цитата timon45
не получается »

Мало информации. Выложите SFX, погляжу.

shao 03-12-2011 23:53 1808790

Цитата:

Цитата gora
RunProgram="hidcon:Move »

А откуда взялась команда "Move"

Может так правильнее :
Код:

RunProgram="hidcon:cmd /c Move.....

timon45 04-12-2011 12:22 1808966

gora, shao, пробовал так:
Код:

RunProgram="hidcon:cmd /c Move neon.dll \"%Programfiles%\\AIMP3\\Icons\" /y"
ошибка не появлялась, но команда не срабатывала.
решил сделать иначе, выполнить копирование а затем удаление файла. Но если вам все же интересно что не так сбрасываю вам свой установщик только без программы внутри.
скачать

wadimus 04-12-2011 17:25 1809100

есть такая утилита:
Код:

robocopy.exe
в семерке она встроена в систему, под хр - внешняя (надо скачивать)
главная особенность:
- копирует (перемещает) всё и везде. файлы и каталоги со всеми аттрибутами, хидден-файлы в хидден-каталоги ...

параметры:
Код:

robocopy.exe <откуда> <куда> <что> <параметры копирования>

berkut_174 13-12-2011 17:18 1814496

Подскажите пожалуйста что не правильно делаю, не получается...
Создаю архив 7z, в котором лежит файл *.exe. Далее кладу его в одну папку с модулем и config.txt (в кодировке UTF-8).
Код:

;!@Install@!UTF-8!
RunProgram="setup.exe /s"
;!@InstallEnd@!

Получается в одной папке 7zsd.sfx + config.txt + setup.7z. В командной строке выполняю команду
Код:

COPY /b 7zsd.sfx + config.txt + setup.7z setup.exe
Запускаю setup.exe и получаю ошибку: Невозможно прочитать или отсутствует файл конфигурации SFX архива.

Что не так то? Все вроде по Документации делаю... Помогите, пожалуйста!

P.S. 7-zip 9.20

MKN 14-12-2011 08:56 1814885

berkut_174,
Не 7zsd.sfx , а 7ZSD_LZMA.sfx (или 7ZSD_LZMA2.sfx)

berkut_174 14-12-2011 09:24 1814897

Цитата:

Цитата MKN
Не 7zsd.sfx , а 7ZSD_LZMA.sfx (или 7ZSD_LZMA2.sfx) »

Пробовал и 7ZSD_All.sfx, и 7ZSD_LZMA.sfx - результат тот же.


Спасибо, MKN! Использовал 7ZSD_LZMA2.sfx! И пошло дело :-)

grey2 04-01-2012 17:17 1828272

Если паковать в sfx запароленный 7z архив то при открытии пишет метод не поддерживается. тогда зачем у вас параметры :
PasswordTitle="new_title"
PasswordText="text"
?

Taran2ul 09-01-2012 12:52 1831523

Скажите пожалуйста как сделать, чтобы exe созданный при помощи модифицированного модуля при простом запуске (enter, dbl.click), выводил сообщение, а при запуске с зажатым Shift выполнял запуск приложения лежащего рядом.

Oleg_Sch 21-01-2012 14:22 1841068

BUG-FIX
Цитата:

1.4.3 (сборка 2367) 21.01.12
* Выбор папки на x64 платформах приводил к ошибке (gora:forum.oszone.net)

1.5 beta (сборка 2367) 21.01.12
* Выбор папки на x64 платформах приводил к ошибке (gora:forum.oszone.net)
+ В диалог "Обзор" добавлена кнопка создания "Новой папки".
Доступны только по прямым ссылкам
1.4.3.2367-Stable
1.5.0.2367-beta

Painkiller 27-01-2012 21:44 1845888

Подскажите пример создание ярлыка в SendTo средствами модуля ???

gora 27-01-2012 21:58 1845905

Цитата:

Цитата Painkiller
пример создание ярлыка в SendTo »

Попробуйте так (не проверялось):
Код:

Shortcut="9,{src_file_path},{command_line_for_file},{folder_for_shortcut},decription},{shortcut_name},{working_directory},{icon_file},{icon_index}"

Painkiller 27-01-2012 22:31 1845927

Цитата:

Цитата gora
Попробуйте так (не проверялось): »

Не сработало Пришлось реализовать в nsis =(
Код:

Shortcut="9,{Converter.exe},{},{%UserProfile%\\AppData\\Roaming\\Microsoft\\Windows\\SendTo},{Converter},{Converter},{%PROGRAMFILES%\\Converter},{},{}"

specialist 27-01-2012 23:07 1845952

Цитата:

Цитата Painkiller
%UserProfile%\\AppData\\Roaming\\Microsoft\\Windows\\SendTo »

во-первых, короче будет %AppData%\\Microsoft\\Windows\\SendTo
а во-вторых, это не сработает если будет запускать в Windows XP, так как там будет
%AppData%\Microsoft\Internet Explorer\Quick Launch
в-третьих, все что я до этого сказал неважно, потому как общим для всех систем будет такой вариант
%UserProfile%\SendTo

gora 27-01-2012 23:11 1845956

Painkiller, specialist, внимательно читая справку, вы обнаружите:
Цитата:

Только переменные модуля %CommonDesktop%, %CommonDocuments%, %MyDocuments%, %MyDocs%, %UserDesktop%, %%M, %%S %%T и %%P, а также переменные, определяемые пользователем в параметрах 'SetEnvironment', разбираются и подставляются (будут подставлены ЗНАЧЕНИЯ этих переменных) во всех параметрах команды 'Shortcut'.
Переменные среды в Shortcut не разбираются.

specialist 27-01-2012 23:57 1845979

gora, я предлагал Painkiller универсальный вариант значения переменных и конкретного адреса для скрипта nsis в рамках начавшегося офтопика :)
Painkiller, если еще интересен вариант развития событий с помощью 7zip sfx, от себя добавлю универсальный вариант - утилита nircmd, при использовании которой можно использовать любые значения внутренних переменных этой утилиты, переменных среды windows, а также переменных, передаваемых строке из параметров конфигурации к sfx
в справке к ней изучить примеры
nircmd shortcut [filename] [folder] [shortcut title] {arguments} {icon file} {icon resource number} {ShowCmd} {Start In Folder} {Hot Key}

Painkiller 28-01-2012 00:08 1845983

Цитата:

Цитата specialist
gora, я предлагал Painkiller универсальный вариант значения переменных и конкретного адреса для скрипта nsis в рамках начавшегося офтопика
Painkiller, если еще интересен вариант развития событий с помощью 7zip sfx, от себя добавлю универсальный вариант - утилита nircmd, при использовании которой можно использовать любые значения внутренних переменных этой утилиты, переменных среды windows, а также переменных, передаваемых строке из параметров конфигурации к sfx
в справке к ней изучить примеры
nircmd shortcut [filename] [folder] [shortcut title] {arguments} {icon file} {icon resource number} {ShowCmd} {Start In Folder} {Hot Key} »

specialist, на nsis легко решил задачу. Там есть $SENDTO . Без проблем все реализовал. Вот хотел всё таки средствами модуля без использования сторонних утилит . За подсказку спасибо! Возьму на заметку

gora 28-01-2012 09:24 1846061

Цитата:

Цитата Painkiller
Не сработало »

А у меня сработало:
Код:

SetEnvironment="Path7zip=%ProgramFiles%\\7-Zip\\7zFM.exe"
Shortcut="9,{%Path7zip%},{},{},{Архиватор},{7-Zip},{},{%Path7zip%},{}"


МИШАНЧИК 31-01-2012 13:47 1848371

Подскажите пожалуйста, можно ли это:
Код:

"prog.exe" /verysilent /norestart /LoadInf=".\set.ini"
как-то записать в RunProgram=?

gora 31-01-2012 14:14 1848406

Цитата:

Цитата МИШАНЧИК
как-то записать в RunProgram=? »

Код:

RunProgram="\"prog.exe\" /verysilent /norestart /LoadInf=\".\\set.ini\""

МИШАНЧИК 31-01-2012 14:28 1848422

gora, большое Вам спасибо.

Nun-Nun 03-02-2012 10:31 1850673

Обратил внимание на вот это место в описании модулей:
Цитата:

В момент выполнения модулем своей работы, помимо основных переменных среды (%SYSTEMDRIVE%, %PROGRAMFILES% и т.д.), доступны переменные, определяемые пользователем в параметрах 'SetEnvironment', а также дополнительные переменные, которые указывают на расположение на диске следующих папок:

%CommonDesktop% - рабочий стол ДЛЯ ВСЕХ пользователей
%CommonDocuments% - ОБЩИЕ документы
%MyDocuments% - "Мои документы" ТЕКУЩЕГО пользователя (она же %MyDocs%)
%UserDesktop% - рабочий стол ТЕКУЩЕГО пользователя
Казалось бы всё здОрово, но в процессе использования обнаружил, что если в файле конфигурации 7z SFX файлов использую системные переменные типа %CommonAppData% (C:\Documents and Settings\All Users\Application Data) и %SystemDir% (C:\Windows\System32), то эти переменные игнорируются. Например:

SetEnvironment="PathInst1=%CommonAppData%"
SetEnvironment="PathInst2=%SystemDir%"
RunProgram="hidcon:xcopy AppDataFile\\*.* \"%PathInst1%\" /h /s /e /i /y"
RunProgram="hidcon:xcopy SysDll\\*.* \"%PathInst2%\" /h /s /e /i /y"


В связи с вышеизложенным хотелось бы узнать, возможно ли всё-таки использование %CommonAppData% и %SystemDir% или это безнадёжно?

gora 03-02-2012 11:06 1850691

Цитата:

Цитата Nun-Nun
использую системные переменные типа %CommonAppData% (C:\Documents and Settings\All Users\Application Data) и %SystemDir% (C:\Windows\System32), то эти переменные игнорируются »

Откуда информация о наличии таких переменных среды? У меня их просто нет. Проверьте их наличие у себя, набрав в ком. строке:
Код:

cmd /k set
и приведите здесь скриншот окна консоли.

Nun-Nun 03-02-2012 11:20 1850707

Цитата:

Цитата gora
Откуда информация о наличии таких переменных среды?»

Много раз встречал в интернете в совершенно разных местах. Например, вот первые же попавшиеся в поисковике:
http://cisliano.livejournal.com/14768.html
http://www.itpad.ru/?p=646
Цитата:

Цитата gora
Проверьте их наличие у себя...»

Набрал: их там действительно нет.
Цитата:

Цитата gora
приведите здесь скриншот окна консоли.»


gora 03-02-2012 11:41 1850719

Nun-Nun, используйте переменные модуля. Для Вашего случая подойдут эти:
Код:

7zSfxFolder35=C:\Documents and Settings\All Users\Application Data
7zSfxFolder37=C:\Windows\system32
7zSfxFolder41=C:\Windows\SysWOW64


Nun-Nun 03-02-2012 11:46 1850721

gora,

Благодарю!

Есть один вопрос: приведённые Вами переменные модуля привязаны с трого к диску C: или это только пример и под C: можно понимать любой системный диск?

gora 03-02-2012 11:51 1850729

Цитата:

Цитата Nun-Nun
привязаны с трого к диску C »

Нет, не привязаны.

Nun-Nun 03-02-2012 12:02 1850742

gora,

Где-нибудь можно посмотреть полный перечень переменных модуля? На сайте автора по ссылке в шапке не нашёл.

BigBoo 03-02-2012 12:13 1850757

Цитата:

Цитата Nun-Nun
Где-нибудь можно посмотреть полный перечень переменных модуля »

Код:

7zSfxFolder00=C:\Documents and Settings\Oleg_Sch\Рабочий стол
7zSfxFolder02=C:\Documents and Settings\Oleg_Sch\Главное меню\Программы
7zSfxFolder05=C:\Documents and Settings\Oleg_Sch\Мои документы
7zSfxFolder06=C:\Documents and Settings\Oleg_Sch\Избранное
7zSfxFolder07=C:\Documents and Settings\Oleg_Sch\Главное меню\Программы\Автозагрузка
7zSfxFolder08=C:\Documents and Settings\Oleg_Sch\Recent
7zSfxFolder09=C:\Documents and Settings\Oleg_Sch\SendTo
7zSfxFolder11=C:\Documents and Settings\Oleg_Sch\Главное меню
7zSfxFolder13=C:\Documents and Settings\Oleg_Sch\Мои документы\Моя музыка
7zSfxFolder14=C:\Documents and Settings\Oleg_Sch\Мои документы\Мои видеозаписи
7zSfxFolder16=C:\Documents and Settings\Oleg_Sch\Рабочий стол
7zSfxFolder19=C:\Documents and Settings\Oleg_Sch\NetHood
7zSfxFolder20=C:\WINDOWS\Fonts
7zSfxFolder21=C:\Documents and Settings\Oleg_Sch\Шаблоны
7zSfxFolder22=C:\Documents and Settings\All Users\Главное меню
7zSfxFolder23=C:\Documents and Settings\All Users\Главное меню\Программы
7zSfxFolder24=C:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка
7zSfxFolder25=C:\Documents and Settings\All Users\Рабочий стол
7zSfxFolder26=C:\Documents and Settings\Oleg_Sch\Application Data
7zSfxFolder27=C:\Documents and Settings\Oleg_Sch\PrintHood
7zSfxFolder28=C:\Documents and Settings\Oleg_Sch\Local Settings\Application Data
7zSfxFolder31=C:\Documents and Settings\All Users\Избранное
7zSfxFolder32=C:\Documents and Settings\Oleg_Sch\Local Settings\Temporary Internet Files
7zSfxFolder33=C:\Documents and Settings\Oleg_Sch\Cookies
7zSfxFolder34=C:\Documents and Settings\Oleg_Sch\Local Settings\History
7zSfxFolder35=C:\Documents and Settings\All Users\Application Data
7zSfxFolder36=C:\WINDOWS
7zSfxFolder37=C:\WINDOWS\system32
7zSfxFolder38=C:\Program Files
7zSfxFolder39=C:\Documents and Settings\Oleg_Sch\Мои документы\Мои рисунки
7zSfxFolder40=C:\Documents and Settings\Oleg_Sch
7zSfxFolder41=C:\WINDOWS\system32
7zSfxFolder43=C:\Program Files\Common Files
7zSfxFolder45=C:\Documents and Settings\All Users\Шаблоны
7zSfxFolder46=C:\Documents and Settings\All Users\Документы
7zSfxFolder47=C:\Documents and Settings\All Users\Главное меню\Программы\Администрирование
7zSfxFolder53=C:\Documents and Settings\All Users\Документы\Моя музыка
7zSfxFolder54=C:\Documents and Settings\All Users\Документы\Мои рисунки
7zSfxFolder55=C:\Documents and Settings\All Users\Документы\Мои видеозаписи
7zSfxFolder56=C:\WINDOWS\resources
7zSfxFolder59=C:\Documents and Settings\Oleg_Sch\Local Settings\Application Data\Microsoft\CD Burning


gora 03-02-2012 12:15 1850759

Цитата:

Цитата Nun-Nun
Где-нибудь можно посмотреть полный перечень переменных модуля? »

Что-то у Вас с памятью. :) Вы же это видели.
Для самостоятельного изучения можно сделать SFX с конфигом:
Код:

;!@Install@!UTF-8!
RunProgram="cmd /c @echo off& set& pause>nul"
AutoInstall="hidcon:cmd /c set>%SystemDrive%\\vars.txt"
;!@InstallEnd@!

1 Запуск без ключа покажет ВСЕ переменные (в том числе и модуля) в окне консоли.
2 Запуск с ключем -ai запишет все в файл vars.txt в корень системного диска.
Второй вариант можно использовать как аддон, и Вы узнаете, что многих переменных нет на Т13.

Nun-Nun 03-02-2012 12:36 1850789

gora,
Цитата:

В поезде с полки я упал, головой вниз... Здесь помню, а здесь не помню. (С) х/ф "Джентльмены удачи"

Сорри, сильно не пинайте! По-видимому ссылку сразу не сохранил, а за два года, прошедших после Вашего сообщения, информация об этом из меня выветрилась. :sorry:

МИШАНЧИК 03-02-2012 15:40 1850951

Подскажите пожалуйста, почему когда я указываю:
Код:

SetEnvironment="Name=Программа"
SetEnvironment="Vers= 16.0.2 [%%P]"
BeginPrompt="Сейчас будет установлена
%Name%%Vers%"

то у меня так и пишет: Сейчас будет установлена Программа 16.0.2 [%%P], почему вместо [%%P] не пишется разрядность системы?
Архивы создаю Кнопкой. Модули использую 1.4.1 Release (сборка 2100) от 28 апреля 2011 г.

alert30 03-02-2012 16:12 1850968

МИШАНЧИК, а %%P в config.txt не написано, примерно вот так?:
Код:

%%P=86

gora 03-02-2012 16:24 1850973

Цитата:

Цитата МИШАНЧИК
Модули использую 1.4.1 Release »

Переменная %%P появилась в версии 1.5.0 и ее нет в версии 1.4.1

МИШАНЧИК 04-02-2012 01:42 1851425

gora, большое спасибо. Заменил модули-всё нормально.

МИШАНЧИК 04-02-2012 14:42 1851663

Подскажите пожалуйста. Нужно распаковать архив в %programfiles%.
Если:
Код:

InstallPath="%ProgramFiles%"
, то в Win х86 распаковывает в c:\Program Files, а в Win х64 в c:\Program Files (х86). А как правильно сделать чтоб независимо от разрядности системы в которой запущен Sfx архив распаковалось в c:\Program Files?

LonerD 04-02-2012 14:50 1851669

МИШАНЧИК,
Цитата:

Цитата МИШАНЧИК
как правильно сделать чтоб независимо от разрядности системы в которой запущен Sfx архив распаковалось в c:\Program Files? »

Если путь нужен определённый и конкретно заданный, то не нужно использовать переменные.
Вот так тогда:
Код:

InstallPath="c:\Program Files"
:)

МИШАНЧИК 04-02-2012 15:04 1851677

Цитата:

Цитата LonerD
Если путь нужен определённый и конкретно заданный, то не нужно использовать переменные. »

Понял, спасибо. А есть вариант чтоб указать разрядность и в завистимости от разрядности установило именно в "%ProgramFiles%?
И ещё вопрос, а можно ли для sfx архива задавать пароль который при обычном запуске sfx архива как бы не запрашивался и сам вводился, а при попытке просто распаковать архив этот пароль запрашивался?

gora 04-02-2012 17:09 1851760

Цитата:

Цитата МИШАНЧИК
А есть вариант чтоб указать разрядность и в завистимости от разрядности установило именно в "%ProgramFiles%? »

Удалите InstallPath, а дальше так (на примере WinRAR)
Код:

SetEnvironment="PFx86=%ProgramFiles%\\WinRAR"
SetEnvironment="PFx64=%ProgramW6432%\\WinRAR"

RunProgram="%%P:hidcon:xCopy winrar-%%P\\* \"%PF%%P%\\\" /s /e /i /y"


alert30 04-02-2012 17:20 1851767

Как сделать после процесса распаковки, чтоб reg.inf, которые внутри путеводители параметр реестра внесены в редактор реестр Windows, а самого reg.inf был удален? Я так понимаю надо в секцию SetEnvironment, но как?

МИШАНЧИК 05-02-2012 03:53 1852060

gora, большое спасибо. А по поводу шифрования:
Цитата:

Цитата МИШАНЧИК
а можно ли для sfx архива задавать пароль который при обычном запуске sfx архива как бы не запрашивался и сам вводился, а при попытке просто распаковать архив этот пароль запрашивался? »

не подскажите? Можно ли как-то это организовать?

Oleg_Sch 06-02-2012 06:15 1852614

МИШАНЧИК, сделал первую запись в FAQ в шапке с ответом на Ваш вопрос. Добавлю только, что "исходные тексты в SVN в полном варианте, т.е. с поддержкой шифрования, можете собрать сами"

wadimus 06-02-2012 08:22 1852638

хм, люстрация .. учту..

как я понял, МИШАНЧИК хотит защитить свой конфиг-файл от любопытных глаз .. или содержимое архива ..
но, ведь в любом случае мы получим распакованный архив во временных файлах, достать его не очень большая проблема.
или проблема?

мог бы уважаемый Oleg_Sch разьяснить этот момент, не открывая своих секретов ..

Amigos 06-02-2012 09:36 1852661

wadimus, запароленный sfx не смогут проверить антивирусы :)

wadimus 06-02-2012 09:58 1852678

Amigos, ну и что?
при установке такого комплекса вирус должен запуститься, а тут уж проворство антивируса ..

Oleg_Sch 06-02-2012 13:34 1852808

Цитата:

Цитата wadimus
как я понял, МИШАНЧИК хотит защитить свой конфиг-файл от любопытных глаз .. или содержимое архива ..
но, ведь в любом случае мы получим распакованный архив во временных файлах, достать его не очень большая проблема.
или проблема? »

в том виде, в котором сейчас его используют некоторые, просто не дает изменить SFX-архив, полное пересоздание с публичными модулями - "пожалуйста"
---
Amigos, это одна из причин, почему я его не раздаю направо-налево (были предложения ;) )
Вообще дальнейшее развитие шифрования в модуле я вижу в сертификатах, которые, уж извиняйте, сам и буду выдавать. Это не сможет, конечно же, избавить на 100% от вредоносов, но хоть как-то, частично, позволит контролировать.

Amigos 06-02-2012 13:58 1852819

Цитата:

Цитата wadimus
ну и что?
при установке такого комплекса вирус должен запуститься,»

1) в случае "запороленного SFX" антивирус проверит файлы один раз — при извлечении.
В случае "незапароленного SFX" дважды — первый раз при запуске SFX антивирус проверит и SFX часть и присоединённый архив (в процессе проверки он будет распакован,а входяшие в него файлы — проверены), второй раз — при извлечении.
Если SFX большой (сотни мегов) то профит на слабых машинках может быть десятки минут.

2) далеко не все качают файлы чтобы сразу запустить, многие качают "штоб було"
в этом случае если запихнуть в SFX зловреда:
— в случае "запороленного SFX" антивирус завопит через некоторое время (когда скачанное запустят)
— в случае "незапароленного SFX" антивирус завопит сразу после скачки (а то и в процессе)

Цитата:

Цитата wadimus
проворство антивируса .. »

прочтите, как при помощи палки и верёвки собрать троянчига, который повертит на одном месте все эти "проворные антивирусы" http://habrahabr.ru/blogs/infosecurity/135716/

LonerD 06-02-2012 15:01 1852859

Oleg_Sch,
Небольшое уточнение. Из существующего ехе-файла sfx-модуль с поддержкой шифрования извлекается в повреждённом виде?
В файле конфигурации нужно что-то прописывать (пароль) и в каком виде?

Oleg_Sch 08-02-2012 04:03 1853955

Цитата:

Цитата LonerD
Из существующего ехе-файла sfx-модуль с поддержкой шифрования извлекается в повреждённом виде? »

Нет. До тех пор, пока не используется шифрование, это обычные модули.
Цитата:

Цитата LonerD
В файле конфигурации нужно что-то прописывать (пароль) и в каком виде? »

Пока данные модули делаются индивидуально. И формирование паролей - тоже.

ya158 08-02-2012 07:50 1853973

Oleg_Sch,
Возможно ли сделать так, чтобы ключи, с которыми запускается sfx-архив передавались бы в переменную, которую можно было бы использовать в файле конфигурации? То есть, например запускается архив "setup.exe -y -fm0", %%M=setup.exe, а какая-нибудь переменная %%С=-y -fm0

Oleg_Sch 08-02-2012 10:04 1854012

ya158, поверьте, я уже сам не помню все, что там понаписАл.
gora знает гораздо больше меня, т.к. все тестирование на нем. А я - "сделал и забыл". Да и нестандартные пути решения нестандартных проблем у него очень неплохо получается находить ;).
Надеюсь, что он Вам поможет.

ya158 08-02-2012 20:27 1854423

Oleg_Sch,
Спасибо за ответ.
Но Вы, наверно, не совсем поняли мою просьбу. Я просил добавить переменную, а не спрашивал о её наличии. Или Вы имеете в виду, что такая переменная возможно уже введена, но только это не документировано (как ключ -FinishMessage=)?

МИШАНЧИК 17-02-2012 10:38 1860674

Подскажите пожалуйста, можно ли как-то задать в одном файле конфигурации для обычной распаковки флаг GUIMode="1", а для AutoInstall в этом же файле конфигурации-GUIMode="2"?

timon45 17-02-2012 13:54 1860821

корректно ли я задал команду "RunProgram" файл Patcher.exe после распаковки будет находиться в папке system32 и его нужно запустить с параметром "hidcon:Patcher.exe"

Цитата:

;!@Install@!UTF-8!
SetEnvironment="Name=Имя"
SetEnvironment=" Vers=Версия"
InstallPath="%windir%"
Title="Установка %Name%"
BeginPrompt="Сейчас будут установлены:
%Name%%Vers%"
FinishMessage="%Name% %Vers% установлен!"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
RunProgram="hidcon:%%T\\system32\\Patcher.exe"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
;!@InstallEnd@!

gora 17-02-2012 14:03 1860829

МИШАНЧИК, такой возможности нет.
timon45, правильно. Можно проще:
Код:

RunProgram="hidcon:system32\\Patcher.exe"

МИШАНЧИК 17-02-2012 15:13 1860870

gora, может я неправильно сформулировал вопрос? Можно ли сделать так, чтоб при обычном запуске появлялись окна "Сейчас будут установлены", "Идёт распаковка", а с ключом для тихой установки ничего этого не было?

gora 17-02-2012 15:19 1860872

МИШАНЧИК, можно. Пример:
Код:

sfx.exe -ai -gm2

МИШАНЧИК 18-02-2012 07:29 1861237

Подскажите пожалуйста. Нужно внести изменения в реестр и удалить папку, есть cmd файл:
Код:

@echo off
Reg Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" /t REG_SZ /d "0" /f
RD /S /Q "%SystemRoot%\Setup\Reboot"
Del /F /Q %0
EXIT

если просто запускать этот cmd файл - то всё отрабатывает нормально. Если же его запустить из архива:
Код:

;!@Install@!UTF-8!
GUIMode="2"
RunProgram="hidcon:Vchod.cmd"
SelfDelete="1"
;!@InstallEnd@!

то папка удаляется, а изменения в реестр не вносятся. Пробовал добавить изменения в реестр через файл конфигурации архива:
Код:

;!@Install@!UTF-8!
GUIMode="2"
RunProgram="hidcon:Reg Add \"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\" /v \"AutoAdminLogon\" /t REG_SZ /d \"0\" /f"
SelfDelete="1"
;!@InstallEnd@!

тоже изменения не вносятся. Почему?

gora 18-02-2012 08:40 1861244

Цитата:

Цитата МИШАНЧИК
изменения не вносятся. Почему? »

Видимо потому, что ОС х64!? :dont-know
Попробуйте так:
Код:

;!@Install@!UTF-8!
GUIMode="2"
RunProgram="%%P:hidcon:Reg Add \"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\" /v \"AutoAdminLogon\" /t REG_SZ /d \"0\" /f"
SelfDelete="1"
;!@InstallEnd@!

PS
Если у Вас х64 ОС, то после Ваших предыдущих экспериментов не забудьте проверить и восстановить значение в этой ветке реестра
Код:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Winlogon]
"AutoAdminLogon"="1"


МИШАНЧИК 18-02-2012 11:53 1861291

gora, спасибо, попробую. Ос действительно х64.
P.S. Спасибо большое всё работает.
А по поводу Wow6432Node не очень понял, в нём оставить значение "1", или тоже нужно исправить на "0"?

gora 18-02-2012 13:40 1861354

Цитата:

Цитата МИШАНЧИК
А по поводу Wow6432Node не очень понял, в нём оставить значение "1", или тоже нужно исправить на "0"? »

Я не знаю, какое значение у Вас там было и какое Вам нужно. Просто Ваш первоначальный вариант менял именно этот ключ, о чем я Вас и предупредил.

МИШАНЧИК 18-02-2012 17:09 1861474

gora, первоначально было"1", а нужно "0". Получается нужно править на "0" и там и там?

gora 18-02-2012 17:43 1861495

Цитата:

Цитата МИШАНЧИК
нужно править на "0" и там и там »

Не проблема:
Код:

;!@Install@!UTF-8!
GUIMode="2"
RunProgram="hidcon:Reg Add \"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\" /v \"AutoAdminLogon\" /t REG_SZ /d \"0\" /f"
RunProgram="x64:hidcon:Reg Add \"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\" /v \"AutoAdminLogon\" /t REG_SZ /d \"0\" /f"
SelfDelete="1"
;!@InstallEnd@!


МИШАНЧИК 19-02-2012 03:48 1861784

gora, понял. Большое Вам спасибо.

Shket_n 29-02-2012 14:33 1869199

Пытаюсь сотворить, чтобы архив распаковывался по пути, который указан в системном реестре.
В реестре у ветки "HKEY_LOCAL_MACHINE\SOFTWARE\YYY\Какая-то программа" есть строковый параметр "path_progr" в котором прописан путь, например "d:\Программа\YYY\Какая-то программа".
Как в параметр "InstallPath" поместить путь из строкового параметра системного реестра?

Amigos 29-02-2012 15:13 1869241

Цитата:

Цитата Shket_n
чтобы архив распаковывался по пути, который указан в системном реестре. »

пусть распаковывается в %temp% , а потом CMD файл считывает путь из реестра и переносит распакованное в %temp% в нужную папку

Shket_n 29-02-2012 15:52 1869269

Цитата:

Цитата Amigos
а потом CMD файл считывает путь из реестра »

А можно сперва, до начала разархивации, через запуск CMD (или BAT-файл) получить путь из реестра, записать в некую переменную, и эту переменную передать уже в "SFX модуль" в качестве пути?

gora 29-02-2012 16:02 1869274

Цитата:

Цитата Shket_n
эту переменную передать уже в "SFX модуль" в качестве пути? »

Можно. Только не забудьте в переменной удвоить слеши.
Код:

Rem Получение пути из реестра
Rem ...
Rem Путь полученный в переменной %var% равен d:\Program\YYY\My program, удваиваем слеши
Set var=%var:\=\\%
Rem Запуск sfx с указанием пути распаковки
sfx.exe -InstallPath="%var%"


526549 01-03-2012 17:26 1870195

Отобразил "версию для печати" темы, поискал все, что касалось шифрования, но так и не понял где же брать sfx-модуль с поддержкой шифрования. Точнее понял, что его в открытом доступе нет, а вот как его получить - неясно.
Я не побаловаться прошу - мне для дела - пишу небольшие утилитки (Simpa4Gen и DirectGrub как самые полезные примеры). Некоторые используют сторонние консольные модули, и я хочу все подобные свои наработки размещать в виде одного ехе файла, но не хочу, чтобы там чего-либо правили и колупались. Да и так часто делаю тихи установщики - защищать их паролем было бы очень приятно.

LonerD 01-03-2012 22:56 1870452

526549,
Теоретически - разобраться в исходниках и скомпилировать самостоятельно.
На практике - распаковать sfx-модуль можно из зашифрованных инсталляторов, которые выкладывает на форуме gora. Однако что с ними потом делать и есть ли отличия от обычных модулей - не совсем понятно.
Как сказал Oleg_Sch - "до тех пор, пока не используется шифрование, это обычные модули". Отсюда можно предположить, что отдельных модулей нет, выложенные скомпилированные "обычные" модули поддерживают шифрование, но его надо просто каким-то образом задействовать...
В общем, рыбка плавает, удочку нам дали и пожелали удачной рыбалки.

526549 01-03-2012 23:03 1870457

LonerD, так выкрасть его можно даже банально с помощью Winhex отрезав часть модуля от подобного зашифрованного sfx (как пример - установщик кнопки для TC), как было написано в форуме выше - у каждого модуля вшит свой пароль, который будет вводиться запароленному архиву. То есть мы должны будем создавать архивы с тем паролем, который вшит в такой модуль - если не знаем, что там за пароль в модуле - он бесполезен. Нужно значит у автора просить такой модуль каждому индивидуально, что делать он не станет по ряду очевидных причин (некогда, таких желающих много, нет мотивации, скорее всего устал от просьб в принципе) Как вариант - я согласен его купить, но у меня на вебманях только 153р....

dixicon 08-03-2012 19:54 1875035

не подскажете, вот после извлечения архива используются несколько команд ExecuteFile. файл отрабат
но в ряде случаев 1я команда не может быть выполнена (нет такого файла, увы если он есть но его необходимо выполнить) и выходит ошибка: "что по такому пути нет файла", после чего исполнение прерывается.
Можно ли как-то обойти данную проблему, не пребегая к использованию BAT файла?

specialist 08-03-2012 20:54 1875078

dixicon,
Код:

RunProgram="hidcon:cmd /c if exist \"%programfiles%\Internet Explorer\iexplore.exe\" start \"\" \"%programfiles%\Internet Explorer\iexplore.exe\" http://repacksbyspecialist.blogspot.com""
или относительно каталога распаковки
Код:

AutoInstall="hidcon:cmd /c if exist myproga.exe myprоga.exe"
если файл будет обнаружен в каталоге распаковки, он будет запущен, если нет - переход к следующей команде

gora 08-03-2012 22:51 1875177

Цитата:

Цитата dixicon
используются несколько команд ExecuteFile »

Команда ExecuteFile не множественная и может быть только одна в конфиге.

Nun-Nun 09-03-2012 22:39 1875809

Как запустить exe-шник, часть имени которого может меняться?
Например, My_File_017.exe , My_File_205.exe , My_File_Old.exe

Вариант типа RunProgram="hidcon:cmd /c My_File_*.exe" не работает. :(

gora 09-03-2012 22:48 1875811

Nun-Nun
Код:

RunProgram="hidcon:cmd /c For %i In (My_File_*.exe) Do %~nxi"

lorents 11-03-2012 18:12 1876991

Вложений: 1
Добрый день!
Подскажите, а чем отличаются между собой версии 1.5.0.2367 и 1.4.3.2367?
Как я понимаю, версия 1.5.0.2367 - бета.

И еще, есть ли готовый скрипт на подобии SFX от WinRaR?

alert30 11-03-2012 18:23 1876999

Цитата:

Цитата lorents
Добрый день!
Подскажите, а чем отличаются между собой версии 1.5.0.2367 и 1.4.3.2367?
Как я понимаю, версия 1.5.0.2367 - бета. »

Отличие: в бете добавлена авто-переменность (то есть при запуске какой-либо системы автоматически определяет разрядность).
Цитата:

Цитата lorents
Как я понимаю, версия 1.5.0.2367 - бета. »

Правильно понимаете.
Цитата:

Цитата lorents
И еще, есть ли готовый скрипт на подобии SFX от WinRaR? »

Ха-ха! :D
Всего лишь сменить картинку SFX WinRAR'a - как будто новичку.

lorents 11-03-2012 18:39 1877012

alert30, я в этом деле новичок, поэтому не знаю как там можно заменить картинку.
Как я понимаю, все это приписывается через config.txt? А нет готового config.txt, который бы изменял SFX на подобии SFX от WinRaR?

Мне это все надо, для моего проекта, ссылка в подписи.

lorents 12-03-2012 12:41 1877583

Ни кто не пользовался 7-Zip SFX Maker?

Объясните пожалуйста:
1. как можно сделать, чтобы выбор папки распаковки и процесс распаковки были в одном окне? У меня получается сделать в двух окнах.
2. Обязательно, что при переходе из одного окна в другое окно, одно окно закрывается, а другое появляется? можно ли это отключить?
3. как заменить картинку из кнопки обзора папок на текст?

По сути я хочу получить вот такое окно



Можно ли сделать такое, используя данный SFX модуль?

Oleg_Sch 13-03-2012 04:47 1878062

Цитата:

Цитата lorents
3. как заменить картинку из кнопки обзора папок на текст? »

Созданием собственного диалог-ресурса (см 7zSD_LZMA_Dialogs.sfx).
Цитата:

Цитата lorents
Можно ли сделать такое, используя данный SFX модуль? »

нет

specialist 13-03-2012 13:26 1878267

а такой вопрос: многие инсталляторы всевозможных обновлений перед установкой распаковывают свои файлы не в %temp%, а определяют в случае наличия альтернативных логических / физических разделов на каком из них больше всего свободного места и на время установки располагают свои файлы там.
что можно прописать в sfx чтобы это реализовать?

gora 13-03-2012 13:48 1878288

specialist, модуль не может выполнить ни каких исполнительных команд (RunProgram, AutoInstall и т.п.) ДО распаковки архива. Значит оценить место на диске и произвести туда распаковку он не может.

Возможные варианты решения:

1 Делать лаунчер, который выполнит оценку и выбор места, а затем распакует туда рядом лежащий архив.
Недостаток - SFX будет состоять из двух файлов.

2 Сделать "матрешку". Внешний SFX распакует внутренний во временную папку, выполнит оценку и выбор места, а затем распакует туда внутренний архив (можно SFX).
Недостаток - внутренний архив, пусть и без распаковки, и очень быстро извлеченный, но таки будет занимать место во временной папке.

3 Использовать для "матрешки" сторонние программы, например, эту.
Недостаток - оценку и выбор места придется писать на AutoIt самостоятельно.

mestros 14-03-2012 16:14 1879130

Подскажите, для флага MiscFlags=4 характерна долгая пауза до выдачи запроса на права администратора? До одной минуты примерно.
Архив размером 2,6Гб. Много мелких фалов. После распаковки выполняется вложенный sfx.

gora 21-03-2012 09:21 1883759

2 ALL
Все вопросы по файлам конфигурации предлагаю писать сюда: .: 7z SFX - все вопросы :.

batyaPS 01-04-2012 17:28 1891389

подскажите, почему в результате команды RunProgram="forcenowait:hidcon:cmd /k pskill имя процесса.exe"
остаётся висеть в памяти cmd.exe ? сама команда отрабатывает.

запустил без параметра hidcon - cmd.exe продолжает висеть после команды.

как прописать exit или quit после выполнения команды ?

gora 01-04-2012 17:34 1891392

Цитата:

Цитата batyaPS
cmd /k »

Замените ключ:
Код:

cmd /c

AlexMalex 02-04-2012 15:47 1891940

Здравствуйте!

Подскажите пожалуйста, создал SFX архив с помощью модуля в Windows 7 Ultimate x64, под Win7 распаковывается отлично, но в Windows XP не распознается как WIN32 приложение вообще...

gora 02-04-2012 16:13 1891969

Цитата:

Цитата AlexMalex
не распознается как WIN32 приложение вообще »

Вероятно, Вы использовали x64 модуль. Такие SFX могут работать только на x64 ОС.
Для изготовления универсального (x64 и x86) SFX нужно использовать x86 модули.

Medic84 09-04-2012 21:30 1896598

2 ALL
Написан новый GUI для создания конфигураций. Смотреть и пробовать здесь: Project SFX Config - GUI для создания конфигураций модифицированного модуля 7zip

bugmenotagain 29-04-2012 09:10 1907648

возможно ли 2 варианта распаковки?

например: запаковано 4 файла: 1.txt, 2.txt, 3.txt и 4.txt
в первом случае распакованы будут все файлы
а во-втором только 3.txt и 4.txt

вариант распаковки выбирает пользователь

Pozia 29-04-2012 21:22 1907986

как будет файл конфигурации чтобы выскакивал вопрос куда распаковать содержимое архива?

МИШАНЧИК 30-04-2012 15:44 1908287

Подскажите пожалуйста.
Нужно в Windows х64 распаковать файл в %ProgramFiles%\\Программа.
Если указать: InstallPath="%ProgramFiles%\\Программа"-то распаковывается в Program Files (x86). А как сделать чтоб распаковало в Program Files?

alert30 30-04-2012 16:15 1908309

МИШАНЧИК, вот такие переменные команды доступны:
1. %ProgramFiles% <----> %commonprogramfiles%
2. %ProgramFiles(x86)% <----> "%commonprogramfiles(x86)%

gora 30-04-2012 19:45 1908402

Цитата:

Цитата МИШАНЧИК
А как сделать чтоб распаковало в Program Files? »

Код:

InstallPath="%ProgramW6432%\\Программа"

МИШАНЧИК 01-05-2012 03:09 1908599

alert30, gora, большое спасибо.
А если файл будет запускаться и на х86 и на х64 и нужно чтоб и там и там распаковало в Program Files?
Как правильно записать?

gora 01-05-2012 07:02 1908606

bugmenotagain, Pozia, МИШАНЧИК
Цитата:

Цитата gora
2 ALL
Все вопросы по файлам конфигурации предлагаю писать сюда: .: 7z SFX - все вопросы :. »


CtrlSoft 11-05-2012 00:21 1913751

Привет.

Интересует
1. Eсли возможно создавать sfx архивы с 64-битным установщиком (exe 64-bit).
2. Как извлекать определенные папки, в зависимости от разрядности системы? (на примере 7z x archive.zip -oc:\soft *.cpp -r)

Спасибо!

Oleg_Sch 11-05-2012 01:59 1913793

CtrlSoft,
1. Не вижу проблем (или это было утверждение?)
2. Такой возможности нет, в SFX архив распаковывается полностью

CtrlSoft 11-05-2012 09:55 1913864

Oleg_Sch,

1. Мне нужен именно 64-битный "распаковщик" (для запуска в WinPE x64)
2. Понял.

Может быть есть ключи которые скрывали бы кнопки в 7zG, но оставили бы индикатор процесса?

sLiDeR-X 11-05-2012 10:33 1913884

Вложений: 2
Oleg_Sch, я создаю sfx архив с паролем и при распаковке появляется сообщение: "Файл не является 7я архивом". Если создавать без пароля, то ошибки не появляется и отработка идет как положено.
Какой модуль нужно использовать для шифрования паролем sfx архива?

З.Ы.
Кнопка для ТС использует странный мне метод 7zAES.

Скрины прилагаю.

gora 11-05-2012 11:11 1913896

Цитата:

Цитата CtrlSoft
Мне нужен именно 64-битный "распаковщик" »

Используйте x64 модули (в их именах есть суффикс x64, например, 7zsd_All_x64.sfx)
Цитата:

Цитата CtrlSoft
ключи которые скрывали бы кнопки в 7zG, но оставили бы индикатор процесса? »

7zG.exe - это GUI версия архиватора 7-Zip. Непонятно, каким образом модуль может скрывать кнопки в чужой программе. :dont-know
Цитата:

Цитата sLiDeR-X
Какой модуль нужно использовать для шифрования паролем sfx архива? »

Модуль с поддержкой шифрования. В паблик они еще не поступили, ждем со дня на день.
О том, что у Вас модуль не поддерживает шифрование видно на скрине кнопки (красный кружок перед полем шифрования), а также в свойствах модуля отсутствует метод 7zAES, что тоже говорит об отсутствии поддержки шифрования этим модулем.
Цитата:

Цитата sLiDeR-X
Кнопка для ТС использует странный мне метод 7zAES. »

Кнопка использует для сжатия (с шифрованием или без него) стандартный архиватор 7-Zip, который для 7z архивов поддерживает только один метод шифрования - AES-256. В свойствах зашифрованного архива этот метод обозначается как 7zAES самим архиватором 7-Zip. В свойствах модуля Вы можете видеть это же самое обозначения метода сжатия.

sLiDeR-X 11-05-2012 12:13 1913928

gora, спасибо за ответ. А ДотНет у Вас и другие последние аддоны запакованы аналогично. Это объясняется тем, то Вы владеете этим самым модулем?
Цитата:

Цитата gora
В паблик они еще не поступили, ждем со дня на день. »

очень жду :)

Oleg_Sch 13-05-2012 09:07 1914961

Модули и сайт обновлены:
Цитата:

1.5 beta (сборка 2478) 10.05.12
* Папка распаковки не была текущей при наличии префикса 'waitall' (gora:forum.oszone.net)

1.5 beta (сборка 2367) 21.01.12
* Нажатие кнопки "Выбор папки" на x64 платформах приводило к ошибке (gora:forum.oszone.net)
+ Кнопка создания "Новой папки" в диалоге "Выбор папки"

1.5 beta (сборка 2308) 22.11.11
* Манифест и русские строки

1.5 beta (сборка 2100) 28.04.11
# Использован исходный код 7-Zip версии 9.22 beta от 18 апреля 2011 г.
* Ошибка загрузки библиотеки msvcrt.dll в 64-х битных версиях модуля в системах ХР/2003 х64 (YumeYao:msfn.org, Plastikat:forum.oszone.net)
За обновление сайта и справки все благодарности (как всегда :) ) - gora

sLiDeR-X 13-05-2012 12:06 1915028

Цитата:

Цитата gora
Модуль с поддержкой шифрования. В паблик они еще не поступили, ждем со дня на день. »

Oleg_Sch, подскажи, когда примерно ждать, а то не могу собрать свой sfx с паролем :(

Oleg_Sch 13-05-2012 14:37 1915095

В SVN пока нет, только прямая ссылка:
1.6.0.2478-develop
Цитата:

1.6 develop (сборка 2478) 10.05.12
+ Поддержка шифрования

ya158 13-05-2012 15:58 1915137

Oleg_Sch,
А что по поводу дополнительного параметра, про который я спрашивал в личке?
Цитата:

Хотелось бы, чтобы была ещё одна переменная (допустим C)
%%С - параметры командной строки (-y -gm2 -fm0)

Oleg_Sch 13-05-2012 16:04 1915145

ya158, Будет в рамках 1.6-develop в ближайшие дни

sLiDeR-X 16-05-2012 13:51 1916979

Заменил модули на новые. Запаролил sfx архив. Теперь при запуске sfx и дальнейшем нажатии "ОК" требует ввести пароль.

Как сделать, чтоб не могли просмотреть sfx, его конфиг, но могли запустить его без пароля?

Oleg_Sch 17-05-2012 13:10 1917584

Цитата:

Цитата sLiDeR-X
Заменил модули на новые. Запаролил sfx архив. Теперь при запуске sfx и дальнейшем нажатии "ОК" требует ввести пароль. »

Ясно дело, модуль не знает Вашего пароля (иначе смысл паролировать).
Цитата:

Цитата sLiDeR-X
Как сделать, чтоб не могли просмотреть sfx, его конфиг, но могли запустить его без пароля? »

Такого функционала я не обещал.

sLiDeR-X 17-05-2012 13:13 1917587

Oleg_Sch, а как в таком случае работает sfx кнопкиTC и dotNet от gora?

LonerD 17-05-2012 13:27 1917596

sLiDeR-X,
Вопрос уже обсусолен не один раз.
В шапке есть совсем коротенькое FAQ, с ответом на единственный вопрос.

Цитата:

Цитата sLiDeR-X
не могли просмотреть sfx, его конфиг »

Конфиг и sfx-модуль в любом случае скpыть не удастся, с помощью кнопки их можно извлечь (а sfx - также через hex-редактор вырезать).

sLiDeR-X 17-05-2012 14:00 1917619

как-то я до ФАКа не добрался, поражаюсь себе... :(

Oleg_Sch 17-05-2012 14:06 1917629

All, тема "пароленный без ввода пароля" не обсуждается. Ответ в шапке.

dee.jack 18-05-2012 08:52 1918064

Извиняюсь за тупой вопрос, может он уже обсуждался, мне надо сделать следующую вещь с помощью sfx архива.
Есть два файла "lite.txt" и "full.txt", запаковываю эти файлы в 7z. Задача такая, какую конфигурацию прописать чтобы можно было выбрать при распаковке какой именно файл распаковать в текущую папку, с помощью диалога "да" "нет", желательно без удержания Shiftа, и желательно без ключей. Примерно так:
1. Распаковать lite.txt (да)
2. Распаовать full.txt (нет)
Я подозреваю что это можно сделать с помощью AutoInstall, но не могу сообразить как. Мне надо просто распаковать нужный файл, запускать не надо. Можно отрывок кода для приведённой выше задачи.
Заранее спасибо.

CtrlSoft 18-05-2012 09:19 1918073

dee.jack, http://forum.oszone.net/post-1913751.html#post1913751

Oleg_Sch 21-05-2012 14:55 1919886

Модули и сайт обновлены

1.4.4.2485
Цитата:

1.4.4-Release (сборка 2485) 17.05.12
* Не блокировался вывод 'FinishMessage' при нажатии "Да/OK" + Shift в окне 'BeginPrompt' (gora:forum.oszone.net)

1.4.3-Release (сборка 2367) 21.01.12
* Выбор папки на x64 платформах приводил к ошибке (gora:forum.oszone.net)

1.4.2-Release (сборка 2308) 22.11.11
* Некорректная условная компиляция с опцией _SFX_USE_LANG (YumeYao:msfn.org)
1.5.0.2485-RC1
Цитата:

1.5 RC1 (сборка 2485) 17.05.12
* Не блокировался вывод 'FinishMessage' при нажатии "Да/OK" + Shift в окне 'BeginPrompt' (gora:forum.oszone.net)

1.5 beta (сборка 2478) 10.05.12
* Папка распаковки не была текущей при наличии префикса 'waitall' (gora:forum.oszone.net)

1.5 beta (сборка 2367) 21.01.12
* Нажатие кнопки "Выбор папки" на x64 платформах приводило к ошибке (gora:forum.oszone.net)
+ Кнопка создания "Новой папки" в диалоге "Выбор папки"
1.6.0.2488-develop
Цитата:

1.6 develop (сборка 2488) 20.05.12
* Не блокировался вывод 'FinishMessage' при нажатии "Да/OK" + Shift в окне 'BeginPrompt' (gora:forum.oszone.net)
* Вывод окна ввода пароля по умолчанию был после 'BeginPrompt' и 'ExtractPath' или 'BeginPrompt' + 'ExtractPath', а не до них. Флаг 8 'MiscFlags' не имел действия (gora:forum.oszone.net)
+ Переменные среды при работе модуля '7zSfxVarPlatform', '7zSfxVarCmdLine0', '7zSfxVarCmdLine1', '7zSfxVarCmdLine2'

1.6 develop (сборка 2478) 10.05.12
+ Поддержка шифрования
1.6.0.2488-develop доступен только по прямой ссылке
Обновление SVN для всех версий будет чуть позже.

ya158,
Цитата:

Хотелось бы, чтобы была ещё одна переменная (допустим C)
%%С - параметры командной строки (-y -gm2 -fm0)
Смотрите в сторону новых переменных среды:
7zSfxVarCmdLine0 - полная командная строка при запуске SFX
7zSfxVarCmdLine1 - ключи, относящиеся к модулю
7zSfxVarCmdLine2 - ключи, относящиеся к запуску внешней программы

LonerD 21-05-2012 15:02 1919890

Какие значения может принимать переменная 7zSfxVarPlatform?

Oleg_Sch 21-05-2012 15:26 1919902

LonerD, Имя переменной изменится в следующей версии на 7zSfxVarModulePlatform (появится еще одна переменная - 7zSfxVarSystemPlatform)
Значения:
x86 - для 32-битных версий модуля
x64 - для 64-битных

LonerD 21-05-2012 16:00 1919919

7zSfxVarSystemPlatform - будет означать версию платформы?
5.1 - для ХР, 6.1 - для Win7, 6.2 - для Win8 и т.д.?

gora 21-05-2012 16:05 1919923

Цитата:

Цитата LonerD
7zSfxVarSystemPlatform - будет означать версию платформы? »

Нет.
Цитата:

%7zSfxVarModulePlatform% - платформа модуля; принимает значения x86 и x64 в зависимости от разрядности модуля
%7zSfxVarSystemPlatform% - платформа операционной системы; принимает значения x86 и x64 в зависимости от разрядности ОС
Фактически это аналог переменной модуля %%P, но это переменная среды при работе модуля.
Цитата:

переменные среды могут использоваться как в файле конфигурации, так и в других программах (.cmd, .bat файлах) запущенных из модуля.

LonerD 21-05-2012 23:14 1920101

А переменную определения версии операционной системы не планируется добавлять?

Oleg_Sch 22-05-2012 01:42 1920147

Цитата:

Цитата LonerD
А переменную определения версии операционной системы не планируется добавлять? »

Нет. Планируется добавлять другое, которое сможет помочь и в этом, но пока это только в идеях, обещать ничего не буду.

Valerkan 26-05-2012 15:39 1922974

Использую модуль 1.6 develop (сборка 2488) 20.05.12. Окно ввода пароля по умолчанию перед 'BeginPrompt' и 'ExtractPath' выводится дважды, приходится один и тот же пароль набирать два раза.

Oleg_Sch 28-05-2012 15:01 1923921

Цитата:

Цитата Valerkan
Использую модуль 1.6 develop (сборка 2488) 20.05.12. Окно ввода пароля по умолчанию перед 'BeginPrompt' и 'ExtractPath' выводится дважды, приходится один и тот же пароль набирать два раза. »

Будет исправлено в ближайшие день-два.

net_vip_person@vk 23-06-2012 14:32 1939314

Что то мне не понятна работа модуля.
На эти параметры модулю абсолютно плевать!

ExtractPathTitle=""
ExtractPathText=""
ExtractTitle=""
ExtractDialogText=""

После запуска сразу начинается распаковка. Содержимое конфига игнорируется.

shao 23-06-2012 22:37 1939525

Цитата:

Цитата net_vip_person@vk
Содержимое конфига игнорируется. »

Может лучше выложите содержимое конфига в теме : Файлы конфигурации 7z SFX. Помощь и советы

net_vip_person@vk 24-06-2012 17:57 1939746

А какой смысл выкладывать туда, если проблема непосредственно в модуле? Старый модуль на конфиг реагирует, новый его игнорирует. Он конечно распакует все файлы в InstallPath из конфига, но при этом абсолютно наплюет на пользователя, забудет спросить куда распаковать и сразу все распакует в InstallPath прописанный в конфиге.

Похоже авторы модуля так увлеклись автоматической установкой, что совершенно забыли про нормальный режим работы модуля и накосячили.

Исправьте пожалуйста.

chingasos 13-09-2012 09:28 1987785

Hello Oleg_Sch,

I go by the name "shiner" at RVM forum.

Do you have any time set for making the source code available for the latest versions?

The last version on the svn is 1.5.0.2478.

Will you be releasing source code for the newer versions?

Thanks again for your great work in providing the modified module.

Oleg_Sch 13-09-2012 13:27 1987914

chingasos,
I hope that new version and sources will be updated in first week of October

бУРов 13-09-2012 17:04 1988041

Для создания инсталляционного пакета использую Visual Studio 2008. Получаю MSI-файл.
Хотелось бы во время установки предложить пользователю диалог выбора папки для установки.
Но в VS папка задается жестко.

В config.txt использую:
RunProgram="TranzitSetup.MSI /Q"

В принципе, если запустить MSI-файл без ключа, такой диалог появится. Но и ещё несколько беспонтовых окон.
А вот построить управляемый диалог... Может VBS использовать?

specialist 13-09-2012 18:03 1988087

бУРов, для автоматической установки с нужным путем
отчасти возможно поможет, если придумаешь как реализовать подачу, использование стандартных возможностей msi установщика, а именно передачи пути установки
TranzitSetup.msi INSTALLDIR=c:\Tranzit /q
в sfx конфиг можно назначить переменную, например
SetEnvironment="instdir=c:\Tranzit"
в дальнейшем прописав
AutoInstall="TranzitSetup.MSI INSTALLDIR=%instdir% /q"
и имея возможность задавать созданному exe разные пути установки через изменение командной строки запуска (изменение подставляемой переменной %instdir%)
шаблон из описания:
Tranzit.exe -SetEnvironment="instdir=D:\\Tranzit" -ai
для выбора каталога и автоматизации нажатий в прочих окнах могут подойти различные скрипты, например на языке Autoit

бУРов 19-09-2012 09:23 1991318

Цитата:

Цитата specialist
INSTALLDIR »

TARGETDIR работает.

specialist 19-09-2012 11:23 1991359

бУРов, все зависит от мастерства и правильности сборки msi :)
официальный установщик the bat например прекрасно ставился с INSTALLDIR
вобщем не суть и дикий оффтопик

gora 12-10-2012 12:20 2004046

В ПМ и аську получаю сообщения об ошибке "Файл не является 7z архивом!" при запуске 7zSFX.
Дабы не отвечать каждому индивидуально, решил написать здесь.
Этот баг обнаружен и зарапорчен давно, но пока не исправлен. Он проявляется на последних версиях модуля в Win8 стабильно, реже в Win7. Когда он будет исправлен, знает только автор. Как временную меру предлагаю использовать версию не новее 1.6 develop (сборка 2478) от 10.05.12, в которой этот баг отсутствует.

бУРов 12-10-2012 12:57 2004074

Цитата:

Цитата gora
В ПМ и аську получаю сообщения об ошибке "Файл не является 7z архивом!" »

А это в каких ситуациях бывает? при попытке "запустить" 7z-архив (проводник или тотал?

Сантей 18-10-2012 16:04 2007882

система Win 7 x64. Не срабатывает префикс х64. Модуль 7zsd_LZMA.sfx. Помогите разобраться. Конфиг таков:
Код:

;!@Install@!UTF-8!
Title="Hollywood FX"
InstallPath="%SystemRoot%\\Temp\\HFX"
RunProgram="x64:hidcon:chgstr \"C:\Program Files\" \"C:\Program Files (x86)\" \"%%T\\Update.reg\""
RunProgram="regedit /s \"%%T\\Update.reg\""
RunProgram="hfx51update.exe"

Delete="%SystemRoot%\\Temp\\HFX"
GUIFlags="6464"
;!@InstallEnd@!

также пробовал такой вариант, тоже не срабатывает.
Код:

RunProgram="x86:hidcon:cmd /c Reg Add \"HKLM\SOFTWARE\Pinnacle Systems\Hollywood FX 5\PLS\" /v \"TargetDir\" /t \"REG_SZ\" /d \"C:\\Program Files\\Pinnacle\\Hollywood FX 5\" /f"
RunProgram="x64:hidcon:cmd /c Reg Add \"HKLM\SOFTWARE\Pinnacle Systems\Hollywood FX 5\PLS\" /v \"TargetDir\" /t \"REG_SZ\" /d \"C:\\Program Files (x86)\\Pinnacle\\Hollywood FX 5\" /f"


alert30 25-10-2012 18:25 2012132

pokolo, this is russian forum.

Medic84 25-10-2012 20:31 2012193

Цитата:

Цитата pokolo
моделирование прохода может работать »

Взрыв мозга xD

pokolo, Traslate this:
Цитата:

Q: А можно ли для sfx архива задавать пароль который при обычном запуске sfx архива как бы не запрашивался и сам вводился, а при попытке просто распаковать архив этот пароль запрашивался
A: Нельзя. Модули с данной поддержкой официально недоступны. Пока, пользуясь своей "властью", я даю такие модули только тем, кто мне помогает/прикладывает какие-то усилия в развитии самого модуля, справки к нему и сопутствующих файлов. Считайте это моим эгоизмом.
If you do not understand, I explain that to do so would be the password in a normal setup program does not ask, but there was a password on unpacking can not possible without the author's permission.

P.S. I use Google Translate too. :)

АВаТар 07-11-2012 08:33 2020603

Oleg_Sch, Хотелось бы, чтобы в свойствах ярлыка устанавливаемой (распаковываемой) программы можно было установить пункт "Выполнять эту программу от имени администратора". Это можно сделать?

бУРов 28-11-2012 17:29 2034772

Хотел создать SFX для выполнения отдельных системных команд. Создал пустой (0-й длины) файл, запаковал его в 7z. Создал config.txt, например:

Цитата:

;!@Install@!UTF-8!
RunProgram="telnet"
;!@InstallEnd@!
Скопировал себе 7zsd.sfx из "7zsd_150_2485.7z"
Выполнил

Цитата:

copy /b 7zSd.sfx + config.txt + archive.7z my.exe
Запускаю "my.exe" и получаю (см картинку).

Если вместо "telnet" написать, например, "winver", всё работает.

specialist 28-11-2012 20:14 2034882

бУРов, имхо либо он ищет файл в распакованной директории, либо по всем переменным PATH заданным в системе, а когда по указанным путям его не находит, выкидывает такую ошибку.
найди данный файл в директории windows и убедись что путь до него есть в переменной PATH
win+R
cmd /k set path /?
в противном случае рекомендую указывать полный путь до исполняемого файла, если заранее известно где он находится

бУРов 28-11-2012 23:25 2034962

Если в config.txt указать
Цитата:

RunProgram="c:\windows\system32\telnet.exe"
то запускается проводник в папке "c:\windows\system32"
Кажется это связано с типом exe-файла, который получается командой
Цитата:

copy /b 7zSd.sfx + config.txt + archive.7z my.exe
т.е. каким образом и какой функцией вызывается внешний исполняемый файл.

Например, набрав в Total Commander telnet тоже telnet не вызовется.
PS. У меня 7-ка 64-битная

Amigos 29-11-2012 07:05 2035054

Цитата:

Цитата бУРов
Например, набрав в Total Commander telnet тоже telnet не вызовется.
PS. У меня 7-ка 64-битная »

у вас просто telnetа в системе нет.
7z и "тип exe-файла, который получается командой" тут ни причём.

бУРов 29-11-2012 09:48 2035091

telnet-клиент есть. Вот сейчас ещё один опыт провел. Скачал с сайта
http://wincmd.ru/
32-битную и 64-битную версии Тотала.
Установил поочереди каждую (с предварительным удалением предыдущей).
И попробовал запускать в том и другом telnet на своей 64-битной Windows 7 Pro.
Так вот. В 64-битном Тотале telnet запускается, а в 32-битном - нет!
telnet.exe лежит в "C:\windows\system32" и этот путь имеется в переменной "PATH".
Так что от экзешника, который сам запускает другой исполняемый файл, похоже тоже зависит, будет такой файл запущен или нет.

jentoso 29-11-2012 09:53 2035095

бУРов, это не только у тебя так. Просто telnet в 64-битной системе не существует в 32-битном варианте.

gora 29-11-2012 10:01 2035100

Цитата:

Цитата бУРов
В 64-битном Тотале telnet запускается, а в 32-битном - нет! »

х86 приложение не может напрямую обращаться к папке C:\windows\system32 в х64 системах.
Модуль, который Вы выбрали, тоже х86 и тоже не видит полного содержимого этой папки и Вашего telnet. Нужно использовать либо х64 модуль, либо префикс х64
Цитата:

Цитата бУРов
Цитата:
RunProgram="c:\windows\system32\telnet.exe"

то запускается проводник в папке "c:\windows\system32"
»

Сколько раз нужно писать про лидирующий слеш!? :dont-know
Учите мат. часть. :read:

бУРов 29-11-2012 10:10 2035105

Цитата:

Цитата gora
Модуль, который Вы выбрали, тоже х86 »

Тут имеется в виду модуль "7zsd.sfx"?
Цитата:

Цитата gora
Учите мат. часть. »

Вот эту?
http://7zsfx.info/ru/

бУРов 29-11-2012 10:31 2035119

Префикс "x64:" помогает, да.

Nun-Nun 02-12-2012 13:36 2037024

Oleg_Sch,

ССылка в шапке на страницу Wiki не действительна!

Oleg_Sch 07-12-2012 10:35 2040506

Цитата:

Цитата Nun-Nun
ССылка в шапке на страницу Wiki не действительна! »

Удалил. Все равно никто не наполнял. Шапку исправил.

All:
Работа на модулем свернута на неопределенный срок. Может навсегда. Прошу простить.

Nun-Nun 07-12-2012 19:36 2040852

Цитата:

Цитата Oleg_Sch
Работа на модулем свернута на неопределенный срок. Может навсегда. »

Плохая новость, очень печально! :(

gora 07-12-2012 19:47 2040863

Oleg_Sch, спасибо за отличные модули и огромная благодарность за Ваш многолетний труд по их разработке, поддержке и воплощению многих пользовательских "хотелок"! :clapping:

Будем надеяться, что Ваше решение не окончательное, и Вы еще вернетесь к модулям, дабы порадовать нас новыми фичами.

ramirez 16-12-2012 13:28 2046381

народ, а версия 1.6 develop (сборка 2488) где-то доступна, хотябы для тестирования? в svn в соответствующей ветке исходники 1.5...

jentoso 16-12-2012 13:41 2046387

ramirez, все доступно из этого поста

бУРов 17-12-2012 01:31 2046860

У меня есть sfx-экзешник. В нём запускается bat-файл. Хочу понять, возможно ли как-то передать в bat-файл путь, откуда запустился sfx?
Как я понял, InstallPath задает путь, куда будет распакован архив. А не то, что мне нужно.

Valerkan 17-12-2012 04:47 2046926

Цитата:

Цитата бУРов
возможно ли как-то передать в bat-файл путь, откуда запустился sfx? »

Можно использовать переменную модуля "%%S", где находится SFX архив.

LonerD 18-12-2012 05:31 2047792

Valerkan,
В модуле 7zsd_LZMA_Dialogs можно изменить надписи и размер окон.

LonerD 18-12-2012 19:39 2048260

Valerkan,
Да - можно заменить.
Должна быть картинка в формате gif разрешением 480х74

Oleg_Sch 31-12-2012 02:24 2056470

Всех форумчан с наступающим Новым Годом!
От меня и gora новогодний подарок :)
Считаю, что версия 1.5 уже достаточно стабильна, чтобы присвоить ей статус "Stable", а все последующие правки/добавки будут только в 1.6, которая сегодня вышла из подполья и прописалась на сайте и в SVN. Историю изменений можно посмотреть на сайте.
Все ссылки в шапке.

Еще раз - всех с наступающим!

бУРов 16-01-2013 21:57 2068435

Какие условия по использованию модуля. И распространения.

Lexua 20-01-2013 12:31 2070890

бУРов, данный модуль распространяется по лицензии GNU LGPL Т.е. свободное программное обеспечение.

specialist 20-01-2013 21:16 2071229

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

"сейчас будет установлена такая-то программа %ADD%"

где %ADD% = если существует \"%%S\\add.exe\"

еще один вопрос:
есть переменная
SetEnvironment="unpack=hidcon:cmd /c if exist \"%%S\\Updates.exe\" Utils\\7z.exe x \"%%S\\Updates.exe\" -o\"%Temp%\\%Vers%\" -y"
которая после распаковки основного дистрибутива путем дораспаковки рядом находящегося файла обновлений добавляет их к дистрибутиву во временном каталоге и они устанавливаются уже силами самого установщика (подхват).
проблема, если ее можно так назвать в том - что прогрессбар основного дистрибутива при распаковке я вижу, а обновления распаковываются невидимо, или если убрать hidcon не очень эстетически красиво получается. файл обновлений имеет свой конфиг (может устанавливаться отдельно)

RunProgram="Updates.cmd"
AutoInstall="hidcon:Updates.cmd"
Delete="%Temp%\\2010"

т.е. если запустить его из основного sfx командой AutoInstall="%%S\\Updates.exe -ais" нужно чтобы визуально отображался прогрессбар распаковки, ничего после нее не запускалось и распакованные файлы бы не удалялись, а процесс Updates.exe закрывался после этой распаковки, но остальные опции бы остались справедливы для этого файла в случае его отдельного запуска...

есть ли какие то варианты это сделать?

apozlevich 20-01-2013 21:26 2071239

specialist, могу точно сказать, что прогрессбар можно перехватить силами Inno Setup.

Ruboard 21-01-2013 13:34 2071648

Чего-то на win8 никак не хочет запускаться модуль... Он вообще должен на новой винде работать?

specialist 21-01-2013 13:50 2071661

Ruboard, да. для ответа на ваш вопрос нужно больше информации: приведите версию модуля, конфигурацию sfx модуля

Ruboard 21-01-2013 15:48 2071726

Цитата:

Цитата specialist
приведите версию модуля, конфигурацию sfx модуля »

вопрос снимаю, разобрался... В windows 8 почему-то команда /qn не проходит, заменил на /qb

Limonica 31-01-2013 12:05 2079228

Хмм, а как добится максимального сжатия, есть ли опция непрерывного сжатия?

Ж.Д.А.Л.К.Е.Р. 31-01-2013 14:24 2079348

Limonica, Возьми 7-Zip там есть Gui и консольная версия архиватора + справка по командам. Присутствует возможность непрерывного сжатия, а на счет максимального сжатия тут нужно быть осторожным. Ведь можно создать в Х64 версии 7-Zip такой архив который не сможет распаковаться под х86 ОС - ему просто не хватит озу (в х86 ОС есть ограничение - до 2гб озу на процесс).
При создании архивов я пользуюсь следующей командой:
Цитата:

"%ProgramFiles%\7-Zip\7z.exe" a Temp.7z -r .\Temp\* -mmt2 -m0=BCJ2 -m1=LZMA2:d48m:fb273 -m2=LZMA2:d21:fb273 -m3=LZMA2:d21:fb273 -mb0:1 -mb0s1:2 -mb0s2:3
это позволяет использовать созданные установщики на ПК с 128мб озу, правда на работе железа меньше чем 256мб озу уже не осталось. Изменив размер словаря (в коде это число 48) увеличится степень сжатия и количество озу необходимое для распаковки, так что подбирай под свои потребности.

Ж.Д.А.Л.К.Е.Р. 31-01-2013 20:51 2079634

Запускай 7zFM.exe.

Limonica 02-02-2013 18:47 2081056

Очередная проблема, при использовании:
Цитата:

RunProgram="hidcon:reg add HKCU\SOFTWARE\MyProgram /v Pswd /t REG_BINARY /d 545046301154524F4D5365727665724F7074696F6E7300095573654E5441757468080D53656375726974794C6576656C0203 04506F727403121614456E61626C654F7665726C617943617074757265080C53686F775472617949636F6E080642696E6449 50060D416E7920696E746572666163651343616C6C6261636B4175746F436F6E6E656374091743616C6C6261636B436F6E6E 656374496E74657276616C023C0C50617373776F726444617461060C3665322B76777778394B453D084869646553746F7008 0C497046696C7465725479706502021750726F7465637443616C6C6261636B53657474696E6773091550726F74656374496E 6574496453657474696E6773090F446F4E6F7443617074757265524450080755736549507636091141736B55736572506572 6D697373696F6E0816557365725065726D697373696F6E496E74657276616C031027134175746F416C6C6F775065726D6973 73696F6E08134E656564417574686F72697479536572766572081F41736B5065726D697373696F6E4F6E6C79496655736572 4C6F676765644F6E0811557365496E6574436F6E6E656374696F6E0813557365437573746F6D496E6574536572766572080A 496E65744964506F72740317160D557365496E6574496449507636081444697361626C6552656D6F7465436F6E74726F6C08 1344697361626C6552656D6F746553637265656E081344697361626C6546696C655472616E73666572080F44697361626C65 5265646972656374080D44697361626C6554656C6E6574081444697361626C6552656D6F7465457865637574650812446973 61626C655461736B4D616E61676572080E44697361626C654F7665726C6179080F44697361626C6553687574646F776E0814 44697361626C6552656D6F746555706772616465081544697361626C65507265766965774361707475726508144469736162 6C654465766963654D616E61676572080B44697361626C6543686174081344697361626C6553637265656E5265636F726408 1044697361626C65415643617074757265081244697361626C6553656E644D657373616765080F44697361626C6552656769 73747279080D44697361626C65415643686174081544697361626C6552656D6F746553657474696E6773081544697361626C 6552656D6F74655072696E74696E67080A44697361626C6552647008144E6F746966794368616E67655472617949636F6E08 104E6F7469667942616C6C6F6E48696E74080F4E6F74696679506C6179536F756E6408064C6F675573650805536964496406 1034313330342E393335303432333134380D50726F787953657474696E67731426010000EFBBBF3C3F786D6C207665727369 6F6E3D22312E302220656E636F64696E235525554462D3136223F3E0D0A3C70726F78795F73657474696E677320766572736 96F6E3D223534303030223E3C7573655F70726F78793E66616C73653C2F7573655F70726F78793E3C70726F78795F7479706 53E303C2F70726F78795F747970653E3C686F73743E3C2F686F73743E3C706F72743E383038303C2F706F72743E3C6E65656 45F617574683E66616C73653C2F6E6565645F617574683E3C6E746D6C5F617574683E66616C73653C2F6E746D6C5F6175746 83E3C757365726E616D653E3C2F757365726E616D653E3C70617373776F72643E3C2F70617373776F72643E3C646F6D61696 E3E3C2F646F6D61696E3E3C2F70726F78795F73657474696E67733E0D0A0A4164646974696F6E616C0604303030301144697 361626C65496E7465726E65744964080B536166654D6F6465536574080000 /f"
Выскакивает ошибка.

Ошибка появляется на XP (проверялось XP SP3), на 7 отрабатывает без нареканий.

Limonica 02-02-2013 20:05 2081121

Методом тыка выяснилось предельное значение, если добавить ещё символ, ошибка неминуема:
Цитата:

RunProgram="hidcon:reg add HKCU\SOFTWARE\MyProgram /v Pswd /t REG_BINARY /d 36B5349507636091141736B557365725065726D697373696F6E0816557365725065726D697373696F6E496E74657276616C0 31027134175746F416C6C6F775065726D697373696F6E08134E656564417574686F72697479536572766572081F41736B506 5726D697373696F6E4F6E6C794966557365724C6F676765644F6E0811557365496E6574436F6E6E656374696F6E081355736 5437573746F6D496E6574536572766572080A496E65744964506F72740317160D557365496E6574496449507636081444697 361626C6552656D6F7465436F6E74726F6C081344697361626C6552656D6F746553637265656E081344697361626C6546696 C655472616E73666572080F44697361626C655265646972656374080D44697361626C6554656C6E6574081444697361626C6 552656D6F746545786563757465081244697361626C655461736B4D616E61676572080E44697361626C654F7665726C61790 80F44697361626C6553687574646F776E081444697361626C6552656D6F746555706772616465081544697361626C6550726 57669657743617074757265081444697361626C654465766963654D616E61676572080B44697361626C65436861740813446 97361626C6553637265656E5265636F7264081044697361626C65415643617074757265081244697361626C6553656E644D6 57373616765080F44697361626C655265676973747279080D44697361626C65415643686174081544697361626C6552656D6 F746553657474696E6773081544697361626C6552656D6F74655072696E74696E67080A44697361626C6552647008144E6F7 46966794368616E67655472617949636F6E08104E6F7469667942616C6C6F6E48696E76657273696F6E3D223534303030223 E3C7573655F70726F78793E66616C73653C2F7573655F70726F78793E3C70726F78795F747970653E303C2F70726F78795F7 47970653E3C686F73743E3C2F686F73743E3C706F72743E383038303C2F706F72743E3C6E6565645F617574683E66616C736 53C2F6E6565645F617574683E3C6E746D6C5F617574683E66616C73653C2F6E746D6C5F617574683E3C757365726E616D653 E3C2F757365726E616D653E3C70617373776F72643E3C2F70617373776F72643E3C646F6D61696E3E3C2F646F6D61696E3E3 C2F70726F78795F73657474696E67733E0D0A0A4164646974696F6E616C0604303030301144697361626C65496E7465726E6 5744964080B536166654D6F646553657408000000000000000000000000000000000000030342E393335303432333134380D 50726F787953657474696E67731426010000EFBBBF3C3F786D6C20766572736000000000000000000000000000000000 /f"
Это 2077 символов, автор ждем скорейшего разрешения проблемы.

Limonica 02-02-2013 20:32 2081146

Кстатие, пути реестра тоже рекомендуется с двойными слешами выставлять?

_syd_ 02-02-2013 21:50 2081218

Цитата:

Цитата Limonica
Кстатие, пути реестра тоже рекомендуется с двойными слешами выставлять? »

Limonica, тут всё дело в экранировании символов, в справке по модифицированному модулю этот момент очень хорошо описан.
Цитата:

Если надо указать обратный слеш (\) (например, в путях или тексте диалога), НЕОБХОДИМО использовать ДВОЙНОЙ (\\)

Limonica 03-02-2013 10:51 2081431

И так дополнение, к предыдущим постам. Ошибка проявляется так же и на Vista

alert30 03-02-2013 12:41 2081506

Limonica, скриншоты кого-то заинтересовало в большом размере?

specialist 03-02-2013 20:57 2081848

использовал модуль 7zsd_LZMA2.sfx версии 1.50 2712
в win 8 x64 не отработала строка
Код:

RunProgram="x64:hidcon:cmd /c If Exist x64 xcopy /e /i /y x64 \"%%T\""
в win 7 x64 отрабатывает корректно.

PS: отбой - все дело было в непрописанных в винде в переменную path путях до системных файлов, в частности до xcopy

ErikPshat 10-02-2013 00:46 2086734

Помогите пожалуйста с такой вроде бы нетривиальной ежедневной задачей, которую я уже часов 25 пытаюсь решить безуспешно...

Есть такая портативная программа которая лежит в папке "Portable Soft v5.5.0.0", а в этой папке куча файлов и соственно сам экзешник программы.
Я эту папку заархивировал, как Portable Soft v5.5.0.0.7z положил рядом модифицированный 7zsd_LZMA.sfx и рядом config.txt.

Стоит задача - из самораспаковывающегося SFX 7z извлечь эту папку и запустить экзешник, т.е. после распаковки в ту же папку запустить портативную программу.
У меня никак не удаётся запустить программу после распаковки. Выползает ошибка, что не найден путь\файл - Portable Soft v5.5.0.0\Soft.exe
Вот содержимое config.txt:

Код:

;!@Install@!UTF-8!
RunProgram="Portable Soft v5.5.0.0\Soft.exe"
GUIMode="2"
;!@InstallEnd@!

Где я допускаю ошибку?

Пробовал всевозможные синтаксические варианты:
  • RunProgram="Portable Soft v5.5.0.0\\Soft.exe"
  • RunProgram=\"Portable Soft v5.5.0.0\\Soft.exe\"
  • RunProgram=\"\"Portable Soft v5.5.0.0\"\\Soft.exe"
  • RunProgram="%%T\\Portable Soft v5.5.0.0\\Soft.exe"
  • RunProgram="Soft.exe"

Amigos 10-02-2013 08:37 2086860

Цитата:

Цитата ErikPshat
Пробовал всевозможные синтаксические варианты: »

ещё вот такие не пробовали
RunProgram="\"Portable Soft v5.5.0.0\\Soft.exe\""
RunProgram="\"%%T\\Portable Soft v5.5.0.0\\Soft.exe\""

bit55 01-03-2013 02:40 2101527

есть ли команда для добавления административного доступа к созданному sfx? То есть что б автоматические от администратора запускалось

Amigos 01-03-2013 07:25 2101553

Цитата:

Цитата bit55
То есть что б автоматические от администратора запускалось »

Цитата:

Цитата Oleg_Sch
Теперь модулю можно указать "для работы мне необходимы права администратора". Он проверит, и если прав недостаточно, выдаст диалог "Run As" или предупреждение UAC о "Разрешить внесение изменений...".
Если пользователь вводит логин администратора или соглашается с запросом UAC, модуль осуществляет всю дальнейшую деятельность с правами админа.
Включается данная функция с помощью нового значения параметра "MiscFlags" - 4 (или ключом командной строки "-mf")
Код:

MiscFlags="4"
»


bit55 01-03-2013 11:33 2101662

Здравствуйте, сделал установщик с помощью модифицированного модуля 7-zip, он копирует файлы и в конце запускает мой AutoIT скрипт, так же добавляет его в автозагрузку...
Проблема в том, что сразу после установки, у скрипта не работает половина функций, лишь после перезагрузки и старта из автозагрузки, он начинает полностью выполнять свои функции...Есть ли решение проблемы?

Код:

;!@Install@!UTF-8!

MiscFlags="4"

RunProgram="nowait:\"%MyDocuments%\\Microsoft\\service.exe\""

Shortcut="T,{%%T\\Microsoft\\service.exe},{},{},{Службы Windows},{Службы Windows},{%%T\\Microsoft},{},{}"


InstallPath="%MyDocuments%\\"
OverwriteMode="0"
GUIMode="2"
Progress="no"

;!@InstallEnd@!


bit55 01-03-2013 19:51 2102065

И еще вопрос, как сделать что б при установки sfx пароль не требовался, а при открытии (то есть с помощью ПКМ->Открыть архив) требовался?

apozlevich 01-03-2013 20:08 2102076

bit55, никак :) Такая возможность есть только у создателей модуля.

bit55 01-03-2013 20:46 2102097

Еще вопрос, можно сделать что б сначала создался ярлык, а потом запуск именно созданного ярлыка?

Ж.Д.А.Л.К.Е.Р. 03-03-2013 02:07 2102971

bit55, А смысл именно ярлык запускать ? Скажи что ты вообще хочешь сделать, так будет проще тебе подсказать.

frankiesimon 21-03-2013 23:59 2115927

Sorry for the English (no Russian keyboard present), and this may be a silly question.

If I'm compressing my archive using 7-zip (7za.exe) but actually compressing it with the -zip key, should I be able to still use the modified module? If so, which file should I be using exactly?

My compression command looks like this:

Код:

7za.exe a -r -ssw -mx7 -tzip <myzipfile.zip> <path_to_folder>
I then run the copy /b command to make my executable, with a very basic configuration file (supposed to run notepad.exe, guimode="2") BUT double clicking it doesn't give me anything. No error, just nothing.

I tried to use the last version of the module 1.6.0. But I tried the 7zsd_all.sfx which should handle all possible compression methods and it still doesn't help. When I try to compress without the "-tzip" key (I mean with .7z), it works fine. But I need to make it work WITH the -tzip compression.

Any help is appreciated!

бУРов 22-03-2013 10:15 2116134

Я немного познакомился с изготовлением простых 7z-"инсталлеров". Также я "поюзал" аналогичные возможности вижуал студии. Теперь есть вопросы по поводу сравнения. Например, зачем нужно "заворчавить" <пакет>.msi в <пакет>.7z.exe? А так делают повсеместно. Мой, самостоятельно найденный ответ -- чтобы "уйти", "отвязаться" от Майкрософт.
Я прав?
Если же причина в другом, то какие преимущества у 7z-"инсталлеров" перед MS?

Amigos 22-03-2013 10:33 2116148

Цитата:

Цитата бУРов
зачем нужно "заворчавить" <пакет>.msi в <пакет>.7z.exe? »

чтобы запустить этот msi с определёнными параметрами.

specialist 22-03-2013 10:53 2116157

Цитата:

Цитата бУРов
Мой, самостоятельно найденный ответ -- чтобы "уйти", "отвязаться" от Майкрософт.
Я прав?
Если же причина в другом, то какие преимущества у 7z-"инсталлеров" перед MS? »

от ms таким образом не уйдешь - exe все равно будет запускать msi который ставится через windows installer
к преимуществам имхо можно отнести:
- поддержку хорошей степени сжатия (особенно извлеченных до административной установки россыпью файлов msi )
- возможность приделать множество ключей для различных методов установки и ее опций
- сравнительная простота составления файлов конфигурации (я например пользуюсь блокнотоподобными редакторами)

apozlevich 22-03-2013 21:00 2116536

frankiesimon, I think the point is that this module doesn't support .zip-archives, because when I'm tried to make the same SFX, I got "This is not a 7z archive" error.

P.S.: Why not use 7z?

Народ, поправьте ошибки, давно не писал на английском.

frankiesimon 22-03-2013 21:05 2116538

Well I got that error too : when I used the last version marked as stable, but then I saw that the latest beta version had a bug fixed exactly related to this version.

So I used the beta version, and like I said, no error - but also no success.

Anyway - yes, I will have to use .7z type for my archives. Originally I thought I'd have to do backward compatibility for a product that already generates the archives, but eventually managed to isolate a specific part of the code I could change.

In short - I still thing that maybe there should be a message if the archive type is incompatible - but for my problem, I managed to just switch to 7z: and now I'm fine.

Thank you!

alert30 23-03-2013 04:24 2116711

Цитата:

Цитата apozlevich
Народ, поправьте ошибки, давно не писал на английском. »

Все легко читабельно :)

ya158 11-04-2013 00:09 2130116

Oleg_Sch,
Нет ли возможности выводить при распаковке SFX-архива различные сообщения в зависимости от языка системы? Например, если системный язык русский, то BeginPrompt="Установка программы", а если английский, то BeginPrompt="Installing programm".
Если это невозможно, то может быть добавите такую возможность в будущем. В принципе достаточно добавить ключ в параметр SetEnvironment. Что-то типа 'SetEnvironment="variable=string","Key=volume" ' (Key может определять язык, битность и т.п. системы). Если Key=volume, то значение переменой variable присваивается значение string, а если Key не равен volume, то переменная variable не изменяет своё значение. Таким образом появится возможность изменять отображаемую информацию и поведение инсталлятора в зависимости от языка или битности системы.

LonerD 14-04-2013 03:32 2132024

ya158,
http://7zsfx.info/ru/sections.html

Den30lv 21-04-2013 10:12 2136816

На Вирустотале Др.Вэб ругается на некоторые файлы версии 1.6 отсюда... это конечно не страшно, т.к. он там практически в единственном лице, но всё-таки неприятно, т.к. антивирус-то авторитетный...

apozlevich 21-04-2013 10:31 2136827

Den30lv, так он же что-то копирует в систему, да при этом еще умеет скрывать консольные окна. На nircmdc постоянно ругаются. Может собраться и написать туда в духе "вот это не малварь" и прицепить все модули всех версий?

Den30lv 21-04-2013 11:13 2136851

Цитата:

Цитата apozlevich
Может собраться и написать туда... »

Так я к тому и пишу, чтоб либо автор, либо просто тот, кто знаком с процедурой отправки туда, ошибочно детектированиных объектов, решил вопрос.

Amigos 21-04-2013 17:27 2137057

Цитата:

Цитата Den30lv
с процедурой отправки туда »

у адекватных антивиров она элементарна и занимает пару минут
https://vms.drweb.com/sendvirus/
Категория запроса: "ложное срабатывание"

Oleg_Sch 21-04-2013 17:42 2137065

Цитата:

Цитата Amigos
у адекватных антивиров она элементарна и занимает пару минут
https://vms.drweb.com/sendvirus/
Категория запроса: "ложное срабатывание" »

Не спорю, только я им уже всем по очереди устал доказывать, что "я не верблюд"
Поверьте, было далеко не один раз. Даже прения с хостером были по этому поводу. Последний раз им сказал коротко - "блокируйте, я на форумах выложу, что ничего не могу сделать, заблокировал хостер такой-то"

apozlevich 21-04-2013 20:34 2137199

Еще бы microsoft.com заблокировали. Ведь данные крадутся с Windows!

Iska 21-04-2013 21:44 2137239

Это вечная проблема, если только ты не «большой и толстый»: Antivirus companies cause a big headache to small developers.

Limonica 24-04-2013 20:08 2139042

При паковке 7z есть опция "Шифровать имена файлов", скажите как выставиь эту опцию в консольной версии пакера?

gora 24-04-2013 20:18 2139046

Код:

-mhe
Только какое отношение это имеет к модулю?
:dont-know

sLiDeR-X 16-05-2013 14:16 2151011

Кто сталкивался с некорректной работой флага MiscFlags="4" ?
На ХР диалоговое окно появляется у пользователя с ограниченными правами, на 7 и 8 нет.
Есть ли метод работы или это так и осталось неисправленным?

Crazy Noise 22-05-2013 17:40 2154135

Шапочку поправьте!
Цитата:

Цитата Oleg_Sch
Кнопка для работы с 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 2164869

Подскажите, можно ли добавить vertical scroll bar в поле BeginPrompt чтобы включить там больше текста (описание программы). Хочу мигрировать с WinRAR, на SevenZip и исползовать больший словарь сжатия, но пока не нашёл аналог его SFX модулей.

Пример

frankiesimon 10-06-2013 18:11 2165422

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 2165429

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 2165445

AH! Thank you! Sorry for the RTFM question.

spectat0r 15-06-2013 20:12 2168254

del

Warlock78 01-07-2013 11:04 2177216

Добрый день.

Столкнулся с проблемой экранирования символов задании InstallPath из командной строки.
Вызов распаковки происходит из msi инсталляции и путь установки задается из неё же через командную строку.
Путь инсталляции задан не экранированным путем и конвертировать его не совсем удобно.

Есть ли аналогичный SFX модуль, где можно задать путь без экранирования или может быть можно отключающий экранирование в текущем какм-либо секретным ключом?

Еще раз отмечу что экранирование мешает именно в командной строке в параметре InstallPath.

Спасибо.

Warlock78 01-07-2013 12:37 2177273

Разобрался.

В командной строке не нужно экранирование.
Ошибка была в одинарном завершающем слэше пути.

В командной строке путь должен завершаться двойным слэшем, если он (путь) с кавычками.
Arch.exe -InstallPath="c:\Path with spaces\Dir\Files\\"

gora 01-07-2013 12:50 2177285

Цитата:

Цитата Warlock78
В командной строке путь должен завершаться двойным слэшем, если он (путь) с кавычками.
Arch.exe -InstallPath="c:\Path with spaces\Dir\Files\\" »

Вывод неправильный. Все слеши в пути должны быть двойными (правило лидирующего слеша)! :read:

Warlock78 01-07-2013 15:38 2177395

Так и есть. Заменил в путе "\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 2177500

Цитата:

Цитата Warlock78
Где же я рантайме msi буду брать путь с экранированными слешами »

Какое отношение имеет msi к параметру модуля InstallPath? :dont-know
Цитата:

Цитата Warlock78
Тогда вопрос остается в силе »

1 Приведите свой конфиг, без него вопрос не имеет смысла.
2 Вопросы по конфигам нужно задавать здесь.

Warlock78 01-07-2013 18:22 2177509

Дело в том, что я использую 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 2177831

Warlock78
А вообще-то и так должно работать: Arch.exe -InstallPath="c:\Path with spaces\Dir\Files"

Warlock78 02-07-2013 09:42 2177884

Оно работает, только если не встречается имя каталога, начинающегося на строчную "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 2180949

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

Oleg_Sch 16-07-2013 13:42 2185452

Цитата:

Цитата Warlock78
Попробовал пересобрать 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 2199057

интересует ключ тихой распаковки(если такой есть) для утилиты 7zsplit
пробовал так, но при этом нужно нажать "OK"
7zsplit 1.exe -c -a -m

gora 09-08-2013 15:30 2199062

Цитата:

Цитата icq99999999
интересует ключ тихой распаковки(если такой есть) для утилиты 7zsplit »

Код:

7ZSplit.exe sfx_archive.exe -rh -m имя_файла_модуля -c имя_файла_конфигурации -a имя_файла_архива

Limonica 11-08-2013 09:28 2199770

Oleg_Sch, и Олег если возьметесь, исправте пожалуйста ошибку с ограничением символов 5000 в одной строке, в Windows XP, валится ошибка. Спасибо.

Aquila 10-09-2013 20:36 2215811

Не работает ссылка - 7z SFX Tools (Beta). Поправьте пожалуйста.

Malysh-ok 07-10-2013 16:48 2230273

Такая проблема. Создаю (перепаковываю) саморасп. архив. Все создается и запускается. Однако в exe-шнике пропадает иконка (изначально - 7z-повская, но и замененная тоже), а при наведении курсором на файл - отсутствуют почти все данные.

Пробовал разные версии 7z и cfx-модуля и др. танцы с бубном. На вскидку - зависит от размера.

Вот, собственно, "косяк":



А вот, как должно (по-смыслу) быть:



Если делаю небольшой архив (где-то до 400-450 МБ), то все ОК:



В чем проблема???

Iska 07-10-2013 18:26 2230354

Как делали, так?

Malysh-ok 07-10-2013 20:53 2230465

Цитата:

Цитата Iska
Как делали, так? »

Уточняю: я не говорю о замене иконок, я говорю о создании exe-шника из sfx-модуля, txt- и 7z-файлов

Den30lv 07-10-2013 23:27 2230550

Malysh-ok,
Версии архиватора меняли?

Malysh-ok 08-10-2013 01:44 2230594

Естесссннно.

Aquila 08-10-2013 01:52 2230597

Malysh-ok, Вот здесь выясняли это: http://forum.oszone.net/post-1283481.html#post1283481
А вот ответ на ваш вопрос: http://forum.oszone.net/post-1285706.html#post1285706

Malysh-ok 08-10-2013 02:07 2230599

Aquila, спасибо за быстрый ответ.
Т.е. решения, как я понял, не существует? :cry:

Aquila 08-10-2013 08:58 2230647

Malysh-ok, Сожалею.

erdbets 28-12-2013 04:56 2279603

Всех с наступающим! Подскажите как в конфиге 7z SFX Builder сделать запись
;!@Install@!UTF-8!
GUIMode="2"
RunProgram="startx.exe /WAIT /B \"install.cmd\""
RunProgram="hidcon:serial.bat"
RunProgram="*********.exe"
serial.bat - вносит данные в реестр при страрте проги, а вот при закрытии портабле, ни могу сообразить что написать.

Ж.Д.А.Л.К.Е.Р. 28-12-2013 14:20 2279707

Напиши батник который удаляет все ветви реестра которые использует программа.

erdbets 28-12-2013 15:34 2279722

и куда его в конфиге прописать и как? вы бы уточнили, на примере.

Ж.Д.А.Л.К.Е.Р. 28-12-2013 18:17 2279847

Вариантов много, к примеру запуск Add.cmd перед стартом программы для внесения изменений в реестр и еще каких либо действий, и Del.cmd который подчищает реестр и ПК после завершение программы. Можно сразу в файле конфигурации прописать создание (Reg Add)/удаление (Reg Delete) значений в реестре, столько команд сколько нужно ключей. Или импортировать сразу целые ветки реестра - Add.reg, что проще + в некоторых случаях Reg Add не может создать сложный ключ, а Regedit справляется. В Del.reg прописать что удалить в реестре по завершению работы программы:

удалить ветку реестра:
Цитата:

Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\Software\QuickSoft\QuickStart]
удалить параметр:
Цитата:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software]
"xxx"=-
читать дальше »

;!@Install@!UTF-8!
GUIMode="2"
MiscFlags="4"
RunProgram="hidcon:cmd /c Add.cmd"
RunProgram="MyProg.exe"
RunProgram="hidcon:cmd /c Del.cmd"
;!@InstallEnd@!


;!@Install@!UTF-8!
GUIMode="2"
MiscFlags="4"
RunProgram="hidcon:Reg Add..."
RunProgram="hidcon:Reg Add..."
...
RunProgram="MyProg.exe"
RunProgram="hidcon:Reg Delete..."
RunProgram="hidcon:Reg Delete..."
...
;!@InstallEnd@!


;!@Install@!UTF-8!
GUIMode="2"
MiscFlags="4"
RunProgram="hidcon:Regedit /s Add.reg"
RunProgram="MyProg.exe"
RunProgram="hidcon:Regedit /s Del.reg"
;!@InstallEnd@!

Iska 28-12-2013 21:54 2279961

Цитата:

Цитата Ж.Д.А.Л.К.Е.Р.
Напиши батник который удаляет все ветви реестра которые использует программа. »

То-то будет тихой, незлобивой радости пользователям установленного приложения.

P.S. Если приложение использует реестр, то это уже ни разу не portable.

Ж.Д.А.Л.К.Е.Р. 28-12-2013 22:52 2280001

У erdbets, как и у половины сборщиков portable софта свои понятия "портабельности".
Меня больше умиляет когда с помощью ThinApp (или подобного софта) делают portable версии Total Commander, UltraISO, WinHex и т.д. - тех программ что умеют своими силами хранить настройки в одной папке с ехе-шником.

mamont1 29-12-2013 02:03 2280079

Цитата:

Цитата Iska
P.S. Если приложение использует реестр, то это уже ни разу не portable. »

отнюдь... X-Launcher v1.5.3 тому пример. (там-же проги, на основе его)
и в реестр..., и папки даёт сабжу создавать, и...
Но..., после затрёт за собой - всё. (были-б руки у сборщика не из...)
грамотно, парни, однако, там, извращаються...

Iska 29-12-2013 02:48 2280089

Поясните Ваше «отнюдь». Это всего лишь способ эмуляции. С тем же успехом можно использовать песочницы, виртуальные машины или LiveCD. Повторю: приложение, пишущее в реестр, ни разу не является portable-приложением.

mamont1 29-12-2013 03:55 2280111

Цитата:

Цитата Iska
Повторю: приложение, пишущее в реестр, ни разу не является portable-приложением. »

У, вас такое, мнение..., у меня, чуток другое.
и доказывать, что такое портабле, (с пеной у рта, как некоторые) и дискутировать - увольте.

Iska 29-12-2013 11:59 2280176

Я такой ;). И в данном случае я считаю, что корректная терминология важна.

lorents 09-02-2014 14:31 2305914

Добрый день!
Подскажите, пожалуйста, как можно создать SFX-архив, который распаковывается через командную строку?

Amigos 09-02-2014 14:33 2305916

Цитата:

Цитата lorents
создать SFX-архив, который распаковывается через командную строку? »

использовать 7zCon.sfx , но возможности модифицированного модуля будут недоступны

specialist 09-02-2014 15:36 2305963

lorents, фактически любой exe собранный с использованием модифицированного модуля может быть распакован с ключом .exe -nr

OEM22 11-02-2014 12:52 2307176

Здравствуйте. Как известно SFX архив содержит три файла: файл конфигурации, модуль.sfx и архив 7z, Я ставлю пароль на 7z архив, собираю SFX архив, запускаю и получаю ошибку: 7-zip: метод не поддерживается. Подскажите пожалуйста как можно запаролить 7z архив, что бы потом не было ошибки при установке SFX архива. Заранее благодарю.

jentoso 11-02-2014 13:30 2307197

OEM22, шифрование в данной версии не поддерживается. Данный модуль есть только у автора и его приближенных.

OEM22 11-02-2014 14:50 2307261

Цитата:

Цитата jentoso
шифрование в данной версии не поддерживается. Данный модуль есть только у автора и его приближенных. »

О как...и что здесь секретного такого что бы дать пользователям возможность паролить свои SFX архивы?

jentoso 11-02-2014 15:22 2307281

OEM22, это к автору. Здесь уже об этом обсуждалось.

Nordek 11-02-2014 17:47 2307354

Цитата:

Цитата OEM22
Подскажите пожалуйста как можно запаролить 7z архив »

Читай первое сообщение:
Цитата:

Цитата Oleg_Sch


Q:
Цитата:

а можно ли для sfx архива задавать пароль который при обычном запуске sfx архива как бы не запрашивался и сам вводился, а при попытке просто распаковать архив этот пароль запрашивался
A: Нельзя. Модули с данной поддержкой официально недоступны. Пока, пользуясь своей "властью", я даю такие модули только тем, кто мне помогает/прикладывает какие-то усилия в развитии самого модуля, справки к нему и сопутствующих файлов. Считайте это моим эгоизмом. »

Цитата:

Цитата OEM22
О как...и что здесь секретного такого что бы дать пользователям возможность паролить свои SFX архивы? »

Вот так... Ничего. А зачем тебе паролить? - Всё равно небезопасно.

Oleg_Sch 13-02-2014 00:59 2308160

Есть два варианта модулей для шифрованных архивов:
1. Который не спрашивает пароль для распаковки на этапе обычного запуска модуля
2. Который у Вас запросит пароль (в том случае, если архив шифрованный)
Второй вариант, насколько я помню, в 1.6.х.х работает без ограничений, а вот первый - "Считайте это моим эгоизмом"

SubV 27-02-2014 14:06 2316683

Олег, у меня к вам вопрос.

Возможно ли определить разрядность ОС до распаковки архива, и в случае несоответствия прекратить установку?

Например, программа рассчитана только на x64, мы запускаем sfx-модуль под x86 и получаем сообщение "Извините, данная программа не поддерживает 32-разрядные версии Windows".

Заранее спасибо.

Ж.Д.А.Л.К.Е.Р. 27-02-2014 14:46 2316718

Собери на х64 модуле и получишь на х86 ОС похожее сообщение, о том что работать не будет. До выполнения (распаковки).

SubV 27-02-2014 15:13 2316749

Ж.Д.А.Л.К.Е.Р., да, можно так сделать. Но хотелось бы кастомное сообщение, тем более, что система не говорит конкретно, что программа требует x64, а пишет "файл несовместим с этой версией Windows".

sov44 27-02-2014 15:57 2316780

Цитата:

Цитата SubV
Возможно ли определить разрядность ОС до распаковки архива »

Цитата:

%%P - платформа операционной системы; принимает значения x86 и x64 в зависимости от разрядности ОС

SubV 27-02-2014 19:48 2316905

sov44, и каким образом эта переменная поможет определить разрядность ОС до распаковки архива?

Ладно, в общем я понял - в модуле такой возможности нет. А не помешала бы, даже в WinRAR SFX есть опция для выполнения команды до распаковки архива.

ricpersi 07-03-2014 18:28 2320523

Hi all,

I'm trying to compile 7zsfx but I'm getting the following linking error. Can anyone please help me to fix it? Also, I'm sorry if I'm speaking english in a russian forum but I'm italian and really don't know any russian word, please bear with me.


------ Build started: Project: 7zSfxMod, Configuration: All Win32 ------
Linking...
LINK : warning LNK4224: /OPT:NOWIN98 is no longer supported; ignored
AES.obj : error LNK2019: unresolved external symbol @AesCtr_Code_Intel@12 referenced in function _AesGenTables
AES.obj : error LNK2019: unresolved external symbol @AesCbc_Decode_Intel@12 referenced in function _AesGenTables
AES.obj : error LNK2019: unresolved external symbol @AesCbc_Encode_Intel@12 referenced in function _AesGenTables
..\Output\Win32\7zsd_All.sfx : fatal error LNK1120: 3 unresolved externals
Build log was saved at "file://c:\temp\7zsd_src_160_2712\Intermediate\Win32\All\BuildLog.htm"
7zSfxMod - 4 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


I'm using VS2008 with latest Microsoft sdk. Thanks a lot for your help.

cheers,

Riccardo

Oleg_Sch 10-03-2014 04:07 2321402

ricpersi,
I'm always do batch build via Makefile
All those functions generated through methods/AES.cpp
May be I forgot to include it into workspace

And... Don't forget to define SFX_CRYPTO

Valerkan 31-03-2014 23:34 2331246

Для запуска exe-шника, часть имени которого может меняться,
использовал эту команду:
Цитата:

Цитата gora
RunProgram="hidcon:cmd /c For %i In (My_File_*.exe) Do %~nxi" »

Только вот например такой файл My_File_210 Rus.exe c пробелом не запускает.
Это можно как то исправить, или прийдется везде пробелы удалять?

Ж.Д.А.Л.К.Е.Р. 01-04-2014 00:25 2331259

Файлы содержащие пробелы должны быть взяты в кавычки, иначе будут интерпретированы cmd.exe как два разных файла.
Цитата:

RunProgram="hidcon:cmd /c For %i In (My_File_*.exe) Do \"%~nxi\""

Valerkan 01-04-2014 01:15 2331270

Цитата:

Цитата Ж.Д.А.Л.К.Е.Р.
RunProgram="hidcon:cmd /c For %i In (My_File_*.exe) Do \"%~nxi\"" »

С пробелом теперь запускает.
А как запустить файл если после распаковки он находится в папке,
часть имени папки меняется в начале и часть имени файла тоже
меняется в начале.
Нужно в папке *_Folder запустить файл *_File.exe,
(*_Folder\*_File.exe) пробую по разному, ничего не выходит.

Ж.Д.А.Л.К.Е.Р. 01-04-2014 02:20 2331276

Цитата:

RunProgram="hidcon:cmd /c For /F \"Delims=\" %I In ('Dir *_File.exe /a-d /b /s') Do \"%I\""
Ключ /s дает рекурсию подкаталогов при поиске *_File.exe. Если потенциально может быть более одного искомого *_File.exe можно добавить выполнение первого найденного с последующим завершением поиска:
Цитата:

RunProgram="hidcon:cmd /c For /F \"Delims=\" %I In ('Dir *_File.exe /a-d /b /s') Do \"%I\" & Exit"
или конкретизировать поиск дополнительными ключами в команде Dir.

Valerkan 01-04-2014 03:47 2331285

Цитата:

Цитата Ж.Д.А.Л.К.Е.Р.
RunProgram="hidcon:cmd /c For /F \"Delims=\" %I In ('Dir *_File.exe /a-d /b /s') Do \"%I\" & Exit" »

Сделал так:
Код:

RunProgram="forcenowait:hidcon:cmd /c For /F \"Delims=\" %I In ('Dir *_File.exe /a-d /b /s') Do \"%I\" & Exit"
Файл *_File.exe запустился, модуль завершил работу, остался процесс cmd.exe, можно ли
не дожидаясь выполнения *_File.exe закрыть и командную строку после запуска файла *_File.exe?

Iska 01-04-2014 03:55 2331287

Цитата:

Цитата Valerkan
можно ли не дожидаясь выполнения *_File.exe закрыть и командную строку после запуска файла *_File.exe? »

Для самостоятельного изучения:
Код:

start /?
Обратите особое внимание на применение кавычек.

Valerkan 01-04-2014 16:02 2331544

Цитата:

Цитата Iska
start /? »

С командой start разобрался, без пустых кавычек файл не запускается.
Отрабатывает так:
Код:

RunProgram="forcenowait:hidcon:cmd /c start \"\" \"My_File_210 Rus.exe\" -y"
RunProgram="forcenowait:hidcon:cmd /c start \"\" \"0215_Folder\\0215b_File.exe\" -y"

Файлы запускаются с параметром -y, командная строка завершает работу.
Но как подставить команду start и параметр -y сюда, где часть имени будет меняться:
Код:

RunProgram="forcenowait:hidcon:cmd /c For %i In (My_File_*.exe) Do \"%~nxi\""
RunProgram="forcenowait:hidcon:cmd /c For /F \"Delims=\" %I In ('Dir *_File.exe /a-d /b /s') Do \"%I\" & Exit"

Увы не получается. Нужно два файла запустить с параметрами -y с завершением работы
командной строки.

sayanvd 25-04-2014 11:23 2342829

Подскажите, а то на вскидку не нашел.

Не может ли, случайно, данный модуль сам подавлять (скрывать) все диалоги запускаемой после распаковки программы?

Дело в том, что имеется исполняемый файл, который вместе с необходимыми для его работы файлами упакован в самораспаковывающийся архив, который при запуске отрабатывает полностью без вопросов, автоматически, но не в тихом режиме. А нужно, чтобы ничего не было видно. И было бы не плохо, если бы SFX молг принудительно подавить диалоги.

Aquila 25-04-2014 12:20 2342852

sayanvd,

hidcon
Скрывает консольные окна. Например:
RunProgram="hidcon:install.cmd"
выполнит "install.cmd" и полностью скроет его консольное окно.

Только так, а насчёт скрытия диалогов другого инсталлятора, то уже ищите ключи тихой установки для него.

sayanvd 27-04-2014 12:22 2343724

Спасибо.
Понятно, значит, в общем, такого функционала нет. Буду искать другие решения.

ya158 08-05-2014 12:43 2348811

Подскажите, пожалуйста, как заменить иконку в модифицированном SFX модуле через комстроку? Пытался

ResHacker.exe -addoverwrite 7zsd_LZMA2.sfx, 1.sfx, au.ico, icongroup, 101,

но файл 1.sfx не создаётся.
Также пробовал rt_add из соства Resource Tools от http://www.radialix.ru/, но все равно не получается.

Модуль 1.6 develop (сборка 2712) от 30 декабря 2012 г. Ось - WinXp 32. ResHacker - 3.6.0.92

Painkiller 08-05-2014 17:14 2348929

Цитата:

Цитата ya158
Подскажите, пожалуйста, как заменить иконку в модифицированном SFX модуле через комстроку? Пытался
ResHacker.exe -addoverwrite 7zsd_LZMA2.sfx, 1.sfx, au.ico, icongroup, 101, »

Пример :
Код:

ResHacker.exe -modify KIS.exe, KIS2012.exe, 1.ico, icongroup, 101, 1033

ya158 11-05-2014 20:03 2350096

Painkiller,
Читаем внимательнее
Цитата:

Цитата ya158
иконку в модифицированном SFX модул »

Цитата:

Цитата ya158
7zsd_LZMA2.sfx »


Amigos 12-05-2014 08:34 2350234

Цитата:

Цитата ya158
Подскажите, пожалуйста, как заменить иконку в модифицированном SFX модуле через комстроку? »

не нужно.
Проще менять при сборке, например "кнопкой", тогда sfx модуль не затрагивается, а выходной EXE получается с нужной кнопкой.

ya158 12-05-2014 13:27 2350351

Цитата:

Цитата Amigos
не нужно.
Проще менять при сборке, например "кнопкой", тогда sfx модуль не затрагивается, а выходной EXE получается с нужной кнопкой. »

Нужно это сделать не какой-то "кнопкой", а из комстроки. Пусть иконка меняется не в модуле, а в выходном файле, но именно с помощью какой-нибудь утилиты для комстроки.

gora 12-05-2014 17:07 2350464

Цитата:

Цитата ya158
но файл 1.sfx не создаётся. »

Не подтверждаю! Все создается и иконка меняется (проверено).
Вообще, ResHacker пишет лог, который следует проанализировать, но он здесь не приведен.
Проблема надумана и не имеет ни какого отношения к модулю.

ya158 12-05-2014 22:45 2350621

Вот подтверждение моей проблемы.
Вот полный лог ResHacker:
Цитата:

[12 май 2014, 22:24:15]
ResHacker.exe -addoverwrite 7zsd_LZMA2.sfx, 1.sfx, au.ico, icongroup, 101,
Так, что это не я что-то "надумал"....

Но я уже решил свою проблему - с помощью утилиты 7zsdrc.exe. Спасибо всем, кто действительно хотел помочь.

Bond01 10-06-2014 18:04 2362575

Пожалуйста выложите SFX-Делитель архивов... 7zSPLIT Давно не занимался все под растерял... Что то какие то отношение стали непонятные между пользователями... Я так понимаю все дело в репаках уж много этого хлама развелось... А простые люди страдают...
========================
Все нашел у автора.

leo.pine.58@fb 03-07-2014 16:57 2371601

Гуру, помогите разделить архитектуры x86 и AMD64 с модифицированным модулем.

Моя задача: выполнять батник с учётом различий в архитектуре, т.к. батник использует, например, dism.exe, который, будучи запущенный в 32-битной консоли на 64-битной системе, отказывается работать.

Батник содержит строку DISM.exe /online /cleanup-image /spsuperseded /hidesp

Конфиг config.txt:

;!@Install@!UTF-8:x86!
Title="Kindred server system disk cleanup tool 2.0"
RunProgram="cleanup2.cmd"
;!@InstallEnd@:x86!

;!@Install@!UTF-8:x64!
Title="Kindred server system disk cleanup tool 2.0"
RunProgram="cleanup2.cmd"
;!@InstallEnd@:x64!

Проблема в том, что вне зависимости от указания платформенных секций, батник выполняется в среде архитектуры, которая использовалась для разархивирования. Если использовался модуль разархивации 32-битный (copy /b 7zsd_lzma.sfx+config.txt+cleanup2.7z cleanup2.exe), то и батник выполняется в 32-битной командной консоли, если модуль разархивации 64-битный (copy /b 7zsd_lzma_x64.sfx+config.txt+cleanup2.7z cleanup2.exe), то батник выполняется в 64-битной консоли, что ОК на 64-битных системах, но при этом на 32-битных системах экзешник не запускается вообще. Если же при сборке затолкать модули разархивации как для 32-битных так и для 64-битных систем, то получившийся SFX просто использует первый затолканный модуль и я опять сталкиваюсь с тем, что мой скрипт выполняется либо на всех ОС, но в 32-битной консоли, либо в 64-битной консоли на 64-битных системах, а на 32-битных не запускается вообще.

Кто виноват и что делать? Как сделать так, чтобы командная консоль соответствовала битности архитектуры, на которой запустился SFX?

gora 03-07-2014 17:56 2371634

Цитата:

Цитата leo.pine.58@fb
Как сделать так, чтобы командная консоль соответствовала битности архитектуры, на которой запустился SFX? »

Используйте нужный префикс в строке запуска.
Можно не использовать секций.
Код:

;!@Install@!UTF-8!
Title="Kindred server system disk cleanup tool 2.0"
RunProgram="x86:cleanup2.cmd"
RunProgram="x64:cleanup2.cmd"
;!@InstallEnd@!

или
Код:

;!@Install@!UTF-8!
Title="Kindred server system disk cleanup tool 2.0"
RunProgram="%%P:cleanup2.cmd"
;!@InstallEnd@!


leo.pine.58@fb 03-07-2014 18:50 2371662

Спасибо, гуру! Реально дед! Заработало!

Shift85 12-07-2014 21:25 2375830

Подскажите пожалуйста. Как запаролить архив и потом распаковать запароленный архив с помощью модифицированного SFX модуля.
Заранее спасибо.

jentoso 12-07-2014 21:50 2375837

Shift85, процитирую FAQ из шапки:
Цитата:

Нельзя. Модули с данной поддержкой официально недоступны. Пока, пользуясь своей "властью", я даю такие модули только тем, кто мне помогает/прикладывает какие-то усилия в развитии самого модуля, справки к нему и сопутствующих файло

Den30lv 12-07-2014 22:58 2375859

Shift85,
А я процитирую мануал:
А запаролить архив очень просто...

бУРов 17-08-2014 10:44 2390310

Я сейчас тренируюсь в создании sfx exe. Сделал его с простым config.txt, котррый взял из справки
(только удалил последнюю строчку с запуском Setup.exe - RunProgram="setup.exe"):
Цитата:

;!@Install@!UTF-8!
Title="7-Zip 4.00"
BeginPrompt="Do you want to install the 7-Zip 4.00?"
;!@InstallEnd@!
Получился такой пустой sfx exe. Теперь после его запуска, когда нажму "Да", то показывается окно "Файл "Setup.exe" не найден.
Это зашито по умолчанию? Ведь строчку запуска я удалил.

gora 17-08-2014 10:48 2390312

Цитата:

Цитата бУРов
Это зашито по умолчанию? »

Да, и это описано в справке.

бУРов 17-08-2014 13:56 2390374

Сейчас у меня на руках несколько sfx-модулей.
Вот эти я взял из архива "7zsd_tools_160_2712.exe"
Цитата:

- 7ZSD_All.sfx
- 7ZSD_Deflate.sfx
- 7ZSD_LZMA.sfx
- 7ZSD_LZMA2.sfx
- 7ZSD_LZMA_Dialogs.sfx
- 7ZSD_PPMd.sfx
Из всего этого многообразия я использую "7ZSD_All.sfx".
Это правильно?

Den30lv 17-08-2014 14:45 2390389

Цитата:

Цитата бУРов
Из всего этого многообразия я использую "7ZSD_All.sfx". »

Пожалуй, это лучший выбор, т.к. на 7ZSD_LZMA2.sfx ругаются многие антивирусы.

gora 18-08-2014 13:32 2390728

Цитата:

Цитата Den30lv
на 7ZSD_LZMA2.sfx ругаются многие антивирусы. »

Это требует доказательств! Приведите их, пожалуйста.
https://www.virustotal.com/ru/file/5...is/1408353737/


Цитата:

Цитата бУРов
Из всего этого многообразия я использую "7ZSD_All.sfx".
Это правильно? »

Конечно нет! :)
Зачем Вам 7ZSD_All.sfx, если Вы используете метод LZMA2 или LZMA? Для увеличения размера SFX (пусть и незначительного)? А часто ли Вы вообще используете иные методы сжатия? Тогда уж свой выбор целесообразнее остановить на 7ZSD_LZMA2.sfx ибо он поддерживает как LZMA2, так и LZMA.

Den30lv 18-08-2014 16:19 2390820

Цитата:

Цитата gora
Это требует доказательств! Приведите их, пожалуйста. »

Да, судя по всему ситуация изменилась.

бУРов 21-08-2014 19:45 2392404

Цитата:

Цитата бУРов
"Файл "Setup.exe" не найден.
Это зашито по умолчанию? »

Цитата:

Цитата gora
Да, и это описано в справке. »

Мне нужно создать инсталл, который создает ярлыки и добавляет твики реестра.
А этот диалог не нужный.

gora 21-08-2014 20:20 2392419

бУРов, добавьте любую холостую команду запуска:
Код:

RunProgram="hidcon:cmd /c Echo"

бУРов 22-08-2014 07:40 2392563

Можно ли задать для ярлыка сочетание клавиш?
Значит, только самому подготовить.
А потом скопировать?

бУРов 23-08-2014 19:04 2393148

Подскажите, в теме упоминаются inf-файлы в констексте деинсталляции.
Это правильно я понимаю, что inf-файл для удалятора нужен?
И где почитать, как его использовать вместе с 7z SFX-ом?

liben 23-08-2014 21:20 2393195

бУРов, руководство по работе с INF файлами

Amigos 23-08-2014 21:22 2393197

Цитата:

Цитата бУРов
Значит, только самому подготовить.
А потом скопировать? »

только хоткеи из таких "скопированных ярлыков" заработают только после перезагрузки

Iska 23-08-2014 21:50 2393209

Ярлыки лучше вообще не копировать, а создавать «на месте».

Wu-Tang 02-10-2014 01:13 2409742

залейте пак 1,6, а то с сайта не качается

Ж.Д.А.Л.К.Е.Р. 02-10-2014 10:12 2409815

Wu-Tang, 7zsd v1.6.0 Build 2712 Develop

Wu-Tang 02-10-2014 17:18 2410078

Ж.Д.А.Л.К.Е.Р.,
спасибо

АВаТар 06-11-2014 09:59 2425356

Опишу своё маленькое открытие. Возможно, кто-то это всё знает, и где-то это описано, но я обнаружил его почти самостоятельно.

Дело касается запуска командного файла из своего установщика с правами Администратора под Windows 8 (8.1) с включенным UAC. И в некоторых особых случаях, в этом была замечена Windows 7 (не разобрался, от чего это зависит).

Была обнаружена проблема: командный файл не получает админских прав, если в конфигурационном файле запуск прописан так:
Код:

MiscFlags="4"
RunProgram="%%P:%%T\\Test.cmd Param"

И он же получает админские права, если запуск прописан так:
Код:

MiscFlags="4"
RunProgram="%%P:cmd /c %%T\\Test.cmd Param"

Во всех случаях SFX-установщик запускается "от имени Администратора".

ya158 26-11-2014 11:04 2435742

Создаю конфигурационный файл с MiscFlags="4".
Запускаю установщик на Windows 8.1 с включенным UAC. Выскакивает диалог с сообщением BeginPrompt. Но это диалог появляется не поверх всех окон, открытых до этого, а, наооборот, под всеми окнами. Кто-нибудь сталкивался с подобным поведением?

regist 29-11-2014 23:04 2437447

В связи с тем, что выложили исходные коды версии 7-zip 9.34 Alpha надо ли ждать обновления модулей?

SergeyZV 07-12-2014 20:29 2440907

Вышла версия 7-zip 9.35 Beta. Скачав с сайта lzma935.7z обнаружил в нем микроскопический модуль 7zS2.sfx. Очень хотелось бы, что бы был создан модифицированный модуль на его основе.

frankiesimon 31-01-2015 01:56 2464119

Hi and apologies for using English on the board. (You can of course answer in Russian - appreciate it!)

My archive is a directory with files (MyDir), and the executable I want to run is inside it (MyProg.exe).

This is the basic configure file:
;!@Install@!UTF-8!
RunProgram="\"MyDir\\MyProg.exe\""
GUIMode="1"
;!@InstallEnd@!

The problem is that my .exe has dependencies and has to be run from its own folder, or these dependencies fail. (It loads plugins which are expected in the current dir, but can't find them because the current running folder is the dir containing MyDir).

My first idea was to use Directory but docs say:
"
Directory: Путь к папке команды исполнения 'RunProgram' (не путать с текущей папкой).
RunProgram="notepad.exe"
Directory="C:\\Windows\\system32\\"
равнозначны
RunProgram="C:\\Windows\\system32\\notepad.exe"
"
- so it's actually not helping me to define the "current directory".

My other solution was to change the RunProgram parameter to run a batch file: RunProgram="\"MyDir\\run.bat\"" and have this inside it:
"
cd MyDir
MyProg.exe
exit
"
The program runs, but I get a console window. If I use hidcon - there is no console window but also no program window for MyProg.exe.

Any other way to solve this?

spectat0r 31-01-2015 02:26 2464124

;!@Install@!UTF-8!
GUIMode="1"
RunProgram="hidcon:cmd.exe /c start /b /d MyDir MyDir\MyProg.exe"
;!@InstallEnd@!

frankiesimon 31-01-2015 18:45 2464349

Hi spectat0r, thank you for your suggestion. You led me to the right solution.

What I eventually did:
RunProgram="hidcon:\"MyDir\\run.bat\""

and in run.bat:
start /w /d "MyDir" MyProg.exe
exit

When I tried your suggestion of cmd.exe /c (closing the console immediately) then not all of the files in my archive were extracted! To confirm - as soon as I got the message box error about the missing .dlls I went to the Temp folder and saw what is in the archive. If I did /c then some of my .dlls are not there. I then tried cmd /k - and all files were there.

I don't know why this happens - but looks like the .bat file option (running in a hidden window, opening a new window for the program I actually want to see) works ok for me.

spectat0r 31-01-2015 19:27 2464371

Цитата:

Цитата frankiesimon
When I tried your suggestion of cmd.exe /c (closing the console immediately) then not all of the files in my archive were extracted! »

Сначала происходит полное извлечение архива, а затем выполняется файл конфигурации.
Если нужно ждать завершения работы MyProg.exe:
RunProgram="hidcon:start /w /d \"MyDir\" \"MyDir\\MyProg.exe\""
RunProgram="waitall:hidcon:start /w /d \"MyDir\" \"MyDir\\MyProg.exe\""
В данном случае run.bat не нужен.

gora 31-01-2015 19:36 2464375

frankiesimon, spectat0r, для обсуждения файлов конфигурации есть специальная ветка.
Цитата:

Цитата spectat0r
RunProgram="hidcon:start /w /d MyDir MyDir\MyProg.exe" »

spectat0r, ваш вариант работать не будет. Команда start будет выполняться только в пределах cmd.exe

frankiesimon 31-01-2015 20:12 2464399

Thanks gora - I didn't see there's a separate thread for it. Maybe this should be added to the "sticky" first post on the top of the page.

I didn't understand from your correction to spectat0r - what would be the correct way to call my executable.

I still have a problem with my .bat file, because inside it I'm calling a path with "ü" characters:
Код:

start /w /d "DirnameWithü" MyProg.exe
and this fails. So if possible I'd like to have a correct "RunProgram" line and avoid using the .bat file at all.

Should I re-ask this question in the configuration file thread? (Post my full "requirements" in that thread?)

gora 31-01-2015 20:23 2464405

Цитата:

Цитата frankiesimon
Should I re-ask this question in the configuration file thread? »

Да. И приведите Ваш полный файл конфигурации с реальными путями и именами папок и файлов в тегах [code].

Petya V4sechkin 31-01-2015 20:25 2464406

Цитата:

Цитата frankiesimon
Maybe this should be added to the "sticky" first post on the top of the page

Добавил.

ya158 07-02-2015 23:12 2468087

Сделал Конструктор инсталляторов на основе модифицированного SFX модуля 7-Zip'а. Прошу, уважаемое комьюнити, протестировать и высказать свое мнение.

yurecnew 27-02-2015 09:41 2476509

модуль 7zsd_deflate не распознаёт архив если в нём больше 1 файла

Ж.Д.А.Л.К.Е.Р. 10-03-2015 13:56 2480942

Небольшая заметка, может кому будет полезной.

7zsdrc.exe (25 Кб) - консольная утилита от Oleg_Sch для чтения/изменения ресурсов модифицированного модуля.

Цитата:

USAGE: 7zsdrc sfxfilename [switches]
Switches:
-a: Use ANSI encoding (default)
-o: Use OEM encoding
-fv "a.b.c.d": change file version
-pv "a.b.c.d": change product version
-vs "name=value"
-vi "filename": save version info to file
-i "icon_filename[,index]": change icon from icon_filename
-if "WxHxD": use icon format
-si "filename": save icon to .ico file
-sh: Shrink resource section
-sh1: Shrink resource section to actual data size
-f "filename": use command line from file 'filename'
-rsi: Resource section info
Примеры:
Код:

Экспорт свойств файла setup.exe в setup.res.
7zsdrc.exe setup.exe -vi setup.res

Применение команд записанных в file.res к файлу 7zsd_LZMA2.sfx.
7zsdrc.exe 7zsd_LZMA2.sfx -f file.res

Замена иконки модуля 7zsd_LZMA2.sfx иконкой из файла iconfile.ico.
7zsdrc.exe 7zsd_LZMA2.sfx -i iconfile.ico

Примечание:
Столкнулся с тем что некоторые ехе не используют всех полей в свойствах файла. Поэтому при экспорте свойств в файл пишутся пустышки, а когда применяем этот файл ресурсов на модифицированный модуль - возникают пустые поля. Решить эту проблему можно так:
Код:

7zsdrc.exe setup.exe -si iconfile.ico -vi setup.res
>setup-cut.res FindStr /v "="" setup.res
Move /y setup-cut.res setup.res >Nul
7zsdrc.exe 7zsd_LZMA2.sfx -i iconfile.ico -f setup.res

Команда FindStr отсекает пустышки, а модифицированный модуль (в примере 7zsd_LZMA2.sfx) должен быть без полей свойств (иначе не перезаписанные поля останутся и будет каша из копирайтов).

pokkk 10-03-2015 20:09 2481086

7-Zip SFX https://yadi.sk/d/Al8x7jwRf9uhT
Sfx-Модуль для самораспаковуюшихся архивов 7z.
Вот как выглядит эта установка так и будут выглядеть твои архивы!

Инструкция. Заходим в папку SFX - BIG.
И там видим файлы:

1.7z
Архив (замените его на свой архив, обязательно 7z архив с методом сжатия LZMA )

C.txt
Текст с конфигурацией. Если нужно настройте под себя.
Как настраивать найдёте инфу в файле 7zSD_RU.chm

1.sfx
Оболочка нашего инсталятора.
Если хотите, можете её изменить обычным редактором ресурсов exe.

!GO.cmd
Файл который сделает инсталлятор с вашего архива.
Все эти файлы должны быть в одной папке с соблюдением имён файлов.


pokkk 10-03-2015 20:09 2481087

ПС. Ничего нового. Я просто пропатчил 7zsd_LZMA_Dialogs.sfx

pokkk 10-03-2015 21:10 2481108

Вложений: 1
Ребята, кто мне может сделать sfx с диалогами для LZMA2 ?
gora, пишет
Цитата:

Можете сделать самостоятельно в редакторе ресурсов. Возьмите ресурсы из *_Dialogs.sfx и добавьте их в выбранный модуль. Все вопросы задавайте на форуме
Если может кто, то сделайте пожалуйста с этого sfx что я прикрепил.
У меня не получается. Пробовал в трех редакторах и не выходит.

pokkk 05-04-2015 20:20 2492103

Нужно что бы модифицированный модуль мог распаковывать архивы разделённые на части.. есть такое?

Victor_Man 14-04-2015 22:50 2495818

Ооопс!!!
А 7-Zip v15.0 создает архив несовместимый с модифицированным SFX :(
LZMA и LZMA2...

SergeyZV 15-04-2015 06:23 2495872

Цитата:

Цитата Victor_Man
А 7-Zip v15.0 создает архив несовместимый с модифицированным SFX »

Всё нормально создаётся, только с архивом LZMA нужно и такой же SFX модуль использовать и с LZMA2 соответственно.

Victor_Man 16-04-2015 14:05 2496586

Цитата SergeyZV:
Всё нормально создаётся, только с архивом LZMA нужно и такой же SFX модуль использовать и с LZMA2 соответственно. »
Не понял....в модифицированном модуле же свои SFX.
Если взять стандартные из v15.0, то и возможностей расширенных там не будет.

SergeyZV 16-04-2015 20:49 2496796

Цитата:

Цитата Victor_Man
Не понял....в модифицированном модуле же свои SFX. »

Модифицированные модули разные! Одни для архивов LZMA, другие для LZMA2. И вроде я не писал про стандартные.
Скачайте архив 7zsd_extra_160_2712.7z распакуйте и всё поймёте.

LonerD 16-04-2015 23:28 2496838

Цитата:

Цитата SergeyZV
Всё нормально создаётся »

Если создавать архивы через Кнопку - нормально. Если архивы создавать вручную с произвольными настройками архивирования - то не распаковываются.

Victor_Man 17-04-2015 22:30 2497292

Цитата SergeyZV:
Модифицированные модули разные! Одни для архивов LZMA, другие для LZMA2. И вроде я не писал про стандартные. »
Я все это прекрасно знаю и давно пользуюсь.
Но вот если создать архив .7z с помощью v.15.0 (например - задав сжатие LZMA) , а затем использовать его для создания самораспаковывающегося архива (.exe) с помощью модуля LZMA из комплекта, указанного Вами выше, то при запуске .exe получаем сообщение, что архив не может быть распакован. При создании .7z сразу видно, что с одним и тем же алгоритмом и сжатием v15.0 создает архив меньшего размера, чем v9.38. Собственно, отсюда и проблемы - что-то изменилось в алгоритме.

Цитата LonerD:
Если создавать архивы через Кнопку - нормально. Если архивы создавать вручную с произвольными настройками архивирования - то не распаковываются. »
А вот это интересно...про Кнопку знаю, но не пользовался...возможно, там как-то меняются недокументированные настройки...
Либо - Кнопка пользуется своими модулями?
=================================
Ну вот, поразбирался - дело еще хуже....
Такое происходит только с некоторыми наборами файлов!
С некоторыми - создаются одинаковые .7z и проблемы, соответственно, нет :(

gora 18-04-2015 04:38 2497349

Цитата:

Цитата Victor_Man
Ну вот, поразбирался - дело еще хуже....
Такое происходит только с некоторыми наборами файлов! »

Сколько раз говорено, чтоб не использовали параметры по умолчанию, а все прописывали принудительно в ком строке!? :dont-know
В версии 15 архиватор стал использовать по умолчанию delta фильтр для, например, wav файлов. Модуль этот фильтр не поддерживает, как результат ошибка:
Код:

7-Zip: Метод не поддерживается.

Victor_Man 18-04-2015 12:51 2497429

Цитата:

Цитата gora
В версии 15 архиватор стал использовать по умолчанию delta фильтр для, например, wav файлов. Модуль этот фильтр не поддерживает, как результат ошибка: »

Спасибо, теперь понятно.
Я пользовался обычной графической оболочкой, поэтому все по умолчанию...я думаю, так делают многие, кто не очень активно пользуется модифицированным модулем.
Цитата:

Цитата LonerD
Если создавать архивы через Кнопку - нормально. Если архивы создавать вручную с произвольными настройками архивирования - то не распаковываются. »

И это теперь понятно - Кнопка же работает через консольную версию...

regist 18-04-2015 14:43 2497465

Victor_Man, поскольку есть исходники новых версий 7-zip, то я надеюсь, что Oleg_Sch обновит свои модули.
А как следствие возможно добавит поддержку delta с чем как понимаю и связана ваша проблема.

SergeyZV 19-04-2015 14:41 2497858

Цитата:

Цитата regist
я надеюсь, что Oleg_Sch обновит свои модули »

А вот это маловероятно, хотя жаль!

Oleg_Sch 20-04-2015 05:17 2498164

Времени на долгие эксперименты нет, бросьте мне пару небольших не распаковывающихся архивов, попробую глянуть

Victor_Man 20-04-2015 19:57 2498419

Цитата Oleg_Sch:
Времени на долгие эксперименты нет, бросьте мне пару небольших не распаковывающихся архивов, попробую глянуть »
Отправил.

Я так понял, что в данном случае в v15.0 стала использоваться многопоточность в фильтрах, причем - по умолчанию.
Вот так проблема решается - отключается многопоточность (ставлю в параметрах графической оболочки):
mtf=off

Также можно вообще отключить фильтр:
f=off
Но тогда файл получается больше...

В общем, вопрос в новых ключах и их умолчаниях.

gora 20-04-2015 20:06 2498421

Цитата:

Цитата Victor_Man
в v15.0 стала использоваться многопоточность в фильтрах, причем - по умолчанию.
Вот так проблема решается - отключается многопоточность »

Так проблема не решается. Нужно использовать другой ключ, например: yx=0

Victor_Man 20-04-2015 22:32 2498469

Цитата:

Цитата gora
Нужно использовать другой ключ, например: yx=0 »

Красиво...Спасибо!

МИШАНЧИК 04-05-2015 06:24 2503495

Подскажите пожалуйста. Столкнулся с проблемой. В системе установлен 7z 9.38-x64, через кнопку в тотале создаю sfx-архивы нормально, но разбирать назад их не хочет. С 7z 9.34-x64 такая же проблема, с 9.20 - все нормально. Можно ли как-то решить с 9.38?

pokkk 10-05-2015 22:57 2505899

Цитата:

Цитата gora
Так проблема не решается. Нужно использовать другой ключ, например: yx=0 »

У меня такая же проблемма. НЕ понимаю что делать с этим параметром yx=0.
Куда его? делаю в ручную с помошью командной строки COPY /b 1.sfx + config.txt + 1.7z gotov.exe

sov44 11-05-2015 09:44 2505959

Цитата:

Цитата pokkk
НЕ понимаю что делать с этим параметром yx=0. »

это параметр ключа -m для создания 7z в v15.0
-myx=0

pokkk 11-05-2015 11:33 2505989

sov44,
Цитата:

Цитата pokkk
Не понимаю что делать с этим параметром yx=0.
Куда его? »

В батник который создаёт 7z sfx инсталлятор, или в файл конфигурации? методом тыка не получается :search:

sov44 11-05-2015 12:04 2505999

pokkk, ключ добавляется в командную строку создания 7z
Код:

"c:\Program Files\7-Zip\7z.exe" a -myx=0 -m0=LZMA2  "имя архива.7z" "путь\файлы для паковки"
подробнее в справке ;)

pokkk 11-05-2015 13:05 2506013

Вложений: 1
sov44, ааа, это еще теперь создавать сам архив в командной строке :o
Нет, это не для меня. Установил 7z 9.38 в другую папку и для sfx архивов буду использовать его.

Но ради любопытства сделал таким методом архивы lzma и lzma2, всё работает.

П.С. прилепливаю архив с файлами которые выдают ошибку в новом архиваторе

Oleg_Sch 11-05-2015 14:37 2506039

Потерпите пару дней, уже почти готов новый модуль. Сейчас он у "подопытного кролика"в лице gora
Если он замечаний мне не сделает, то будет вам и дельта и многотомность.

pokkk 11-05-2015 19:34 2506122

Oleg_Sch, Огромная просьба для lzma2 добавить диалоги :)
Сжимает лучше, а диалогов нет :yes:

pokkk 11-05-2015 21:45 2506160

и самый главный недостаток sfx в том что он не может распаковывать архив который больше чем оперативки на пк.

Oleg_Sch 12-05-2015 10:26 2506302

Цитата:

Цитата pokkk
и самый главный недостаток sfx в том что он не может распаковывать архив который больше чем оперативки на пк. »

Неправда Ваша. У меня на машинке всего 4Гб, но это не мешает мне распаковывать 10-15Гб архивы. Вот минималистическая версия модуля от Игоря имеет такой недостаток.

Цитата:

Цитата pokkk
Огромная просьба для lzma2 добавить диалоги »

Где двумя-тремя страницами ранее подробно расписали, как это сделать с любой версией модуля. Т.е. вытащить ресурсы из одного и запихнуть в другой.
См. http://forum.oszone.net/post-2480942-1555.html

Oleg_Sch 12-05-2015 13:05 2506359

Как обещалось: 1.6.0.3574
Цитата:

1.6 develop (сборка 3574) 11.05.15
* При предупреждениях иконка в панели задач имеет желтый фон
+ Поддержка многотомности включена по умолчанию
+ Поддержка дельта-фильтра включена по умолчанию в модулях LZMA, LZMA2, LZMA_Dialogs и All

1.6 develop (сборка 3564) 01.05.15
# Использован исходный код 7-Zip версии 9.38 beta от 3 января 2015 г.
# Некоторые изменения, связанные с новыми исходниками 7-Zip
* Исправлена обработка исключения 0x0EEDFADE из автоматически загружаемых Delphi DLL
Если замечаний не будет, через пару-тройку дней обновлю шапку. Насчет сайта обещать пока не буду, тут если только gora поможет ;)

Oleg_Sch 12-05-2015 13:26 2506372

pokkk, gora меня поправляет, что я не прав, 7zsdrc.exe не сохраняет диалоги. Сам писАл её довольно давно, уже не помню всего функционала. Тогда остаются редакторы ресурсов а-ля ResourceHacker. Общий принцип - экспортируем ресурсы из 7zsd_Dialogs, потом импортируем в нужный модуль.
В любом случае, встраивать диалоги в модули я не буду, не вижу смысла, они первоначально задумывались как "для тех кто хочет большего и не боится поработать".
7zsd_Dialogs только пример, дальше "обработать напильником"

pokkk 12-05-2015 17:23 2506468

Цитата:

Цитата Oleg_Sch
Неправда Ваша. У меня на машинке всего 4Гб, но это не мешает мне распаковывать 10-15Гб архивы. »

Я пользуюсь модулем lzma с диалогами. И вот на днях пришлось делать 4.5gb архив. При распаковке выдало ошибку (уже не помню какую, вроде "недостаточно памяти") Пришлось воспользоваться архиватором HaoZip, там 7z sfx модуль норм справился.
Цитата:

Цитата Oleg_Sch
Как обещалось: 1.6.0.3574 »

Огромное спасибо, сейчас отдохну после работы и протестирую :)

pokkk 12-05-2015 19:22 2506503

Вложений: 1
Напряг пару отмерших извилин и скопировал таки диалоги для lzma2.
Держите кому нужно.

pokkk 12-05-2015 22:11 2506586

Цитата:

Цитата pokkk
и самый главный недостаток sfx в том что он не может распаковывать архив который больше чем оперативки на пк. »

Цитата:

Цитата Oleg_Sch
Неправда Ваша. »

Проверил на и на lzma2.
Модули выбрал правильные. Сделал sfx,

и вот что пишет

Если создать архив с теми же параметрами и конфигурацией, но архив меньше чем 4gb то всё нормально.
Я думаю 4gb лимит, из-за того что у меня оперативка 4gb.

П.С. скрины свежие. тест делал на новом архиваторе и новых модулях с диалогами.

Блин. что не так. по чему у вас работает, а у меня нет :sorry:

Oleg_Sch 13-05-2015 01:11 2506676

pokkk, немного не так :)
4Гб - лимит Windows на размер исполняемого файла. Если не ошибаюсь, от разрядности не зависит. Просто Windows с её 4Гб адресным пространством (на самом деле даже меньше) не может запустить файл. Многотомность Вам поможет. Или любым архиватором, который поддерживает данный метод сжатия

Victor_Man 13-05-2015 11:26 2506809

Что-то не могу понять, как определить, откуда был вызван модуль SFX (имеется в виду средствами SFX-модуля, а не другими методами).
Параметра такого я что-то не нашел...может, я чего не понимаю и есть другие способы?
Пример:
SFX модуль здесь C:\333\ProgramsSFX.exe (вызывает Programs.exe с передачей параметра)
Я нахожусь в D:\111\, там есть файл 222.txt
Набираю C:\333\ProgramsSFX.exe 222.txt - файл программой Programs.exe не находится ("файл 222.txt не найден").
Если вызвать C:\333\Programs.exe 222.txt - то никаких проблем.

gora 13-05-2015 11:41 2506818

Цитата:

Цитата Victor_Man
как определить, откуда был вызван модуль SFX »

Откуда запущен или где находится при запуске? Это разные вещи.
Месторасположение SFX можно определит по переменной
Цитата:

%%S - полный путь к файлу SFX архива
Ваш пример мне ни чего не разъяснил. Я так и не понял что за файл Programs.exe и как он запускается. И вообще не понятно почему SFX находится в одной папке, txt файл в другой, а в качестве параметра передается только имя txt файла без пути его расположения. Ну да ладно, сами разберетесь.

Victor_Man 13-05-2015 14:36 2506896

Цитата gora:
Ваш пример мне ни чего не разъяснил. Я так и не понял что за файл Programs.exe и как он запускается. Откуда запущен или где находится при запуске? И вообще не понятно почему SFX находится в одной папке, txt файл в другой, а в качестве параметра передается только имя txt файла без пути его расположения. Ну да ладно, сами разберетесь. »
Хм...а мне казалось, что довольно понятно все.

Конечно, откуда запущен т.е. где находится программа, обратившаяся к SFX.
TXT - обычный файл, с которым может работать программа Programs.exe и открывать его из командной строки.
Хочется, чтобы ProgramsSFX.exe могла передать ссылку на этот файл в Programs.exe и чтобы он открылся в ней.

Короче - вот пример с NotepadSFX.exe:
http://www26.zippyshare.com/v/ZEOcWYKD/file.html
;!@Install@!UTF-8!
InstallPath="%TEMP%\\Notepad_Start"
GUIMode="2"
OverwriteMode="10"
RunProgram="%%T\\notepad.exe"
Delete="%%T"
;!@InstallEnd@!

В 111\ два командных файла, запускаем...
1_SRC.cmd - Notepad отрывает файл 111\222.txt
2_SFX.cmd - Notepad отрывает файл %InstallPath%\222.txt (а хотелось, чтобы открылся 111\222.txt)
В командной строке в RunProgram передается только имя файла, поэтому открывается файл %InstallPath%\222.txt
Для примера есть 111\3_SFX_dp.CMD - как можно решить вопрос через .cmd, но хотелось, чтобы это было решено в SFX.
Вот так, как решено в варианте с лаунчером 111\4_SFX_launcher.CMD
Исходный текст лаунчера (FASM) прилагается.

pokkk 13-05-2015 16:55 2506956

Цитата:

Цитата Oleg_Sch
Если не ошибаюсь, от разрядности не зависит. Просто Windows с её 4Гб адресным пространством (на самом деле даже меньше) не может запустить файл. »

У меня win 8.1 x64.
Пробовал даже модуль 7zsd_LZMA_Dialogs_x64.sfx, такая же беда.

И архиватор haozip создаёт рабочие 7z sfx архивы с lzma и lzma весом больше 4gb. :)
Цитата:

Цитата Oleg_Sch
Многотомность Вам поможет. »

тоже вариант, только ума не приложу как прикрутить туда sfx с диалогами.

Valerkan 14-05-2015 00:24 2507094

Цитата:

Цитата pokkk
Напряг пару отмерших извилин и скопировал таки диалоги для lzma2.
Держите кому нужно. »

Нужно. A 7zsd_LZMA2_Dialogs_x64.sfx можете сделать? У меня не получается.

pokkk 14-05-2015 11:03 2507189

Вложений: 2
Valerkan, Держите. Прикрепил в архиве оба модуля Lzma2.
И сделал пару скриншотов как я делал.

И вопросик, архивы sfx Lzma2 x64 только для 64 битных систем? на х86 не будут работать?

gora 14-05-2015 12:03 2507214

Цитата:

Цитата pokkk
архиватор haozip создаёт рабочие 7z sfx архивы с lzma и lzma весом больше 4gb »

Ваше утверждение у меня вызывает сомнение.
1 Пришлось установить haozip и перепроверить его (Ваше утверждение). Полученный в haozip SFX размером более 4Гб отказался запускаться.
2 Создание SFX размером более 4Гб в WinRAR заканчивается сообщением
Цитата:

G:\ImgDsk.exe: Слишком большой SFX-архив. Windows не может запускать исполняемые файлы размером более 4 ГБ.
Если Вы будете продолжать настаивать на Вашем утверждении, то попрошу представить доказательства в виде ссылки на Ваш "рабочий" SFX размером более 4ГБ.

pokkk 14-05-2015 16:34 2507287

gora,Я извиняюсь :sorry:
Я забыл что разбил архив на части.


В памяти засело что всё таки создал большой sfx и написал ерунду.
Долго мучился что бы создать именно под 7z, так как занимает меньше веса на выходе.

Valerkan 15-05-2015 03:48 2507521

Цитата:

Цитата pokkk
И вопросик, архивы sfx Lzma2 x64 только для 64 битных систем? на х86 не будут работать? »

Да, архивы с модулем x64 запускаются только на 64 битных системах, на х86 не работают.
Архивы с модулем x86 работают и на х86 и на 64 битных системах.

AlexM22204 17-05-2015 19:23 2508444

Цитата:

Цитата Oleg_Sch
Как обещалось: 1.6.0.3574 »

Может и глупый вопрос, а как скачать? :(

gora 17-05-2015 19:37 2508450

Цитата:

Цитата AlexM22204
а как скачать? »

Перейдите по ссылке, а там кликните по надписи 7zsd_160_3574.7z

regist 30-05-2015 10:40 2513020

Цитата:

Если замечаний не будет, через пару-тройку дней обновлю шапку.
замечаний вроде не было, может пора обновить?
+
Цитата:

Цитата Oleg_Sch
Версия 1.6.0 Develop, сборка 2712 (30 декабря 2012 г.) »

эта версия уже довольно долго испытывалась и вроде к ней замечаний тоже нет. Может стоит её перевести в категорию Stable? :)

zema-x 07-07-2015 19:24 2526694

привет подскадите можно ли прописать в диалоге 7zsd_LZMA_Dialogs.sfx звуки на кнопки ?

Fakir183 17-09-2015 22:31 2554544

не открывается 1.6.0.3574
502 Bad Gateway
nginx/1.4.2

Victor_Man 19-09-2015 12:34 2555108

Fakir183,
Действительно, остался только билд 2797....
Вот ссылка на 3 месяца:
http://rghost.ru/7FT7Tvwqx

RedLiner_101 27-09-2015 22:28 2558358

Всем привет, подскажите пожалуйста, а можно сделать так чтобы при распаковке самораспаковывающегося SFX архива созданного через 7-Zip,
окно распаковки было на русском, чтобы вместо Extract было Извлечь или Распаковать?

Den30lv 28-09-2015 08:32 2558427

RedLiner_101,
Ну наверное установить русскую версию архиватора.
Либо читать сюда.

RedLiner_101 28-09-2015 13:04 2558504

Я и ставил русскую. Скажу что всё на русском кроме того окна когда распаковываешь SFX архив
созданный через 7-zip :) спасибо за ссылку конечно но я там ничего не понял))

Den30lv 28-09-2015 14:42 2558542

Ну а распаковываете тоже на русской системе? Просто такого быть не должно.
Касаемо ссылки, я имел в виду пункт про "Языковые секции" в файле конфигурации.

RedLiner_101 28-09-2015 14:46 2558545

Распаковываю тоже на русской. А у вас всё на русском ? то есть при распаковке SFX архива вместо Extract написано Извлечь или Распаковать ?

Еще мне это написали на руборде...

Родные SFX модули в 7-Zip только английские и других не бывает, какой бы Вы язык интерфейса не выбирали в самом архиваторе.
Хотите русские модули? Есть два пути:
1 Самостоятельно пропатчить оригинальные SFX модули нужными русскими текстами и в дальнейшем использовать их.
2 Использовать модифицированные модули которые имеют встроенные два языка рус\анг.

gora 28-09-2015 14:52 2558551

Цитата:

Цитата RedLiner_101
при распаковке самораспаковывающегося SFX архива созданного через 7-Zip »

RedLiner_101, не вводите людей в заблуждение и не пишите в ветке модифицированных модулей, ибо Вы их не используете!
Из интерфейса 7-Zip нельзя создать SFX архив с модифицированным модулем.

Den30lv 28-09-2015 19:13 2558639

Цитата:

Цитата RedLiner_101
А у вас всё на русском ? то есть при распаковке SFX архива вместо Extract написано Извлечь или Распаковать ? »

Ну как в файле конфигурации напишу, так и будет.

Dmitry_K 13-10-2015 02:02 2563207

Нашел некритичный баг (версия 1.6.0 Develop, сборка 2712):
Архив SFX запаролен. MiscFlags="8".
Если в диалоге ввода пароля нажать на кнопку 'Отмена' (соответственно после нажатия на кнопку 'ДА' в совмещенном 'BeginPrompt' + 'ExtractPath'), он (диалог ввода пароля) выводится еще раз, т.е. в итоге дважды.

Часть конфига:
Код:

Title="%Name% installer"
BeginPrompt="Установить %Name%?"
InstallPath="%ProgramFiles%\\Antivir_Removal"
ExtractTitle="%Name% installer"
ExtractDialogText="Подготовка к установке..."
ExtractPathText="Пожалуйста, укажите папку установки программы:"
PasswordTitle="Файл зашифрован"
RunProgram="explorer.exe \"%%T\""
AutoInstall="explorer.exe \"%%T\""
GUIFlags="2+4+8+16+32+64+2048"
MiscFlags="8"


бУРов 20-10-2015 23:51 2566366

Я так понял, что используя данный SFX-модуль можно создать простой инсталляционный пакет.
Скажите, а как создать его вместе с деинсталляциооной процедурой?

Ж.Д.А.Л.К.Е.Р. 21-10-2015 00:49 2566380

бУРов, Смотри как здесь сделали или этот вариант.

Leon3721 21-10-2015 14:47 2566571

Цитата:

Цитата gora
Универсальный загрузчик для многотомных 7z SFX архивов. Создан на базе модифицированного модуля (версия 1.4 alpha сборка 1501) от 7 сентября 2009 г и автономного архиватора 7za.exe (версия 9.07 beta). »

Мне очень понравилась сама идея такого распаковщика. Решил опробывать. Некоторые мелочи не понравились. Решил покапаться в SFXе. Долго вникал в конфиг (т.к. с нуля знаний).
Теперь предлагаю свою модифицированную версию этого замечательного продукта.
Файл 130215
Что изменил:
- Поменял режимы распаковки (с удалением или не удалением исходного архива). Теперь чтоб многотомник удалился по завершению распаковки нужно зажать shift и нажать на ок.
- Поменял название основного файла распаковщика. Теперь название нужно писать не Loader.7z.000.exe(название.7z.000.exe), а Loader.7z.exe(название.7z.exe) (хотелось немного уменьшить кол-во ненужных символов).
- Заменил SFX-модуль и автономный архиватор на версию 15.09 бета.
- Добавил GUI-модуль с окном распаковки самого многотомника (раньше всё происходило скрыто). Теперь для распаковки используется не 7za.exe, а компоненты архиватора 7zip. (7zG.exe, 7z.dll)
- Подпилил GUI-модуль под более скромный. (выкинул ресурсы не задействованные в процессе распаковки и отредактировал основное окно).
- GUI-модуль возможно легко перевести на свой язык. Для этого добавлена папка "Lang" в сам распаковщик. Проделать всё это можно 7zip-ом, а папка с переводами языков лежит в том же 7zip архиваторе.

Прошу автора "Gora" одобрить или не одобрить и послать в нужном направлении указав, что я не правильно сделал. Посетителей форума прошу задавать вопросы и описывать баги данного мода программы.

Вся история моих модификаций тут, если кому интересно.
Ps: отдельное спасибо авторам программ Игорю Павлову (7zip) и "Gora" (Loader.7z.000.exe) за их труды. Сам бы до последней не допёр никогда :)

gora 21-10-2015 15:40 2566595

Цитата:

Цитата Leon3721
Решил покапаться в SFXе. Долго вникал в конфиг (т.к. с нуля знаний). »

Это похвально.
Цитата:

Цитата Leon3721
Прошу ... послать в нужном направлении указав, что я не правильно сделал. »

1 Не используйте UPX для сжатия по двум причинам:
- проигрываете в конечном размере SFX
- возможны ложные срабатывания антивирусов
2 Не модифицируйте оригинальные файлы архиватора без нужды (выкинул ресурсы не задействованные в процессе распаковки )
3 Последние версии модуля (1.6 develop (сборка 3574) 11.05.15) поддерживают многотомные SFX и изобретать велосипед более не требуется

Leon3721 22-10-2015 17:13 2567035

Цитата:

Цитата gora
3 Последние версии модуля (1.6 develop (сборка 3574) 11.05.15) поддерживают многотомные SFX и изобретать велосипед более не требуется »

1. Подскажите, а есть ли мануал или справка какая по прикручиванию SFX-а из этой сборки к многотомнику. Раньше SFX прикручивался с конфигом к единому архиву, а теперь к "первая часть архива.7z.001" ?

2. Есть ли какие модули для 7z, которые лежат отдельно от самого архива (не важно с клеиным конфигом к SFX или отдельным) ? К примеру запускаю файл.exe, а он по конфигу распаковывает файл.7z (лежащий в той же папке) или файл.7z.001 + файл.7z002 + ...

3. Думаю врятли кто поделиться, но может есть у кого на вооружении способ запароленный архив
соединить с SFX-ом и конфигом, чтоб при распаковке конечного файла (exe = SFX + config + пароленный архив) не спрашивалось пароля, ну и естественно распаковка проходила успешно.
Я пользуюсь более трудоёмким способом: собираю запароленный архив, добавляю SFX и конфиг, полученный exe-шник в архив и к нему же SFX+config. В результате при запуске последнего файла извлекается второй во временную папку, от первого передаётся команда на запуск + пароль и запускается без вопросов второй файл. Хотелось бы упростить это до одного файла. Пользуюсь модифицированными модулями.

Кстати про Loader.7z.000.exe если с ним покопаться, то можно распаковывать не только многотомники, но и простые 7z, запароленные 7z с запросом пароля или без него (пароль в конфиге)... а еще думаю (но пока не проверял) архивы всех расширений поддерживаемых 7zip-ом. Минус этой программки в её многокомпанентности. Грубо говоря Loader.7z.000.exe это упакованный портабельный 7zip, усконаправленный на одну функцию (распаковка многотомных 7z). Так ведь ? Если да, то это моё решение (хоть и громоздкое) 2-го и частично 3-го вопроса.

gora 22-10-2015 17:55 2567045

Цитата:

Цитата Leon3721
есть ли мануал или справка какая по прикручиванию SFX-а из этой сборки к многотомнику »

В справке по модулям см. параметр VolumeNameStyle
Цитата:

Раньше SFX прикручивался с конфигом к единому архиву, а теперь к "первая часть архива.7z.001" ?
Да
Цитата:

Цитата Leon3721
2. Есть ли какие модули для 7z, которые лежат отдельно от самого архива (не важно с клеиным конфигом к SFX или отдельным) ? »

Любой модуль распаковывает только "внутренний" архив SFX. Любые "внешние" архивы (одиночные или многотомные) лежащие рядом или не рядом модуль распаковать не сможет и нужно будет использовать архиватор.
Цитата:

Цитата Leon3721
кто поделиться »

Поделиться может только автор, его ответ в шапке (FAQ)

Leon3721 23-10-2015 12:26 2567313

Спасибо Gora, очень помог.

Побуду попрошайкой :) на последок ещё спрошу один вопрос.
Делал недавно с помощью 7z модулей распаковщик с запуском.
Сделал две версии.

Первая версия:

Внешний архив при запуске в BeginPrompt спрашивает выбрать версию (два варианта - через ОК и Shift+ОК), выбираем - извлекается 4 файла и в зависимости от выбора запускается файл 1-й или 2-й файл.

Внешний архив с sfx - конфигурация:

;!@Install@!UTF-8!
Title="Программка"
BeginPrompt=" Для продолжения:

• Нажмите [Да] \t\t\t\t- для для запуска установщика версии 1.

• Зажмите [Shift] и нажмите [Да] \t- для для запуска установщика версии 2.
"
GUIMode="1"
GUIFlags="2+4+8+16+256"
RunProgram="%%T\\v1.exe"
AutoInstall="%%T\\v2.exe"
;!@InstallEnd@!


Понятное дело файлы 1 и 2 идентичны кроме версии в коментариях.
Они при запуске просят выбрать вариант - портабельный запуск (из временной папки) или распаковка с созданием ярлыков.
При портативном запуске сообщается пароль 3 или 4 файлу и запускается 3 или 4 файл
При установке выводит окно выбора пути далее после выбора сообщается пароль + пусть установки в 3 или 4 файлы (от 1-го к 3-му файлу или от 2-го к 4-му файлу).

Конфигурация файлов 1 и 2

;!@Install@!UTF-8!
InstallPath="%ProgramFiles%\\Программа"
Title="Программа"
BeginPrompt="Программа версия Х.Х

Для продолжения:
• Нажмите [Да] для установки.
• Зажмите [Shift] и нажмите [Да] для запуска.
\t(Портативный вариант)
"
ExtractPathText="Выберите папку для установки:"
GUIFlags="2+4+8+16+128+256"
ExtractPathTitle="Куда установить ?"
ExtractTitle="Установка"
ErrorTitle="Ошибка !"
WarningTitle="Внимание !"
PasswordTitle="Внимание !"
PasswordText="Введите пароль к установщику:"
ExtractCancelText="Вы не хотите устанавливать Программа ?"
RunProgram="%%S\\Прога_Версия.exe -pПаролище -ai1 -InstallPath=\"%%T\""
AutoInstall="%%S\\Прога_Версия.exe -pПаролище"
;!@InstallEnd@!


Третий и четвертый файлы запаролены и настроены на извлечение во временную папку по-умолчанию и на AutoInstallX (-ai1)

Конфигурация файлов 3 и 4

;!@Install@!UTF-8!
InstallPath="%TEMP%\\Программа"
ExtractDialogText="Распаковываем ресурсы..."
GUIMode="1"
GUIFlags="2+4+8+16"
ExtractTitle="Программа"
ErrorTitle="Ошибка !"
WarningTitle="Внимание !"
PasswordTitle="Внимание !"
PasswordText="Установщик запаролен ! \nВведите пароль:"
RunProgram="del1:Программа.exe -параметр"
AutoInstall1="del0:"
Delete="%TEMP%\\Программа"
Shortcut1="D,{%%T\\Программа.exe},{},{},{Коментарий ярлыка.},{Программа},{%%T},{},{}"
Shortcut1="P,{%%T\\Программа.exe},{},{Программа},{Коментарий ярлыка},{Программа},{%%T},{},{}"
;!@InstallEnd@!

При портативке прога извлекается и запускается, после закрытия все временные файлы (1,2,3,4 и программа.exe) стираются.
При установке файл 3(или 4) извлекается по заданному пути файлом 1(или 2) и создаёт ярлыки, при этом отключено удаление файлов программы. По завершению стираются файлы (1,2,3 и 4) из временной папки.


Вторая версия:

Основной файл ничего особенного: распаковка и запуск заданного, по завершении удаление распакованного.
Конфиг основного файла

;!@Install@!UTF-8!
InstallPath="%TEMP%\\Программа"
GUIMode="1"
ExtractTitle=" Подготовка ресурсов..."
RunProgram="Autorun.exe"
Delete="%TEMP%\\Программа"
;!@InstallEnd@!


Авторан сделан в виде окна с 4-мя вариантами выбора (варианты версия и установка/потратив).
Авторан запускает файл с 7z sfx-ом 1-й или 2-й версии + отдаёт команду с параметрами запуска.
Варианты:

Портативка: -pПаролище
Установка: -pПаролище -gf+128 -InstallPath="%ProgramFiles%\\Программа"

При установке добавляется флаг окна выбора пути и задаётся путь по-умолчанию вместо %temp%\Программа.
Варианты Портативка1 и Портативка2 аналогичны. Так же и Установка1 и Установка2.


В файлах 1-й и 2-й версии конфиг с простым временным извлечением и запуском.

Конфигурация 1-й и 2-й версии:

;!@Install@!UTF-8!
Title="Программа"
ExtractPathText="Установщик Программа Версия. \nВыберите папку для установки:"
ExtractDialogText="Распаковываем ресурсы..."
GUIFlags="2+4+8+16"
MiscFlags="4"
ExtractPathTitle="Куда установить ?"
ExtractTitle="Программа"
ErrorTitle="Ошибка !"
WarningTitle="Внимание !"
PasswordTitle="Внимание !"
PasswordText="Установщик запаролен ! \nВведите пароль:"
RunProgram="Программа.exe"
;!@InstallEnd@!


Понятное дело этот вариант без ярлыков.



В первом установка многоэтапна (выбери версию, выбери запуск или установка, выбери путь), а во втором минус в авторане (размер 2.7 мб + конфиг авторана 0.5+ мб).
Может подскажите где взять окошко с выбором вариантов (не автораном) ? Или может есть модули с несколькими кнопками вариант-установки, а в конфиге нечто типа Install1=... Install2=...
Я понимаю, что это уже не распаковщик будет, а инсталлер :) Но может что-то существует описанное мной.
PS: В 7z больше всего радует степень сжатия и простота составления конфигов по-этому я так вцепился в 7z SFX.

gora 23-10-2015 14:43 2567356

Цитата:

Цитата Leon3721
Я понимаю, что это уже не распаковщик будет, а инсталлер »

Правильно, в этом направлении и ищите.
Цитата:

Цитата Leon3721
Но может что-то существует описанное мной. »

Не будучи программистом можно написать такое на AutoIt или использовать готовую утилиту (см. здесь, интерактивный выбор одного из 4-х вариантов)
Но здесь мы оффтопим, будут вопросы, пишите сюда.

magsood 04-11-2015 16:17 2571560

How Last Version?

SergeyZV 04-11-2015 17:51 2571589

gora, Использую кнопку 7-zip и архиватор версии 15 beta 10 в TC. При создании EXE используется автоматически один и тот же SFX!? Возможно кнопка не понимает эту версию архиватора?

Victor_Man 06-11-2015 22:44 2572326

Цитата:

Цитата magsood
How Last Version? »

1.6.0.3574
http://svn.7zsfx.info/listing.php?re...6e7397e4aa3204

sNc-DAntES 25-11-2015 00:30 2578656

Вложений: 2
Доброго времени суток. Скажите пожалуйста, как узнать из-за чего возникает данная ошибка при распаковке 7zip архива?
Архив создаётся командой:

Код:

7z a -ssw -mx9 -mmt=on -ms=on -y "d:\Downloads\Torrents\!BackUp\Totalcmd_%date%.7z" "c:\Program Files\Totalcmd"
Затем из него создаётся SFX архив командой:
Код:

COPY /b "c:\Program Files\7z SFX Tools\7zsd_LZMA2.sfx" + "c:\Program Files\7z SFX Tools\Totalcmd.txt" + "d:\Downloads\Torrents\!BackUp\Totalcmd_%date%.7z" "d:\Downloads\Torrents\!BackUp\Totalcmd_%date%.exe"
txt файл с параметрами прилагается.
При дальнейшей попытке распаковать SFX архив получаю ошибку, как на скрине. Подскажите, пожалуйста, чем это может быть вызвано и где искать? Спасибо.

Ж.Д.А.Л.К.Е.Р. 25-11-2015 01:08 2578659

Потому что метод сжатия примененный для создания архива не поддерживается данным модулем, он только для LZMA2.
Используя 7zsd_LZMA2.sfx я сжимаю так:
Код:

"%ProgramFiles%\7-Zip\7z.exe" a FiraDisk.7z -r .\Temp\* -mmt2 -m0=BCJ2 -m1=LZMA2:d48m:fb273 -m2=LZMA2:d21:fb273 -m3=LZMA2:d21:fb273 -mb0:1 -mb0s1:2 -mb0s2:3
Число 48 это размер словаря, можно его увеличить и получить большее сжатие, но тогда потребуется больше ОЗУ для распаковки. Подбирай себе оптимальное, на сколько я помню при 48 ставились программы на WinDows Xp с 128Мб ОЗУ без ошибок о нехватки памяти.

sNc-DAntES 25-11-2015 01:26 2578663

Цитата:

Цитата Ж.Д.А.Л.К.Е.Р.
Потому что метод сжатия примененный для создания архива не поддерживается данным модулем, он только для LZMA2.
Используя 7zsd_LZMA2.sfx я сжимаю так: »

Простите, я только начинаю вникать в архивирование из командной строки. Не совсем понял про какой метод идёт речь. Я, вроде, метод сжатия не указываю.

По поводу вашей строки:
1. Не совсем понимаю, зачем указывать несколько методов?
2.
Цитата:

-mb0:1 -mb0s1:2 -mb0s2:3
эту часть не понял вообще.

Ж.Д.А.Л.К.Е.Р. 25-11-2015 16:09 2578790

В именах файлов модулей указан метод сжатия который они поддерживают. 7-Zip раньше по умолчанию создавал архивы в LZMA, потом с какой-то версии дефолтным стал LZMA2. Я так понял у тебя архив создался в LZMA, а модуль поддерживает только LZMA2, поэтому и ошибка.

1. Лучше сжатие.
2. Из справки 7-zip.chm, описание ключа -m:
Цитата:

b{C1}[s{S1}]:{C2}[s{S2}]
Связывает выходной поток S1 в кодере C1 с входным потоком S2 в кодере C2. Если номер потока не будет определен, то будет использоваться поток с номером 0.

Обычно кодер имеет один входной поток и один выходной поток. В 7z некоторые кодеры могут иметь множественные потоки ввода и вывода.

Например, BCJ2 кодер имеет один входной поток и четыре выходных потока.

sNc-DAntES 25-11-2015 17:05 2578815

Нет, справку я читал. Я не совсем понимаю, что это за потоки и зачем их связывать? По поводу первого пункта понятно.

gora 25-11-2015 17:14 2578820

Цитата:

Цитата Ж.Д.А.Л.К.Е.Р.
у тебя архив создался в LZMA, а модуль поддерживает только LZMA2 »

Немного поправлю: модули LZMA2 поддерживают оба метода и LZMA, и LZMA2. Это можно посмотреть с ключом -sfxversion



Проблема может быть в фильтре Delta, но для этого нужно знать версии архиватора, модуля, и наличия wav файлов в архиве.

SergeyZV 05-12-2015 17:07 2581740

gora, Уважаемый! Скажите пожалуйста какие записи реестра отвечают за создение SFX архива? Кнопка и 7-zip устанавливаются вроде без ошибок, но подозреваю что реестр касячит. Кнопка пишет что SFX создан, но размер SFX 0 байт. И через командную строку и через 7z SFX Builder тоже не создаётся. Что делать?

minutka15 08-12-2015 03:52 2582556

Ребята нужна помощь,
Сразу оговорюсь что не силён в 7z и возможно такой вопрос уже задавался,
но я информацию не нашел или плохо искал.
В общем у меня установщик вот такого характера, пользователю дана возможность
выбрать одну из 4х директорий для установки программы.
Всё это выглядит примерно вот так:

Код:

SetEnvironment="WAY1=%7zSfxFolder38%\\MyProgram01"
SetEnvironment="WAY2=%7zSfxFolder38%\\MyProgram02"
SetEnvironment="WAY3=%7zSfxFolder38%\\MyProgram03"
SetEnvironment="WAY4=%7zSfxFolder38%\\MyProgram04"
;ai
AutoInstall="hidcon:cmd /c xcopy \"DATA\" \"%WAY1%\" /e /i /y"
;ai1
AutoInstall1="hidcon:cmd /c xcopy \"DATA\" \"%WAY2%\" /e /i /y"
;ai2
AutoInstall2="hidcon:cmd /c xcopy \"DATA\" \"%WAY3%\" /e /i /y"
;ai3
AutoInstall3="hidcon:cmd /c xcopy \"DATA\" \"%WAY4%\" /e /i /y"
Shortcut="Pu, {%???%\\???\\MyProg.exe}, {}, {MyProgram}, {}, {MyProgram}"

Всё это работает вот только никак не получается создать ярлык программы.
В папке DATA есть подпапка и в ней "MyProgram.exe" к которому нужно создать ярлык.
Если бы знать точно с каким ключом установят, то его можно найти и вытащить куда нужно.
Как бы вы мне посоветовали действовать в этом случае?
Естественно без привлечения других программ...

gora 08-12-2015 12:42 2582667

Цитата:

Цитата minutka15
не получается создать ярлык программы »

Почитайте про команду ShortcutX и префикс shcX в справке модуля.

minutka15 08-12-2015 23:02 2582871

Спасибо, всё понял.
ShortcutX - удобная штука!

tr011_tmn 18-12-2015 10:05 2586058

Доброго времени суток господа.

Подскажите есть ли возможность задавать в файле конфигурации разные "FinishMessage".

Например:
RunProgram=" if условие 1 (выполняем команду) else (FinishMessage= условие не выполнено)
и соответственно выход

или это невозможно реализовать в рамках модифицированного модуля

sov44 18-12-2015 10:16 2586062

Цитата:

Цитата tr011_tmn
есть ли возможность задавать в файле конфигурации разные "FinishMessage". »

Думаю, что можно, если запускать sfx рекурсивно с ключем -FinishMessage="другой текст"
Код:

AutoInstallA="%%S\\%%M -FinishMessage="другой текст""

ya158 18-12-2015 23:31 2586314

Цитата:

Цитата sov44
если запускать sfx рекурсивно »

При этом архив будет распаковываться дважды. И что будет с основным FinishMessage, после того отработает предложенная вами команда?

tr011_tmn,
Предлагаю вообще не использовать FinishMessage, а в выводить MsgBox при помощи mshta:
Код:

mshta vbscript:execute("Text=""Пример вывода строк"":Title=""Заголовок"":Res=MsgBox(Text,vbOkCancel+vbInformation+vbDefaultButton2,Title):If Res=vbOk Then MsgBox ""Нажата кнопка OK"" End If:MsgBox ""Нажата кнопка нет"":close")
Только надо учитывать, что mshta накладывает ограничение на количество символов.

minutka15 27-12-2015 23:34 2588905

Может мне кто-нибудь подсказать причину, почему в свойствах у создаваемого ярлыка "Рабочая папка" пусто?
Сам ярлык от программы функционирует, однако не во всех программах.
Были у меня программы которые после установки и запуска ругались на отсутствие каких то файлов из установленной директории, хотя всё было на месте. Использовал различные версии модулей.
Читал в справке про {working_directory}, вписывал установочный путь сотню раз, ничего не получается...
А вот делаю любой ярлык при помощи winrar-а то в свойствах ярлыка в поле "Рабочая папка" путь присутствует.
Из за этого в тех программах которые ругаются на отсутствие файлов в установленной директории, я тупо создаю winrar sfx - пустышку с каким нибудь *.txt файлом где прописываю ярлыки к программе типа:
Path=%programfiles%\MyProgramFolder
Silent=1
Overwrite=1
Shortcut=D, "%programfiles%\MyProgramFolder\Myprogram.exe", "MyProgramFolder", "", "MyProgramName"
И всё работает.
Либо просто в ручном режиме создаёшь ярлык от исполняемого файла и запускаешь.
Вот никак понять не могу, в чём причина.
---------------------------------------------------------------

Нашел решение и вопрос снят.
Причина была в отсутствии мозгов.

Oleg_Sch 31-12-2015 06:19 2590010

Всех с наступающим Новым Годом!
С пылу, с жару - подарки.
С учетом "с пылу, с жару", пока только прямые ссылки, обновления сайта и SVN уже в следующем году
1.5.2.3807
1.6.0.3807


Из изменений - использование последней версии исходных текстов 7-Zip (15.12)

SergeyZV 31-12-2015 12:42 2590118

Oleg_Sch, Спасибо! И вас с новым годом!!!
Уже новая версия 7-Zip (15.14).
И огромное СПАСИБО gora за новую версию кнопки

j1490442 01-01-2016 22:16 2590420

Oleg_Sch, скажите, пожалуйста, какая разница между 1.52 и 1.60?
Да и 7zip уже к 15.14 обновился за эти пару дней...

vladshishkin 03-01-2016 10:24 2590683

Утилита для просмотра файла конфигурации и версии модуля, без разборки 7ZipSFX
7ZipSFX Config Extractor v1.0

gora 03-01-2016 10:44 2590684

Цитата:

Цитата vladshishkin
Утилита для просмотра файла конфигурации »

Недостатки:
1 Размер в 4МБ для таких задач великоват
2 Извлекается только первая секция конфига (если их несколько)
3 Текст (UTF-8) отображается в стандартной кодировке и, если конфиг содержит не только латиницу, то он не читабелен в окне программы.

vladshishkin 03-01-2016 10:56 2590688

1 Ну... не все пишут на C++...
2 Это как? Приведите пример. Впервые слышу.
3 Знаю... Может что то изменится в новой версии, если автор соизволит...

Хочу поблагодарить Олега Щербакова, за то что обновляет модули. Не забывает о нас и дарит нам такие подарки.
С новым 2016 годом!!!

gora 03-01-2016 11:05 2590697

Цитата:

Цитата vladshishkin
Это как? Приведите пример. Впервые слышу. »

В справке есть целый раздел с примерами: Секции файла конфигурации. Прочтите. :closed-to

vladshishkin 04-01-2016 16:34 2591093

Утилита для просмотра файла конфигурации, без разборки 7ZipSFX
Можно просмотреть версию модуля и Version Info
Устранены проблемы с отображением русского текста.
7ZipSFX Config Extractor v1.2

Ж.Д.А.Л.К.Е.Р. 04-01-2016 17:16 2591105

vladshishkin,
Цитата:

Цитата gora
2 Извлекается только первая секция конфига (если их несколько) »

Так и не работает. Пример с двумя секциями.

ИМХО, зачем создавать велосипед когда он уже есть и работает ? SfxSplit.exe (58Кб) из состава кнопки все это умеет.

vladshishkin 04-01-2016 18:18 2591120

Программа ничего сверх естественного не делает...
Запускает файл с параметром -sfxconfig и загружает в окно программы полученную конфигурацию.

ya158 04-01-2016 20:23 2591147

Цитата:

Цитата Ж.Д.А.Л.К.Е.Р.
SfxSplit.exe (58Кб) из состава кнопки все это умеет. »

Это утилита не из состава кнопки. Автор утилиты - Oleg_Sch. Просто автор кнопки использует её без указания авторства.
Кстати SfxSplit.exe может также извлекать комментарии и из rar-sfx

gora 04-01-2016 20:31 2591151

Цитата:

Цитата ya158
Это утилита не из состава кнопки. »

Цитата:

Цитата ya158
Просто автор кнопки использует её без указания авторства. »

Ну ни как нельзя без вранья?
1 Эта утилита из состава Кнопки и отдельно ни где ранее не выкладывалась автором.
2 Читайте в справке Кнопки: :read:
Цитата:

В работе кнопки используются:
...
утилиты Олега Щербакова (для извлечения составных частей из SFX архива, для извлечения и замены иконок, "копирайтов" и многого другого)
...
Ну неужели не стыдно так врать? :dont-know

vladshishkin 05-01-2016 02:53 2591209

Цитата:

Эта утилита из состава Кнопки и отдельно ни где ранее не выкладывалась автором.
Ну не знаю... У меня давно уже имеется отдельно...
Подсказали бы ключи запуска.
Я вычислил в составе одной программе, только эти:
SFXSPLIT.EXE "C:\file.exe" -c "C:\UnPack\sfx.txt" -b
SFXSPLIT.EXE "C:\file.exe" -m "C:\UnPack\sfx.sfx" -b
SFXSPLIT.EXE "C:\file.exe" -a "C:\UnPack\sfx.7z" -b

Есть ли исходник данной утилиты?

Oleg_Sch 05-01-2016 10:40 2591255

ya158, gora, да ладно вам, оставьте :)
Утилита действительно писалась специально для кнопки, но подразумевала и автономную работу.
Основной функционал сделан по заказу gora,
И да простит меня gora, я не ограничиваю её использование
А вот по подробностям функционала (она и правда может потрошить не только 7z sfx), здесь он (gora), знает (помнит) гораздо больше меня. Я на вскидку сейчас не вспомню подробности, надо в исходники лезть.

sov44 05-01-2016 12:02 2591272

Oleg_Sch, если будет оказия, гляньте в сторону развития 7zsdrc.exe. В частности не ясно, как задать локализацию в свойствах файла "Язык - Русский(Россия)"

janxp 05-01-2016 12:51 2591290

Доброго времени суток. Как скачать с http://svn.7zsfx.info/ ? Уже несколько клиентов перепробовал.

Iska 05-01-2016 12:58 2591296

Цитата:

Цитата janxp
Уже несколько клиентов перепробовал. »

У меня вполне получилось самим браузером.

janxp 05-01-2016 13:01 2591298

Цитата:

Цитата Iska
У меня вполне получилось самим браузером. »

Как это? Весь репозиторий браузером? :o

Oleg_Sch 05-01-2016 13:12 2591300

janxp,
Код:

svn co svn://svn.7zsfx.info/7zsfxmod/branches/1.6.0-develop

janxp 05-01-2016 13:18 2591304

Цитата:

Цитата Oleg_Sch
svn co svn://svn.7zsfx.info/7zsfxmod/branches/1.6.0-develop »

Это моя первая команда. Ответ: "Unable to connect to a repository". У меня, наверное, с компьютером что-то не то. Вроде ничего не должно блокировать...

Iska 05-01-2016 13:22 2591306

Цитата:

Цитата janxp
Как это? Весь репозиторий браузером? »

Так Вы бы так и сказали, что Вам именно репозиторий нужен ;).

Oleg_Sch 05-01-2016 13:25 2591308

janxp, Ограничений на чтение нет. Сам пользуюсь http://subversion.apache.org/packages.html, некоторые вещи https://tortoisesvn.net/ (нпр более наглядный diff)
Только что сделал checkout
Цитата:

svn info 1.6.0-develop/
Path: 1.6.0-develop
Working Copy Root Path: /tmp/1.6.0-develop
URL: svn://svn.7zsfx.info/7zsfxmod/branches/1.6.0-develop
Relative URL: ^/branches/1.6.0-develop
Repository Root: svn://svn.7zsfx.info/7zsfxmod
Repository UUID: dfd063af-9249-df11-9ade-029bd8003d0b
Revision: 101
Node Kind: directory
Schedule: normal
Last Changed Author: oleg_sch
Last Changed Rev: 101
Last Changed Date: 2015-05-12 19:45:57 +1000 (вт, 12 май 2015)

janxp 05-01-2016 13:34 2591316

Oleg_Sch,
Все нормально, RapidSVN скачал. У меня маршрутизатор перегрелся, оказывается, - lan сбоит.

Xonxt 06-01-2016 00:09 2591568

Подскажите, какая есть функциональная разница (если она есть) между версиями 1.52 и 1.60 при одинаковом последнем номере?

Oleg_Sch 06-01-2016 06:42 2591602

В шапке расписана разница между стабильными и разрабатываемыми версиями
Подробности добавок можно посмотреть на http://7zsfx.info/ru/history_b.html

МИШАНЧИК 07-01-2016 12:44 2592018

Подскажите пожалуйста, не могу с шапки скачать модули:
Цитата:

Цитата Oleg_Sch
Happy New Year!
1.5.2.3807
1.6.0.3807 »

Пишет: не доступен.

gora 07-01-2016 12:51 2592022

Цитата:

Цитата МИШАНЧИК
Пишет: не доступен. »

Цитата:

Цитата Oleg_Sch
Последний раз редактировалось Oleg_Sch, Вчера в 14:36. Причина: 64-х битные версии нерабочие »


Nordek 07-01-2016 14:13 2592037

Цитата:

Цитата МИШАНЧИК
Пишет: не доступен. »

Предыдущие версии доступны:
1.5.0.2712
1.6.0.2712

vladshishkin 07-01-2016 19:46 2592162

Вот: 7zsd_160_3807.7z
Олег - Gora я так и не получил ответ на свой вопрос...

ya158 10-01-2016 22:38 2593247

Oleg_Sch,
Насколько я понял вы возобновили работу над модулем. У меня просьба.
Добавьте, пожалуйста префикс, который позволит из 32-битного модуля на 64-битной оси отключать редирект на 32-битные системные файлы/папки. Тут подробнее применительно к AutoIt, но думаю понятно, что я имею в виду.
Я хотел бы, например, при использовании следующей записи в конффайле
Код:

RunProgram="xAll:hidcon:\"REG\" ADD \"HKLM\\SOFTWARE\" /V \"test\" /T REG_SZ /D \"TEST\" /F"
и на 32 и на 64-битной системе внести параметр "test" именно в HKLM\SOFTWARE, а не в HKLM\SOFTWARE\Wow6432Node\ на 64-битной (xAll - именно то префикс о котором я прошу).
Добавлено
Или может быть проще - разрешить одновременное применение префиксов х32 и х64:
Код:

RunProgram="x86:x64:hidcon:\"REG\" ADD \"HKLM\\SOFTWARE\" /V \"test\" /T REG_SZ /D \"TEST\" /F"
Тогда команда будет будет выполнятся и на 32 и на 64-битной системе, но при этом на 64-битной системе команда будет выполнятся в 64-битной среде.

И вообще планируете ли вы дальнейшее развитие модуля?

Oleg_Sch 11-01-2016 13:42 2593420

vladshishkin, С Вами я разговаривать не буду, Ваши просьбы удовлетворять не буду, личную переписку приводить не буду. Вы сами всё знаете. Довольствуйтесь своими "успехами"
Остальным: Были в модулях ошибки, нефатальные, обнаруживаемые при тестах архивов, но... "Поспешишь, людей насмешишь" :(
Поэтому удалил с сайта
Сейчас на более полноценном тестировании 1.5.3.3819 и 1.6.0.3819 уже на основе исходников 7-Zip 15.14
ya158, К сожалению, я бы не стал говорить "возобновили работу над модулем", сейчас пока могу (и то, с трудом) поддерживать его в более-менее актуальном состоянии. Большего пока обещать не могу :(

Oleg_Sch 15-01-2016 11:27 2595228

Обновления:

1.5.3.3819 Stable
Цитата:

1.5.3 Release (сборка 3819) 11.01.16
# Использован исходный код 7-Zip версии 15.14 от 31 декабря 2015 г.
* Исправлена обработка исключения 0x0EEDFADE из автоматически загружаемых Delphi DLL
+ Поддержка дельта-фильтра включена по умолчанию в модулях LZMA, LZMA2, LZMA_Dialogs и All

1.5.2 Release (сборка 3807) 30.12.15
# Использован исходный код 7-Zip версии 15.12 от 19 ноября 2015 г.
# Некоторые изменения, связанные с изменениями исходных кодов 7-Zip'а
* При предупреждениях иконка в панели задач имеет желтый фон

1.5.1 Release (сборка 2797) 25.03.13
* Не работали переменных среды (%SYSTEMDRIVE%, %PROGRAMFILES% и т.д.) в окне ввода пути (gora:forum.oszone.net)
* Не работал флаг 8 'OverwriteMode' на полностью заблокированных файлах (gora:forum.oszone.net)
1.6.0.3819 Beta
Цитата:

1.6 beta (сборка 3819) 11.01.16
# Использован исходный код 7-Zip версии 15.14 от 31 декабря 2015 г.

1.6 beta (сборка 3807) 30.12.15
# Использован исходный код 7-Zip версии 15.12 от 19 ноября 2015 г.

1.6 develop (сборка 3574) 11.05.15
* При предупреждениях иконка в панели задач имеет желтый фон
+ Поддержка многотомности включена по умолчанию
+ Поддержка дельта-фильтра включена по умолчанию в модулях LZMA, LZMA2, LZMA_Dialogs и All
Все ссылки в шапке. Надеюсь этот блин не будет комом.

За обновление справки и сайта, как всегда, все благодарности gora

Oleg_Sch 22-01-2016 13:21 2598099

Стыдно, но с очередными оплатами назрело
Уже давно закончился период, когда мне хватало морального удовлетворения от проекта.
Лично мне (а первоначально это была личная необходимость) модуль уже не нужен, да и "хотелок" у меня к нему было гораздо меньше, чем в итоге реализовалось по Вашим же просьбам. Я пытаюсь поддерживать модуль, но это просто как "мы ответственны за тех, кого приручили".
На сегодняшний моё хобби в год обходится:
Два доменных имени: 2х850р=1700р
Сервер: 12х519р=6228р
Итого: 7928р
(если кто не верит, может глянуть на цены моего хостера http://firstvds.ru)
В итоге я решился написать здесь, "а готов ли кто-нибудь сделать donate?"
Сумму перечислений (если вдруг решите) выбирайте сами, общую я озвучил.
Если вдруг всё же это произойдет (честно? не особо верю) - сделаю отдельную страничку "спонсоров", а также перечислю их в шапке. Да и будет "толчок" для новых Ваших "хотелок".
Поддержка модуля и благодарности - единственное, чем я могу отплатить.
Пока оставлю только Яндекс.Деньги (есть и другие платёжные системы) - кошелек 4100163680982

Просьба. По поводу этого поста не пишите в ветке форума, не засоряйте, пишите в ПМ

vavun 03-02-2016 00:35 2601941

Вложений: 2
Приветствую всех !

Столкнулся с проблемой: модулем не раскрывается переменная %DATE%
Файл 133580 Файл 133581

Пробовал и стабильную и бета версию модуля.
Это баг, или я что то делаю не так ?

Заранее благодарю за ответы.

Примеры использованных конфигурационных файлов
Код:

!@Install@!UTF-8!
BeginPrompt="
%PROGRAMFILES%
%PROGRAMFILES(x86)%
%APPDATA%
%SYSTEMDRIVE%
%DATE%
"
RunProgram="TEST.exe"
;!@InstallEnd@!

Код:

;!@Install@!UTF-8!
Title="OLOLO"
BeginPrompt="TEST"
ExtractPathText="path"
InstallPath="%ProgramFiles%\\%DATE%"
GUIFlags="8+32+64+256+4096"
GUIMode="1"
;!@InstallEnd@!


vavun 03-02-2016 01:33 2601963

До того, как обратиться сюда я написал автору на почту. Ответ:
Цитата:

Приветствую.
Нет никакого бага.
Раскрываются только системные переменные, которые Вы можете посмотреть с
помощью "set", %DATE% к ним не относится. Насколько я понимаю, это
внутренняя переменная cmd.
Такие вопросы лучше задавать на форуме, чтобы не было повторов.

WBR,
Oleg Scherbakov
Так что вопрос отпадает.

-Phantom- 06-02-2016 14:54 2603081

http://7zsfx.info/ не открывается, что-то с днсами

Oleg_Sch 06-02-2016 20:46 2603166

-Phantom-, именно так, проблемы у хостера
если за сегодня не решат, завтра переведу всё на 7zsfx.org
Пока могу сказать словами хостера:
Цитата:

К сожалению, пока нам не удалось обновить информацию у регистратора домена. Пока точно по времени, к сожалению, сориентировать нас не можем. Извините за доставленные неудобства.

С уважением, Марина
менеджер отдела Заботы о клиентах

vavun 06-02-2016 22:35 2603188

Oleg_Sch, приветствую вас )

Хотел бы спросить: какие есть не задокументированные параметры модуля ?
Пока что кроме -sfxelevation и -sfxwaitall ничего не нашел, а в c++ я совершенно ничего не понимаю, потому разбор исходников оказался весьма затруднительным

Заранее благодарю )

Oleg_Sch 07-02-2016 03:41 2603234

Цитата:

Цитата vavun
Пока что кроме -sfxelevation и -sfxwaitall »

Таких ключей командной строки нет
Цитата:

Цитата vavun
какие есть не задокументированные параметры модуля ? »

Все задокуметированы. Спасибо gora, расписал все.
Из недокументированного (точнее "не полностью документированного") - переменные среды. Но их надо воспринимать как "бонус".

Oleg_Sch 07-02-2016 09:04 2603245

пока идут разборки с регистратором...
теоретически, все ссылки должны быть доступны в домене 7zsfx.org, т.е. меняем info на org, и попадаем куда хотели

vavun 07-02-2016 19:08 2603448

Цитата:

Цитата Oleg_Sch
Таких ключей командной строки нет »

Опять я что то нафантазировал, видать.

Код:

;!@Install@!UTF-8!
BeginPrompt="Install this program?"
RunProgram="hidcon:waitall:cmd /c pause"
GUIMode="2"
MiscFlags="4"
FinishMessage="Done"
;!@InstallEnd@!



Ну раз нет, значит нет

Oleg_Sch 08-02-2016 01:26 2603550

vavun, эти два ключа (единственные) используются для внутренних нужд модуля (из имен понятно для чего), применения их пользователем я не вижу. Остальные все расписаны.

janxp 08-02-2016 02:15 2603560

Модуль с возможностью установки нешифрованного пароля Тынц
Версия модуля: 3819; длина пароля: макс 12 символов; кодировка: Unicode (!!!); смещение относительно начала файла: 1489; текущий установленный пароль: 123456789012
Запуск происходит чуть медленнее, чем без пароля.
Старый код: Новый код: Пароль:

Oleg_Sch 08-02-2016 07:55 2603591

Вложений: 1
janxp, Знание OlyDebug похвально, но (что-то мне кажется) не тот инструмент при наличии исходников
кстати, а Вы на каждую сборку будете править?

janxp 08-02-2016 12:44 2603678

Изначально я правил оригинальный 7zsfx, но потом в просторах увидел Ваше творение, и решил использовать его.
Цитата:

Цитата Oleg_Sch
при наличии исходников »

Не было установленной среды Visual Studio, и из-за несущественной правки не было желания ее устанавливать. Править бинарный код, в данном случае, было быстрее и легче. Результат вполне удовлетворял.
С начала года было несколько просьб защитить программу от посягательств антивируса, - "невозможно хранить в компьютере взломанный софт", "кейген постоянно пропадает", "из флешки потерялась любимая программа", и проч. Добавление в исключения антивируса, отказ от использования такого софта, и проч. - это отдельный разговор. Пока остановился на таком варианте - запароленный SFX. Запуск затруднителен, но хоть программа не удаляется антивирусом.
Цитата:

Цитата Oleg_Sch
Вы на каждую сборку будете править »

Нет. Только если попросят, или из-за очень существенных изменений Вашего модуля или 7z. Скрины сделал специально, чтобы можно было ориентироваться, где искать - достаточно знания азов ассемблера.
ПС. Слежу за темой. Много моих знакомых пользуются Вашим творением. И многие недоумевают из-за отсутствия поддержки хотя бы нешифрованных паролей.

Oleg_Sch 08-02-2016 14:47 2603722

Или я чего-то недопонял, или
http://7zsfx.info/ru/parameters.html#PasswordTitle
http://7zsfx.info/ru/parameters.html#PasswordText
http://7zsfx.info/ru/switches.html#pX
придумывалось зря
Конечно, если Вы хотите, чтобы пользователь не указывал пароль, то предыдущие ссылки бесполезны

janxp 08-02-2016 16:33 2603755

Цитата:

Цитата Oleg_Sch
пользователь не указывал пароль »

Именно. При запуске без параметров запароленного самораспаковывающегося окно ввода пароля не должно отображаться, - пароль должен вводиться автоматически.
Пример: setup_button_x86_x64.exe

Oleg_Sch 09-02-2016 09:28 2603975

  • 1. Ветка 1.5.х завершила свой жизненный цикл, больше в ней не будет даже исправления ошибок.
  • 2. Ветка 1.6.х перешла в статус второго релиз-кандидата (первый, извиняюсь, прошел мимо форума). Если за ближайшие дни/недели ничего не вылезет, она станет Stable
  • 3. На подходе ветка 1.7.х-develop, пока подробностей рассказывать не буду, скажу только что будут и новые ключи и префиксы. На дальнейшую разработку сподвиг весомый donate от ArtXGroup, за что ему огромное спасибо!
1.6.0.3847 - сегодня (ведение истории, обновление справки, тестирование - как всегда gora)
Цитата:

1.6 RC2 (сборка 3847) 08.02.16
# Удален префикс 7z в именах всех переменных среды модуля, например, было '7zSfxVarModulePlatform', стало 'SfxVarModulePlatform'
* Переменная 'SfxVarCmdLine0' не содержала нужную информацию
* Переменная 'SfxVarSystemPlatform' всегда содержала 'x86' (gora:forum.oszone.net)
* Ложное сообщение об ошибке "Файл не является 7z архивом." (gora:forum.oszone.net)
* Разрушение памяти при установке переменных среды модуля (gora:forum.oszone.net)
* На запароленных SFX окно ввода пароля выводилось дважды (Valerkan:forum.oszone.net)
* Некорректная работа ключа '-p' (gora:forum.oszone.net)
* Не блокировался вывод 'FinishMessage' при нажатии "Да/OK" + Shift в окне 'BeginPrompt' (gora:forum.oszone.net)
* Вывод окна ввода пароля по умолчанию был после 'BeginPrompt' и 'ExtractPath' или 'BeginPrompt' + 'ExtractPath', а не до них. Флаг 8 'MiscFlags' не имел действия (gora:forum.oszone.net)
+ Поддержка многотомности включена по умолчанию
+ Поддержка дельта-фильтра включена по умолчанию в модулях LZMA, LZMA2, LZMA_Dialogs и All
+ Переменные среды при работе модуля '7zSfxVarModulePlatform', '7zSfxVarSystemPlatform', '7zSfxVarSystemLanguage', '7zSfxVarCmdLine0', '7zSfxVarCmdLine1', '7zSfxVarCmdLine2'
+ Поддержка шифрования
Пока только прямая ссылка в SVN
1.7.х-develop - завтра-послезавтра. Как и обновление шапки.

Oleg_Sch 12-02-2016 13:50 2605396

Обновление шапки откладывается, пока отдельным постом, с прямыми ссылками в SVN.
Надеюсь через недельку более-менее определюсь окончательно и по поводу ветки 1.6.
Пока предварительно так:
  • Ветка 1.5.х закончила свой жизненный цикл. Больше в ней обновлений не будет
  • Ветка 1.6.х переходит в статус 1.6.0-RC3 с дальнейшим переводом в полный Release и "только исправление ошибок"
  • Открываю ветку 1.7, пока задумки расписывать не буду, но появятся новые возможности управления модулем в процессе работы. Два параметра представляю сегодня, остальное - по мере добавления.

Итак
1.6.0.3850-RC3
Изменения:
Цитата:

1.6.0-RC3 (сборка 3850) 11.02.2016
* При некоторых условиях не удалялась временная папка

1.6 RC2 (сборка 3847) 08.02.16
* Переменная 'SfxVarCmdLine0' не содержала нужную информацию
* Переменная 'SfxVarSystemPlatform' всегда содержала 'x86' (gora:forum.oszone.net)
1.7.0.3850-develop
Изменения:
Цитата:

1.7 develop (сборка 3847) 08.02.16
+ Параметры 'ExecuteOnLoad', 'PreExtract', 'PreExtractX' в конфигурационном файле
+ Переменная среды при работе модуля 'SfxVarApiPath'
По 1.7 документацию (как всегда) подготавливает gora, пока приведу только выжимку по новым параметрам
Цитата:

Существуют 3 типа команд запуска программ, которые выполняются ДО распаковки архива: 'ExecuteOnLoad', 'PreExtract' и 'PreExtractX'. При этом команды 'ExecuteOnLoad' выполняются сразу после запуска SFX архива, а команды 'PreExtract' и 'PreExtractX' после вывода окна диалога 'BeginPrompt'.

ExecuteOnLoad="command_executing"
Команда для исполнения (множественная). Выполняется сразу после запуска SFX.
Запускается как в обычном режиме ('RunProgram' или 'ExecuteFile'), так и в автоматическом ('AutoInstall').
Допустимы переменные, обрабатываемые модулем, а также относительные пути. Написание аналогично 'RunProgram'

PreExtract="command_executing"
Команда для исполнения (множественная). Выполняется после вывода диалога 'BeginPrompt', но перед распаковкой архива. При литерной установке команда не выполняется.
Допустимы переменные, обрабатываемые модулем, а также относительные пути. Написание аналогично 'RunProgram'

PreExtractX="command_executing"
Где X - литера варианта. В качестве литеры X допустимы [0...9], [A...Z], [a...z]. Команда для исполнения (множественная). Выполняется после вывода диалога 'BeginPrompt', но перед распаковкой архива.
Команда является парной и выполняется только совместно с соответствующей командой 'AutoInstallX'. Если соответствующая команда 'AutoInstallX' отсутствует в файле конфигурации будет выведено сообщение об ошибке.
Допустимы переменные, обрабатываемые модулем, а также относительные пути. Написание аналогично 'RunProgram'

%SfxVarApiPath% - временная папка создаваемая модулем, текущая для команд 'ExecuteOnLoad', 'PreExtract' и 'PreExtractX'

Модуль также поддерживает относительные пути в следующих параметрах и ключах:
'ExecuteOnLoad', 'PreExtract', 'PreExtractX' - относительно временной папки создаваемой модулем, путь к папке находится в переменной %SfxVarApiPath%
Пока это всё. На конкретные вопросы или я или gora ответим.

vladshishkin 13-02-2016 13:05 2605645

Цитата:

Пока это всё. На конкретные вопросы или я или gora ответим.
Цитата:

+ Поддержка шифрования
Как этим пользоваться?

Oleg_Sch 16-02-2016 13:23 2606670

vladshishkin, не вынуждайте, тем более вопрос шифрования полностью раскрыт в справке.

Цитата:

Цитата Oleg_Sch
vladshishkin, С Вами я разговаривать не буду, Ваши просьбы удовлетворять не буду, личную переписку приводить не буду. Вы сами всё знаете. Довольствуйтесь своими "успехами" »


vladshishkin 16-02-2016 14:01 2606684

Oleg_Sch, Извините, если что не так...
Почему я спросил про шифрование...
В версии 1.6.0.3847 написано:
+ Поддержка шифрования
То есть я думал, что вы что то добавили...

Мне очень понравилась идея: janxp, защищать содержимое паролем... (который не надо вводить при запуске)
Для масс, а не для некоторых...

Хотя бы в файле конфигурации, прописывать пароль к архиву (добавить новый параметр)
Уж очень задолбали Антивирусы, находящие "вирусы", в абсолютно чистых файлах...

Вот я и подумал, что вы добавили данную функцию в модуль...

Не относитесь к данному нику с презрением, его можно легко и поменять...
Мне интересен ваш модуль, поэтому и пишу...

vavun 16-02-2016 14:20 2606689

Цитата:

Цитата vladshishkin
защищать содержимое паролем... (который не надо вводить при запуске)
в файле конфигурации, прописывать пароль к архиву »

И в чем будет заключаться защита в таком случае ? )

vladshishkin 16-02-2016 15:12 2606710

vavun, Антивирус не сможет просканировать файлы, зашифрованного архива

Ж.Д.А.Л.К.Е.Р. 16-02-2016 15:31 2606721

Цитата:

Цитата vladshishkin
Антивирус не сможет просканировать файлы, зашифрованного архива »

Прибьет их при выполнении. В любом случае нужно отключить/приостановить антивирус.

vladshishkin 16-02-2016 15:41 2606726

Ж.Д.А.Л.К.Е.Р., Ну и пусть прибьет...
Главное не помешает скачать.

Ж.Д.А.Л.К.Е.Р. 16-02-2016 16:03 2606736

Отключить/приостановить антивирус перед скачиванием, скачал и пользуйся.

Oleg_Sch 17-02-2016 11:41 2606996

Ребята, извиняйте, но "в массы" я этого делать не буду. Прямое указание пароля в файле конфигурации тоже. И причина здесь банальна...
http://usbtor.ru/viewtopic.php?p=14155#14155

vavun 17-02-2016 20:21 2607188

Вопрос по модулю 1.7:
В том случае если распаковка архива происходит во временную папку (InstallPath отсутствует)
Переменная %SfxVarApiPath% равна %%T ?

gora 17-02-2016 20:35 2607195

Цитата:

Цитата vavun
В том случае если распаковка архива происходит во временную папку (InstallPath отсутствует)
Переменная %SfxVarApiPath% равна %%T ? »

Нет.
Если команды 'ExecuteOnLoad', 'PreExtract' и 'PreExtractX' присутствуют в конфиге, то модуль создает дополнительную временную папку и путь к ней помещает в переменную %SfxVarApiPath%
Код:

Vars:
SfxVarApiPath=C:\Users\gora\AppData\Local\Temp\7ZipSfx.000
SfxVarCmdLine0="Y:\Dropbox\temp\testNEWmodule\vars_pass.exe"
SfxVarCmdLine1=
SfxVarCmdLine2=
SfxVarModulePlatform=x86
SfxVarSystemLanguage=1049
SfxVarSystemPlatform=x64
%%M=vars_pass.exe
%%P=x64
%%S=Y:\Dropbox\temp\testNEWmodule
%%T=C:\Users\gora\AppData\Local\Temp\7ZipSfx.001


ArtXGroup 22-02-2016 00:23 2608770

Полностью поддерживаю подход Oleg_Sch. В том числе, нету смысла реализовывать "фичи", которые можно воспроизвести другими способами. Давайте будем просить Oleg_Sch, что-то добавить, только если без этого действительно нельзя обойтись.

vladshishkin, вашу задачу можно решить так:
1. Создаем запароленный 7zip архив с названием, например, protected.7z;
2. В туже папку добавляем файлы 7za.exe и 7z.dll;
3. Запаковываем три файла (protected.7z, 7za.exe, 7z.dll) в еще один 7zip архив, но без пароля;
4. В config.txt прописываем:
PHP код:

RunProgram="hidcon:\"%%T\\7za.exe\" x -p[пароль] -y protected.7z"
RunProgram="myProgramm.exe" 

Готово!

SergeyZV 22-02-2016 07:24 2608793

Цитата:

Цитата ArtXGroup
RunProgram="hidcon:\"%%T\\7za.exe\"*x*-p[пароль]*-y*protected.7z" »

Весь смысл спрятать команду, а здесь всё на виду. И команда и пароль.

vladshishkin 22-02-2016 09:07 2608805

ArtXGroup, и мегабайт сверху...
Если прятаться от Антивирусов, то можно с помощью этого:
http://usbtor.ru/viewtopic.php?p=14820#14820
Всего 100кб.

Oleg_Sch 22-02-2016 22:13 2609062

Обновления сайта и шапки.

Ветка 1.5.х больше не поддерживается

Ветка 1.6.х получила статус "стабильная", теперь в ней только исправления ошибок
Цитата:

1.6 Release (сборка 3861) 22.02.16
* Некорректная работа ключа '-sfxlang'

1.6 RC3 (сборка 3850) 11.02.16
* При некоторых условиях не удалялась временная папка
В ветке 1.7.0 будут добавляться новые возможности
Цитата:

1.7 develop (сборка 3861) 22.02.16
* Переменная 'SfxVarApiPath' отсутствовала в некоторых случаях (gora:forum.oszone.net)
* Некорректная работа ключа '-sfxlang'
+ Флаг 16 'MiscFlags' - отключение вывода сообщения об ошибке "отменено пользователем"

1.7 develop (сборка 3850) 11.02.16
+ Параметры 'ExecuteOnLoad', 'PreExtract', 'PreExtractX' в конфигурационном файле
+ Переменная среды при работе модуля 'SfxVarApiPath'
Все ссылки в шапке.

Хочу сказать спасибо:
gora - за постоянную поддержку справки и сайта.
ArtXGroup - за финансовое участие, позволяющее и дальше заниматься проектом.

vladshishkin 04-03-2016 22:46 2612989

Подскажите пожалуйста, если в каком то редакторе подсветка синтаксиса файла сценария SFX модуля

Oleg_Sch 06-03-2016 00:37 2613207

Очередные небольшие обновления

1.6.1.3873-Stable
Цитата:

1.6.1 Release (сборка 3873) 05.03.16
* Окна некоторых дочерних процессов отображались на заднем плане (ArtXGroup:forum.oszone.net)
1.7.0.3873-develop
Цитата:

1.7 develop (сборка 3873) 05.03.16
# Работа ключа '-nr' распространена на параметры 'ExecuteOnLoad', 'PreExtract', 'PreExtractX'
1.7 develop (сборка 3864) 25.02.16
* Окна некоторых дочерних процессов отображались на заднем плане (ArtXGroup:forum.oszone.net)
Сайт и SVN обновлены, ссылки в шапке

evgeny1337 08-03-2016 20:40 2613952

Здравствуйте, у меня такой вопрос, можно ли создать SFX архив с несколькими файлами , при распаковке вводить пароль на определенный файл (на каждый файл свой пароль) и распаковывался только это файл. Возможно ли так сделать? (Просто видел видео как вводили 2 разных пароля и там получалось 2 разных файла)

vladshishkin 09-03-2016 09:08 2614089

evgeny1337, Почитай FAQ в шапке.

regist 09-03-2016 19:14 2614343

Цитата:

Цитата vladshishkin
Подскажите пожалуйста, если в каком то редакторе подсветка синтаксиса файла сценария SFX модуля »

vladshishkin, раз никто ничего не подсказал поделюсь своим способом. Правлю всё Notepad++
Для синтаксической подстветки использую либо INI, либо Haskell (выбирается там в меню). Вот скрины с примером
haskell, ms-ini.

vladshishkin 14-03-2016 18:32 2615964

Это не подсветка, а раскраска. Причем не самая удачная... А жаль...

yurecnew 18-03-2016 06:36 2617269

Oleg_Sch, Модули не запускаются на XP без SP, появляется окно "приложение неправильно настроено". Причину удалось выяснить - системе не нравится строчка манифеста:
Код:

<assemblyIdentity version="1.5.3.3819" name="7-Zip.SfxMod" type="win32"></assemblyIdentity>
Может тупо удалить её? Тем более информация о версии есть в другой структуре.

P.S. Проверял на версиях 153-170

Oleg_Sch 18-03-2016 12:05 2617363

yurecnew, странно это.
Строчка нужна, почему она вызывает такое поведение - надо разбираться
Ничего обещать не буду, надо поднимать виртуалку для тестов, а времени не хватает

yurecnew 18-03-2016 12:43 2617377

Цитата:

Цитата Oleg_Sch
Ничего обещать не буду, надо поднимать виртуалку для тестов, а времени не хватает »

ok. Пробовал разные варианты замены, помогает только полная замена строки пробелами в хекс-редакторе или удаление в редакторе ресурсов. Скрин с ошибкой:
http://i75.fastpic.ru/big/2016/0318/...d1d09c8cee.png

P.S. На английской хрюше таблет едишн с sp1a модули запускаются

Oleg_Sch 21-03-2016 06:52 2618144

Очередные обновления, пока только в SVN, обновления сайта и справки позже

1.6.2.3888-Stable:
Цитата:

1.6.2 Release (сборка 3888) 20.03.16
* Манифест некорректно работал в Windows XP без установленных обновлений (yurecnew:forum.oszone.net)
* Исключение при пустом файле конфигурации (gora:forum.oszone.net)

1.6.1 Release (сборка 3873) 05.03.16
* Окна некоторых дочерних процессов отображались на заднем плане (ArtXGroup:forum.oszone.net)
1.7.0.3888-Develop
Цитата:

1.7 develop (сборка 3888) 20.03.16
* Манифест некорректно работал в Windows XP без установленных обновлений (yurecnew:forum.oszone.net)
* Исключение при пустом файле конфигурации (gora:forum.oszone.net)
+ Параметры 'ExtractMaskExclude', 'ExtractMaskInclude' в конфигурационном файле
+ Флаг 32 'MiscFlags' - меняет порядок обработки параметров 'ExtractMaskExclude', 'ExtractMaskInclude'
+ Дополнительная папка *.sfx.api.* в корне архива
+ Дополнительный файл конфигурации *.sfx.config в корне архива

1.7 develop (сборка 3873) 05.03.16
# Работа ключа '-nr' распространена на параметры 'ExecuteOnLoad', 'PreExtract', 'PreExtractX'
Кратко о новых параметрах и флаге

Цитата:

ExtractMaskExclude="mask"
Определяет маску файлов для исключения из распаковки. Параметр множественный, в каждом параметре указывается только одна маска.
Поддерживается только один тип префиксов - платформа операционной системы (x64 или x86).
Например:
ExtractMaskExclude="x86:*_x64.sfx"
- исключит из распаковки все 64-битные модули, если запуск произведен в 32-битной операционной системы
ExtractMaskExclude="*.sfx"
- исключит из распаковки все модули, независимо от системы, остальные файлы будут распакованы
Если параметр не указан и указан MiscFlags=32, то автоматически используется:
ExtractMaskExclude="*"

ExtractMaskInclude="mask"
Определяет маску файлов для распаковки. Параметр множественный, в каждом параметре указывается только одна маска.
Поддерживается только один тип префиксов - платформа операционной системы (x64 или x86).
Например:
ExtractMaskInclude="x64:*_x64.sfx"
- распакует только 64-битные модули, если запуск произведен в 64-битной операционной системы
ExtractMaskInclude="%%P:%%P\\*"
- распакует папку (%%P), соответствующую разрядности системы в которой запущен SFX и все ее содержимое, остальное пропустит
Если параметр не указан и не указан MiscFlags=32, используется:
ExtractMaskInclude="*"

MiscFlags="x"
32 - сменить порядок обработки параметров 'ExtractMaskExclude', 'ExtractMaskInclude'
Цитата:

Без MiscFlgs=32 Обработка идет так:
1. Проверяем 'ExtractMaskExclude'. Файл попадает в маску - НЕ распаковываем, переходим к следующему файлу
2. Тут файл не попал в маску 'ExtractMaskExclude', поэтому проверяем 'ExtractMaskInclude', если файл попадает в маску - распаковываем

С MiscFlags=32
1. Проверяем 'ExtractMaskInclude'. Файл попадает в маску - распаковываем, переходим к следующему файлу
2. Тут файл не попал в маску 'ExtractMaskInclude', поэтому проверяем 'ExtractMaskExclude', если файл попадает в маску - НЕ распаковываем
Цитата:

Модуль, кроме основного файла конфигурации, поддерживает дополнительный файл конфигурации, который должен быть расположен в корне архива и должен называться *.sfx.config, где вместо звездочки может быть любое имя.
Основной файл конфигурации, пусть даже пустой, всё равно должен присутствовать, т.к. именно его сигнатуры служат маркером что "это SFX архив"


Последовательность загрузки файлов конфигурации и обработка их модулем


После запуска SXF архива начинается формирование рабочего файла конфигурации. Рабочий - это тот, который и будет выполнен при данном конкретном запуске с учетом наличия основного и дополнительного файлов конфигурации, языка и разрядности системы.

Загрузка происходит так:

Сначала в рабочий файл конфигурации загружается основной файл конфигурации
Парсится и применяется командная строка, модифицируется рабочий файл конфигурации
Открывается архив и в его корне ищется дополнительный файл конфигурации *.sfx.config
Если дополнительный файл конфигурации *.sfx.config найден, то весь рабочий файл конфигурации сбрасывается
Снова в рабочий файл конфигурации загружается основной файл конфигурации
Дополнительный файл конфигурации ПОДГРУЖАЕТСЯ к рабочему файлу конфигурации
Заново парсится и применяется командная строка, модифицируется рабочий файл конфигурации
После завершения загрузки, созданный рабочий файл конфигурации обрабатывается.

Параметры обрабатываются (переопределяются/добавляются) в том порядке, в котором они были загружены и в котором они стояли в файлах конфигурации.

Если параметр НЕ множественный, то используется последнее значение. Например, если 'Title' указан в обоих файлах конфигурации, будет использован тот, который определен в дополнительном файл конфигурации.

Если параметр множественный, то он просто добавляется в список.

Если необходимо ПОЛНОСТЬЮ переопределить какой-то множественный параметр, можно обнулить список этого параметра (т.е. удалить все предыдущие), указав в нем знак, минус (-), например:

RunProgram=-


Хотя файлов *.sfx.config может быть сколько угодно, не рекомендуется увлекаться их разбиением, т.к. порядок их загрузки зависит от их очередности в архиве и может быть непредсказуем, что в свою очередь может повлиять на переопределение параметров. Для повседневных нужд достаточно разбивать на "платформа", "язык", "платформа/язык", т.е., чтобы каждый файл был со своей сигнатурой, чтобы сигнатуры не повторялись.

regist 27-03-2016 12:55 2620295

Цитата:

Цитата yurecnew
ok. Пробовал разные варианты замены, помогает только полная замена строки пробелами в хекс-редакторе или удаление в редакторе ресурсов. Скрин с ошибкой:
http://i75.fastpic.ru/big/2016/0318/...d1d09c8cee.png
P.S. На английской хрюше таблет едишн с sp1a модули запускаются »

Скорее всего это из-за того, что в манифест находится в неправильной секции. Он находится в секции 1033 - которая для англ. локализации, поэтому на англ. системе и работает нормально.
А правильно манифест должен находиться в 0 секции.
Попробуйте редактором ресурсов удалить существующий манифест, создать в правильной и проверить проблему.

Oleg_Sch, если можно в следующем обновление модулей перенесите его в 0 секцию. А то каждый раз приходится удалять этот.

yurecnew 28-03-2016 02:07 2620475

regist, Вы наверное пропустили, постом выше вашего лог изменений в последней версии - причина автором установлена, проблема решена. Проверьте личку...

regist 28-03-2016 09:16 2620538

yurecnew, список изменений видел и проверил, что в новой версии манифест по прежнему в секции 1033, когда правильней его указывать в 0 (и я каждый раз из 1033 вручную удаляю). Поэтому и попросил Oleg_Sch, в следующей версии поправить.

Oleg_Sch 28-03-2016 10:38 2620563

regist, Обязательно укажу "в 0", если Вы аргументируете, что на последней версии версии 1033 не работает.
Порядок поиска и загрузки ресурсов, конечно же "черный ящик", но скажу то, что заметил.
Если Windows не находит ресурса для языка текущего пользователя (в нашем случае "русский"), то она ищет заново с LANGID=0, т.е. для любого языка.
Ещё раз. Если Вы меня переубедите и докажите, что я не прав - ставлю в 0.

Oleg_Sch 28-03-2016 14:01 2620627

regist, Признаюсь, зацепили ;)
Не поленился, полез в отладчики/дизассемблеры, добрался до функции LdrpSearchResourceSection из ntdll.dll
читать дальше »
Цитата:

// Language ids are 16bits so any value with any bits
// set above 16 should be ok, and this value only has
// to fit in a ULONG_PTR. 0x10000 should be sufficient.
// The value used is actually 0xFFFF regardless of 32bit or 64bit,
// I guess assuming this is not an actual langid, which it isn't,
// due to the relatively small number of languages, around 70.
#define USE_FIRSTAVAILABLE_LANGID (0xFFFFFFFF & ~LDR_RESOURCE_ID_NAME_MASK)

NTSTATUS
LdrpSearchResourceSection_U(
IN PVOID DllHandle,
IN const ULONG_PTR* ResourceIdPath,
IN ULONG ResourceIdPathLength,
IN ULONG Flags,
OUT PVOID *ResourceDirectoryOrData
)

/*++

Routine Description:

This function locates the address of the specified resource in the
specified DLL and returns its address.

Arguments:

DllHandle - Supplies a handle to the image file that the resource is
contained in.

ResourceIdPath - Supplies a pointer to an array of 32-bit resource
identifiers. Each identifier is either an integer or a pointer
to a null terminated string (PSZ) that specifies a resource
name. The array is used to traverse the directory structure
contained in the resource section in the image file specified by
the DllHandle parameter.

ResourceIdPathLength - Supplies the number of elements in the
ResourceIdPath array.

Flags -
LDRP_FIND_RESOURCE_DIRECTORY
searching for a resource directory, otherwise the caller is
searching for a resource data entry.

LDR_FIND_RESOURCE_LANGUAGE_EXACT
searching for a resource with, and only with, the language id
specified in ResourceIdPath, otherwise the caller wants the routine
to come up with default when specified langid is not found.

LDR_FIND_RESOURCE_LANGUAGE_REDIRECT_VERSION
searching for a resource version in main and alternative
modules paths

FindDirectoryEntry - Supplies a boolean that is TRUE if caller is
searching for a resource directory, otherwise the caller is
searching for a resource data entry.

ExactLangMatchOnly - Supplies a boolean that is TRUE if caller is
searching for a resource with, and only with, the language id
specified in ResourceIdPath, otherwise the caller wants the routine
to come up with default when specified langid is not found.

ResourceDirectoryOrData - Supplies a pointer to a variable that will
receive the address of the resource directory or data entry in
the resource data section of the image file specified by the
DllHandle parameter.
--*/

Полная версия http://gate.upm.ro/os/LABs/Windows_O.../rtl/ldrrsrc.c
В ней можно увидеть комментарии про варианты поиска ресурса
читать дальше »
Цитата:

//
// If search path includes a language id, then attempt to
// match the following language ids in this order:
//
// (0) use given language id
// (1) use primary language of given language id
// (2) use id 0 (neutral resource)
// (4) use user UI language
//
// If the PRIMARY language id is ZERO, then ALSO attempt to
// match the following language ids in this order:
//
// (3) use thread language id for console app
// (4) use user UI language
// (5) use lang id of TEB for windows app if it is different from user locale
// (6) use UI lang from exe resource
// (7) use primary UI lang from exe resource
// (8) use Install Language
// (9) use lang id from user's locale id
// (10) use primary language of user's locale id
// (11) use lang id from system default locale id
// (12) use lang id of system default locale id
// (13) use primary language of system default locale id
// (14) use US English lang id
// (15) use any lang id that matches requested info


P.S.
1. Признаю, что использование "use id 0 (neutral resource)" будет более правильным
2. Не признаю, что текущий вариант не сработает где-либо

regist 28-03-2016 18:31 2620716

1)
Цитата:

Цитата Oleg_Sch
Не признаю, что текущий вариант не сработает где-либо »

Это было предположение почему у yurecnew, мог не работать старый вариант манифеста. yurecnew, писал, что у него работает только на англ. локализации, а у вас манифест как раз расположен в секции 1033 (англ. США) поэтому и предложил ему проверить разместив его "neutral resource" и проверить проблему с проблемным манифестом. У меня нет XP с SP1 или более старой, чтобы проверить самому. А что так правильней размещать манифест вы со мной согласны.

2) По манифесту там ещё правильней добавить шапку
Код:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

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

yurecnew 28-03-2016 18:55 2620721

Цитата:

Цитата regist
Это было предположение почему у yurecnew, мог не работать старый вариант манифеста. yurecnew, писал, что у него работает только на англ. локализации »

Я сразу сделал акцент на то что русская версия хрюши - без обнов совсем, а английская - с SP1A. Во всяком случае Oleg_Sch меня правильно понял. То что версия с sp1 оказалась английской просто случайность, другой с sp1 у меня нет.

P.S. Пожалуйста, 1.5.3 на оригинальном XP SP0 English VL:
http://i75.fastpic.ru/big/2016/0328/...d8a8d468a1.png

Oleg_Sch 29-03-2016 02:34 2620809

Чтобы закрыть тему манифеста
http://svn.7zsfx.info/diff.php?repna...32.xml&rev=128
Виновником был отсутствующий "processorArchitecture". Почему это не работало только на WindowsXP без сервиспака? Предположу только, что т.к. манифесты появились именно в ХР, просто было сыровато.
Цитата:

Цитата regist
2) По манифесту там ещё правильней добавить шапку
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> »

http://svn.7zsfx.info/filedetails.ph...manifest32.xml
Всё это есть, просто при линковке в ехе, manifestool удаляет ее, как "само собой разумеющееся"

Oleg_Sch 03-04-2016 01:39 2622535

В какой-то мере "юбилейное" обновление:
1.7.0.3900
Цитата:

1.7 develop (сборка 3900) 01.04.16
# Некоторые изменения при компиляции ресурсов (regist:forum.oszone.net)
* Не работали AutoInstallX (сломалось в 3888) (gora:forum.oszone.net)
* Не подгружался файл конфигурации из больших архивов (gora:forum.oszone.net)
+ Поддержка имен дополнительных файлов конфигурации *.sfx.config.*
+ Флаг 64 'MiscFlags' - отключает использование дополнительных файлов конфигурации
+ Флаг 128 'MiscFlags' - отключает SfxAPI

1.7 develop (сборка 3888) 20.03.16
* Манифест некорректно работал в Windows XP без установленных обновлений (yurecnew:forum.oszone.net)
* Исключение при пустом файле конфигурации (gora:forum.oszone.net)
+ Параметры 'ExtractMaskExclude', 'ExtractMaskInclude' в конфигурационном файле
+ Флаг 32 'MiscFlags' - меняет порядок обработки параметров 'ExtractMaskExclude', 'ExtractMaskInclude'
+ Дополнительная папка *.sfx.api.* в корне архива
+ Дополнительный файл конфигурации *.sfx.config в корне архива
Пока только SVN, за сайт и справку надеюсь на помощь gora

Oleg_Sch 04-04-2016 07:24 2622823

SergeyZV, Никто ничего не удалял:
http://svn.7zsfx.info/listing.php?re....3888%2Fbin%2F

SergeyZV 04-04-2016 07:28 2622824

Oleg_Sch, Здесь не нашёл.

Цитата:

Цитата Oleg_Sch
P.S. Вот и отвечай после этого оперативно. SergeyZV удалил свой пост. »

Был не прав. Вот и удалил. В любом случае спасибо за оперативность :)

magsood 12-04-2016 11:29 2625337

last Version "7zsd_LZMA2_Dialogs_x64.sfx"?

gora 12-04-2016 16:57 2625459

Вложений: 1
Цитата:

Цитата magsood
last Version "7zsd_LZMA2_Dialogs_x64.sfx"? »


regist 12-04-2016 19:37 2625515

Oleg_Sch, а если не требуются дополнительные файлы конфигурации и не используются прочие функции, которые перечисляются в вашем списке изменений, то можно не обновлять модуль? Или есть и какие-то мелкие фиксы, которые вы не указываете в списках обновлений и лучше пересобирать со свежими модулями после выхода обновлений? Вопрос не про какое-то конкретное обновление модулей, а вообще.

Valerkan 12-04-2016 19:49 2625519

last Version "7zsd_LZMA2_Dialogs.sfx"?

gora 12-04-2016 20:04 2625526

Вложений: 1
Цитата:

Цитата Valerkan
last Version "7zsd_LZMA2_Dialogs.sfx"? »

PS
Valerkan, делается в 4 клика мыши, нужно самому уже это уметь. ;)

vavun 13-04-2016 08:24 2625632

Кстати вот и вопрос: а почему автор решил не компилить lzma2 модули с диалогами ?

gora 13-04-2016 12:50 2625700

Цитата:

Цитата vavun
Кстати вот и вопрос: а почему »

Дык ответ то уже дан: потому что...
Цитата:

Цитата gora
делается в 4 клика мыши, нужно самому уже это уметь. »


vavun 13-04-2016 15:35 2625757

gora, я не сомневаюсь в том, что Oleg_Sch, умеет ))
Вопрос был не о том, ну да не важно.

Хочу 7zsd_all_Dialogs.sfx модуль :)
Уважаемый gora, научите, что надо делать ? )

gora 13-04-2016 16:12 2625772

Цитата:

Цитата vavun
научите »

Инструкция по изготовлению модуля с диалогами

1 Откройте модуль с диалогами (эталон), например, 7zsd_LZMA_Dialogs.sfx и, подвергаемый модификации модуль, например, 7zsd_All.sfx в Restorator 2007, как показано на рис 1
рис 1

2 Установите курсор на папке IMAGES, как показано на рис 1, ПКМ -> Копировать
3 Установите курсор на модуле 7zsd_All.sfx, как показано на рис 2, ПКМ -> Вставить, получите то, что показано на рис 2
рис 2

4 Установите курсор на папке Диалог, ПКМ -> Копировать
5 Установите курсор на модуле 7zsd_All.sfx, ПКМ -> Вставить, получите то, что показано на рис 3
рис 3

6 Нажмите на кнопку Сохранить файл на диск, третья слева на панели инструментов, получите то, что показано на рис 4
рис 4


Изготовление модуля с диалогами завершено! :yahoo:

vavun 14-04-2016 00:03 2625880

gora, блин, а я так пробовал когда то, и ничего не вышло ))
Надо перепопробовать

vavun 14-04-2016 00:55 2625892

Вложений: 5
Получилось ))

Вот алгоритм для Resource hacker, даже проще и быстрее (для тех, кто имеет неприятный опыт работы с Restorator2007)

Открыть 7zsd_All.sfx
Выбрать в меню Action => Add from a Resource file (*.res, *.dll, *.exe)
Скриншот


Выбрать 7zsd_All_Dialogs.sfx (не забыть поставить тип файлов "All files (*.*)") и отметить "папки" IMAGES и Dialogs
Скриншот


Готово, сохранить
Скриншот

sov44 17-04-2016 10:21 2627067

Не запускается ExecuteOnLoad, в чём может быть причина?
Модуль 7zsd_LZMA2.sfx 7zsd_170_3900, файл err.vbs в папке err.sfx.api.1, находящейся в корне архива.
Код:

ExecuteOnLoad="%%P:hidcon:cmd /c if /i not exist \"%%S\\Drivers\" (cscript //nologo err.vbs)"

gora 17-04-2016 11:11 2627075

sov44, хотя эта папка упомянута в анонсе, но ее описания в справке я пока не делал и даже не тестировал эту папку. Причина в том, что ее концепция не принята окончательно и может быть изменена в дальнейшем.
На момент последнего обсуждения концепции папка *.sfx.api.* в корне архива распаковывалась в дополнительную временную папку, но распаковывалось не ее содержимое, а сама папка с содержимым. Если оно так и осталось, то путь к файлу err.vbs в Вашем случае должен выглядеть так:
Код:

ExecuteOnLoad="%%P:hidcon:cmd /c if /i not exist \"%%S\\Drivers\" (cscript //nologo err.sfx.api.1\\err.vbs)"

sov44 17-04-2016 11:30 2627081

gora, к сожалению не работает. Остаётся ждать обновления модуля.

ya158 25-04-2016 15:27 2629511

Oleg_Sch,
Большое спасибо, что занимаетесь дальнейшей разработкой модуля.

Может у вас найдется время/желание воплотить некоторые хотелки, о которых я просил ранее:
1. Префиксы/секции по аналогии с x86 и x64, но для определения на какой системе запустился инсталлятор - "XP", "VISTA, "7", "8", "10", "не ниже, чем VISTA" и т.п.
2. Проверка условий - например, наличия определенного файла. В частности сейчас появилась возможность запуска команд до распаковки самого архива - 'ExecuteOnLoad', 'PreExtract', 'PreExtractX'. С помощью них можно организовать проверку установлена ли программа или нет, а также проверку версии этой программы (с помощью cmd или vbs). Но было бы неплохо в зависимости от результатов такой проверки выводить различные BeginPrompt, запускать различные RunProgram или вообще прерывать распаковку с/без уведомлением. Можно конечно пользоваться командой типа taskkill из ExecuteOnLoad или PreExtract для прерывания распаковки при определенных условиях, но при этом можно прервать другой процесс, да и вообще лучше делать это нативно из модуля.
3. Получения в модуль значения переменной из комстроки:
Код:

GetEnvironment="cmd set a=test"
RunProgram="cmd set b=%a%"

Хотя, наверное это из области фантастики :)

Victor_Man 04-05-2016 00:11 2631643

Давно здесь не был...а тут обновы, здорово(!), буду разбираться!
По поводу вопросов, которые возникают у меня:
1. Как предотвратить повторный запуск одного и того же SFX? Или завершить его, не попортив уже запущенный?
Зачем: мало ли что сделала ранее запущенная инстанция, а тут все начинается с начала.
Может, в текущей версии это уже можно сделать? А может и в старых был вариант? - я не настолько досконально разбирался...не ругайте сильно.
2. Хотелось бы иметь минимальный инструмент для ветвления команд (не из командной строки, а в теле файла конфигурации)
Ну хоть простейший, например - что-то проанализировать и пропустить команды или хотя бы выполнить команды.
Как бы виделось это для выполнения п.1 (просто для понимания мысли - п.1 можно решить совсем по другому, наверное):
Посмотрел наличие ранее распакованного (или созданного предыдущей инстанцией) файла (да хотя бы просто через cmd) и установил переменную %XXXX%.
В следующей команде проанализировал переменную %XXXX% и завершил сценарий (нужна команда типа Exit), можно с сообщением.
3. Был у меня еще вот такой вопрос: http://forum.oszone.net/post-2506896.html#post2506896
===========================================================
От радости :), что есть обновы не прочитал предыдущий пост - а там, собственно, похожее предложение.

vladshishkin 04-05-2016 07:51 2631666

Victor_Man,
1. вариант был: OverwriteMode="10" по крайней мере так не давало ошибки и запускалось несколько версий
2. изучайте сценарии и чужие проекты.
Есть замечательная программа: SFX Config Editor, в ней можно открыть любой готовый проект и подсмотреть конфиг. (скопировать, отредактировать)
3. есть у модуля для этого переменные.

Victor_Man 04-05-2016 20:19 2631919

Цитата vladshishkin:
1. вариант был: OverwriteMode="10" по крайней мере так не давало ошибки и запускалось несколько версий
2. изучайте сценарии и чужие проекты.
Есть замечательная программа: SFX Config Editor, в ней можно открыть любой готовый проект и подсмотреть конфиг. (скопировать, отредактировать)
3. есть у модуля для этого переменные. »

1. Да много может быть конфликтов, например:
- запускаем SFX, скрипт изменяет какой-то файл в %InstallPath%
- запускаем новый SFX и скрипт портит этот файл.
Или еще вариант:
Запускаем SFX, завершаем программу...но скрипт делает какие-то действия некоторое время.
Запускаем новый SFX, в процессе распаковки его первая инстанция завершается и по Delete удалет все из папки %InstallPath%.
И т.д.

2. Да знаю я, как извлечь конфигурационный файл и файлы проекта (--sfxconfig, 7Zip, Universal Extractor) и легче их рассматривать просто глазками, сверяясь с описанием. И проектов много видел, но вот что-то не нашел того, о чем я писал.
3. А можете хотя бы назвать эти переменные...их даже много, оказывается...
Надеюсь, вы не имели в виду %%S, %%T или %SfxFolderXX% - это все не то.
А в идеале для подтверждения Вашего утверждения можете изменить мой пример в п.3. Буду благодарен.
Я Вам даже билдер приложил там http://forum.oszone.net/post-2506896.html#post2506896
=============================================
Не успел посмотреть, может, что-то в новой версии и добавились, но в старой ответа на свои вопросы я не нашел.

HA3APET 06-05-2016 22:41 2632605

Oleg_Sch, модули не поддерживают архивы запакованные с параметром -myx=9?

SergeyZV 10-05-2016 18:02 2633604

Oleg_Sch, gora, Вышел 7-Zip 16.00 Final. С нетерпением ждём от вас обнов.
gora, Если есть возможнось подправить механизм теста сжатия больших архивов, что бы отображался лучший метод и при подключении ключа fb тест продолжался.

vladshishkin 18-06-2016 08:00 2643685

Цитата:

Цитата Victor_Man
Да много может быть конфликтов, например:
Запускаем SFX, завершаем программу...но скрипт делает какие-то действия некоторое время.
Запускаем новый SFX, в процессе распаковки его первая инстанция завершается и по Delete удаляет все из папки %InstallPath%. »

Я считаю что в модуле очень не хватает функции "убийства" процесса
И функции "убийства" всех дочерних процессов после закрытием проекта. Для того чтобы временная папка корректно удалялась. Иначе она активно размножается по пути извлечения.
Применение системного TaskKill не всегда возможно, так как во многих WinPe его просто нет...

Ж.Д.А.Л.К.Е.Р. 22-06-2016 16:41 2644870

Глюк или так задумано ?

Код:

Shortcut="P,{%WinDir%\\Prog.exe},,,,{ProgName},{%WinDir%}"
Создает ярлык в свойствах которого переменная %WinDir% так и записана переменной.

А в случае ниже, вместо %WinDir% ее значение в свойствах ярлыка.
Код:

SetEnvironment="PathInst=%WinDir%"
Shortcut1="P,{%PathInst%\\Prog.exe},,,,{ProgName},{%PathInst%}"

Пробовал на Windows 7 x64, Xp x86, модули 1.6.2.3888 и 1.7.0.3873.

specialist 22-06-2016 17:45 2644886

Ж.Д.А.Л.К.Е.Р., как насчет 7zSfxFolder36
http://forum.oszone.net/post-1253563.html#post1253563

sov44 22-06-2016 18:00 2644888

specialist, точно! Несколько раз просмотрел справку но глаз так и не зацепился...
Код:

Shortcut="P,{%SfxFolder36%\\Prog.exe},,,,{ProgName},{%SfxFolder36%}"

vladshishkin 22-06-2016 19:47 2644918

А корректно ли работает модуль с диалогом x64???
У меня дает критическую ошибку. Если есть рабочий пример (x64), с интерфейсом киньте сюда или в личку, пожалуйста...

Ж.Д.А.Л.К.Е.Р. 27-06-2016 19:22 2646039

При использовании не стандартного ключа (которого нет в справке по модулю) для запуска sfx архива получаем глюки, пример:

Файл конфигурации:
Код:

;!@Install@!UTF-8!
GUIMode="2"
MiscFlags="4"
RunProgram="hidcon:cmd /c Md %SystemDrive%\\111"
RunProgram="hidcon:cmd /c Md %SystemDrive%\\222"
RunProgram="%%P:cmd /c Install.cmd"
;!@InstallEnd@!


Командный файл (в данном примере просто отображает значение SfxVarCmdLine2, а в рабочем варианте выполняет действия в зависимости от значения SfxVarCmdLine2):
Код:

@Echo off
Color 02
Echo Script working.
Echo SfxVarCmdLine2 .%SfxVarCmdLine2%.
Pause
Exit

Prog.exe - готовый sfx на основе 7zsd_LZMA2.sfx v1.7.3873.

Просто запустив Prog.exe двойным щелчком мыши, получим две папки в корне системного раздела + консольное окно Install.cmd. Все как и должно быть.
Запуск Prog.exe /Install создаст только папку 222. Папки 111 нет, так как судя по моим тестам первый RunProgram не выполняется.
Если запустим Prog.exe -Install, получим папки "111-install" (неожиданно...) и "222".

Пробовал модули 1.7.3873, 1.7.3900, 1.6.1.3888, результат везде одинаков.

sov44 27-06-2016 20:30 2646052

Ж.Д.А.Л.К.Е.Р.,
Цитата:

Все ключи, передаваемые исполняемой программе внутри архива, будут переданы ТОЛЬКО первой программе, исполняемого в данный момент типа команд запуска.
справка, ключи командной строки.

п.с. использую этот финт для отключения паузы в сборках пакетов обновления офиса http://forum.oszone.net/post-2585016-746.html

vladshishkin 02-07-2016 14:14 2647434

Не удаляется временная папка проекта, если запущен какой нибудь дочерний файл... (Вне папки проекта!)
Есть ли какие то пути решения?

Iska 03-07-2016 01:50 2647558

vladshishkin, покажите готовый пример. Есть ли возможность сначала сменить текущий каталог перед запуском дочернего файла на исполнение?

vladshishkin 03-07-2016 08:15 2647567

Мне тут чуть подсказали... использовать префикс waitall: при закрытии дочернего файла, временная папка удаляется.

Но это немножко не то что я хотел. Временная папка мне уже не нужна, раз я закрыл программу.
А запущенный, дочерний файл справки, в другом каталоге, мне удалять не требуется. (средствами SFX)

KaSpieC 666 21-07-2016 14:27 2652914

Доброго всем времени.
Столкнулся с одной проблемой.
Запакованные SFX-ы, в которых есть функция (в самих программах) открыть папку (в проводнике), на Windows XP - зависают на 20-30 секунд...
То есть, есть портативная программа, в которой есть функция "открыть папку в проводнике", на ХР, при открытии папки в проводнике - зависает запущенный SFX.
Пробовал разные программы по созданию SFX, но безрезультатно.
Есть ли какие-то решения?

specialist 21-07-2016 16:04 2652946

KaSpieC 666, возможно не совсем понял задачу, а чем не вариант
Код:

explorer.exe %temp%
а если не нужно ждать пока окно закроют
cmd /с start "" explorer.exe %temp%


KaSpieC 666 21-07-2016 23:22 2653081

specialist, Приветствую.
Вы не совсем правильно меня поняли.
Есть программы портативные, в которых есть функция "Открыть папку" (в проводнике).
Например Everything.
Так вот в ней, можно нажать два раза ЛКМ, по пути, и откроется эта папку в проводнике.
НО, когда я делаю SFX (распаковка, запуск, удаление временной папки) из этой программы, то при попытки "Открыть папку" - программа виснет на 20-30 секунд, пока не откроется проводник...
И это только на ХР, проверял на нескольких компах. На других ОС, такой проблемы нету.

Victor_Man 19-08-2016 13:01 2661382

Цитата:

Цитата vladshishkin
Не удаляется временная папка проекта, если запущен какой нибудь дочерний файл... (Вне папки проекта!)
Есть ли какие то пути решения? »

1. Все-таки есть процесс в папке SFX, из которого запущен дочерний.
Нужно найти его (попробуйте для этого удалять файлы) и убить.
2. Iska
Цитата:

Цитата Iska
vladshishkin, покажите готовый пример. Есть ли возможность сначала сменить текущий каталог перед запуском дочернего файла на исполнение? »

Такой вариант я применял, работает (в командных файлах).
3. А нельзя запускать через Start?

Сlassic 19-08-2016 15:07 2661416

http://forum.oszone.net/post-389653.html#post389653

vladshishkin 20-08-2016 20:45 2661728

Уважаемый, Олег Щербаков!
Вы, создали замечательный модуль! Благодарю Вас за это!
Меня, да и многих интересует, будет ли обновляться модуль и дальше.
Мы на это надеимся... Если надо профинансировать, напишите...

7z SFX Constructor - программа для создания SFX архивов. (базируется на модуле 1.7)

SergeyZV 02-09-2016 08:59 2665070

Что-то Oleg_Sch с 25 июля не появлялся на форуме?

Victor_Man 26-09-2016 13:20 2672309

SergeyZV, я так понимаю, что просто нет времени.
Так уже давно, надеюсь, что все-таки время будет находиться...хотя бы раз в год.
А не присоединится ли кто в соавторы для продолжения проекта, c согласия Олега?
Если бы я был программистом - давно бы это сделал, но увы :(
Когда-то давным-давно я пробовал что-то писать на ASM (даже помню еще, что такое "флаг реентерабельности DOS").
Но сейчас безнадежно отстал...
Пока мне не хватает передачи через SFX папки по умолчанию вызывающей программы (не папки, где находится SFX-модуль!).
Т.е. теряется возможность обращаться к файлам в папке по умолчанию вызывающей программы.
Я поднимал вопрос ранее:
http://forum.oszone.net/post-2506896.html#post2506896
Как минимум, вижу применение для создания SFX-модуля, который может вызываться по ассоциации расширений файлов (ПКМ) и открывать файлы в папке по умолчанию вызывающей программы.
Вот собрал в кучу еще раз пример, добавил демонстрацию решения на FASM (мод лаунчера от addhaloka).
http://www84.zippyshare.com/v/teXmyhv9/file.html

sov44 26-09-2016 14:58 2672344

Victor_Man, изложите суть на доступном языке, в чём у вас проблемы. Модуль как так таковой, программно возможно откуда-то и вызывается, но для практического испольхования 7zipSFX об этом заморачиваться не стоит. Напоминаю, что классический 7zipSFX (name.exe) состоит трёх файлов *.sfx+ *.txt+ *.7z. После запуска содержимое *.7z (опционно) распаковывается в папку %temp%\7ZipSfx.*, в эту-же папку выполняется переход командной строки (%%T).
Вспоминайте синтаксис командной строки и с учётом особенностей модуля прописывайте в *.txt требуемые вам операции.

Victor_Man 27-09-2016 00:51 2672551

Цитата sov44:
Вспоминайте синтаксис командной строки и с учётом особенностей модуля прописывайте в *.txt требуемые вам операции. »
Большое спасибо за ответ...очень даже благодарен, все-таки Вы заслуженный ветеран здесь.
Но...так я это...уже собирал...однако.
Может мало, конечно, ну собрал наверное несколько сотен сборок всего...за пять лет.
Ну, проектов может всего сотну-другую, а остальное модификации - x86, x64 и пр.
А такие азы, которые Вы написали, знал еще в 2011 году, когда версия 1.4 была.
Раньше, каюсь, не знал о существовании модуля.
========================================================
Насчет доступности языка - а пробовали попытаться понять?
Или скачать по последней ссылке и попробовать...не?
Там примеры: клик-клик на .CMD и язык вполне доступный - скрипты Windows, команды модифицированного модуля, Ассемблер...повторяю ссылку:
http://www84.zippyshare.com/v/teXmyhv9/file.html
========================================================
Ладно, эмоции и шутки в строну :) - посмотрите, пожалуйста, может, и есть какое решение в модуле - я не нашел.
Хотя я, конечно, согласен с Вами, что модуль вроде как не затачивался на разборе, откуда он вызывается. Но ведь это всего одна переменная, добавить которую - одна-две строки кода. А переменных в модуле - (0...61) + сверху кучка. Ну появилась бы еще одна.

Victor_Man 27-09-2016 11:32 2672635

Коллеги, а насчет gora что-то вроде неприятные известия...это правда?

Nordek 27-09-2016 12:22 2672645

Victor_Man, Евгений Сахаров (gora) ушел из жизни.

Malysh-ok 04-10-2016 12:08 2674901

Всем день добрый!
Цитата:

Цитата sov44
Не запускается ExecuteOnLoad, в чём может быть причина?
Модуль 7zsd_LZMA2.sfx 7zsd_170_3900, файл err.vbs в папке err.sfx.api.1, находящейся в корне архива. »

Как я понимаю, проблема не исправлена (т.е. папка *.sfx.api.* во временной папке не создается)?
Если это так, то не подскажет никто, когда ждать исправления бага?

sov44 04-10-2016 12:58 2674918

Malysh-ok, по крайней мере в модифицированном модуле 1.7.0 Develop, сборка 3873 эта функция работает. Папка *.sfx.api.* действительно не создаётся, однако запустить командную строку либо стороннее приложение всё-же возможно.

vladshishkin 04-10-2016 17:09 2674998

Подскажите что лучше использовать MiscFlags="4"
или все таки подправить манифест?
Для повышение прав... (от Администратора)

vavun 04-10-2016 20:40 2675079

vladshishkin, лично мне еще не встречался случай, когда бы это было принципиально (манифест или miscflags="4")
Но лично я предпочитаю править манифест.

vladshishkin 05-10-2016 08:57 2675197

vavun, Так в том то и дело, что разница есть...
Если повышение прав по флагу miscflags="4", то в процессах висит две копии SFX одна запущенная вами, другая модулем, с параметрами, а потом уже процесс запуска...
По этому вопросу, ответа от Олега Щербакова не видел.
Может это просто для удобства сделано, что бы не править каждый раз манифест, а может есть еще какой либо смысл, взаимодействие с UAC, например...
У меня то все автоматизировано, программе не тяжело и манифест поменять, ну или подправить...
Можно еще, для лучшей совместимости, добавить ID систем в него...

vavun 05-10-2016 15:41 2675333

Цитата:

Цитата vladshishkin
Если повышение прав по флагу miscflags="4", то в процессах висит две копии SFX одна запущенная вами, другая модулем, с параметрами, а потом уже процесс запуска. »

Да, процесс sfx сам себя повторно запускает но уже с повышенными правами (ключ -sfxelevation)
http://forum.oszone.net/post-2603188.html#post2603188 (следующим за моим сообщением идет ответ Олега разъясняющий сей процесс)
http://forum.oszone.net/post-2624171.html#post2624171 (+ еще)
Но чем это мешает то ?

vladshishkin 05-10-2016 16:39 2675351

В ХРюнделе, запущенная из под SFX программа, если в ней открыть папку проводника, зависает секунд на 20. Следующие открытия, нормально.
Вот и ищу причину...

vavun 05-10-2016 17:24 2675360

vladshishkin, Загрузите куда-нибудь sfx и эту программу. Попробую воспроизвести проблему, хотя если модуль и причастен. то скорее косвенно

vladshishkin 05-10-2016 21:55 2675422

vavun, У Вас XP? В других системах все нормально...

vavun 05-10-2016 22:30 2675436

vladshishkin, на виртуалке

KaSpieC 666 06-10-2016 11:00 2675510

vavun,
Писал ранее об этой же проблеме.
На живой ХР (на виртуалках и РЕ не пробовал), если сделать SFX из программы, в которой есть функция "открыть папку" в проводнике - идет зависание программы на 20-30сек.

vladshishkin 11-10-2016 08:16 2676873

KaSpieC 666, так дай пример, vavun, может будет какое либо решение...
Я на XP бываю редко, и примера у меня нет. Но проблему один раз видел...

vavun 17-10-2016 22:39 2679197

А давно http://7zsfx.info лежит ?

vladshishkin 19-10-2016 21:10 2679902

Опа... Приехали...

tr011_tmn 19-10-2016 22:05 2679910

Цитата:

Цитата vavun
А давно http://7zsfx.info лежит ? »

Цитата:

Цитата vladshishkin
Опа... Приехали... »

вы знаете что то, чего не знают остальные?

vavun 19-10-2016 22:16 2679913

tr011_tmn, вы это о чем ?

vladshishkin 20-10-2016 08:53 2679991

tr011_tmn, Никто ничего не знает... Олег давно не появляется, gora умер.
И всем очень интересно, что же дальше будет с проектом...

ukolovstas@twitter 23-10-2016 21:25 2681005

Цитата:

Цитата vladshishkin
Никто ничего не знает... Олег давно не появляется, gora умер.»

А может кто-то выложить крайнюю версию модуля? А то везде только ссылка на сайт, а сайт :(

Я правда, вырвал модуль из OpenServer, но он там за 2012 год. Могу положить, если кому надо. Но хочется самый свежий...

specialist 23-10-2016 21:53 2681015

Цитата:

Цитата ukolovstas@twitter
А то везде только ссылка на сайт, а сайт »

как посмотреть как выглядел какой-то сайт на определенную дату (или пока был доступен)?
веб архив http://archive.org/web/web.php
вбиваете нужный сайт в строку и получаете
http://web.archive.org/web/201609191...7zsfx.info/ru/

mfeef 24-10-2016 07:18 2681094

specialist, Специалист! Ты крут! Лично я даже не знал что существует такая возможность.

regist 24-10-2016 17:24 2681276

Извиняюсь за офтоп, немного дополню.
Цитата:

даже не знал что существует такая возможность.
для того чтобы она существовала, надо периодически самому заходить и сохранять в архив интересные вам страничку и сайты. И об этом надо думать заранее, а не когда уже это произойдет. А то может быть так, что зайдёте и нужного вам сайта в архиве нет. В том числе рекомендую сохранять и интересные вам темы на осзоне и т.д.
Есть ещё сайт http://archive.is/ но тут нельзя переходить по внутренним ссылкам (зато в него можно загонять странички из кеша яндекса, гугла )
PS. Как только узнал о смерти Гора, то постарался все странички его сайта (не только по модулям, а все) загнать в web.archive.org.

specialist 24-10-2016 17:34 2681280

regist, да, дела... год какой-то печальный. надеюсь хоть форум ru-board не упадет в связи с кончиной его основателя.

Victor_Man 15-11-2016 22:45 2687899

Цитата sov44:
Malysh-ok, по крайней мере в модифицированном модуле 1.7.0 Develop, сборка 3873 эта функция работает. Папка *.sfx.api.* действительно не создаётся, однако запустить командную строку либо стороннее приложение всё-же возможно. »
Да, работает - команды можно запускать до распаковки.
Аналогично работает и PreExtract.
Кстати, наконец с этой функцией я сделал вариант предотвращения повторной загрузки...иногда бывает нужно.
Чтобы не портить первую загрузку (точнее - не портить распаковку первой загрузки, т.к. там могли быть изменения).
Вот пример для Terabyte Image for Windows:
https://www.upload.ee/files/6353432/...Sound.rar.html
Способ, кстати, универсальный: нужно вставить одну строку в файл конфигурации и один маленький .cmd в папку проекта.
Править строку и файл не нужно - все берется из переменных.
===========================================
А, пароль-то ru-board :)

Victor_Man 18-11-2016 14:45 2688624

Еще модифицировал, функции:
- Предотвращение запуска второй копии проекта для исключения нарушения работы первой копии.
- Восстановление измененных файлов и реестра в случае краха или случайной перезагрузки системы во время работы проекта.
https://www.upload.ee/files/6360739/...X_MOD.rar.html
Описание внутри.
Приложен пример для Minitool Partition Wizard.
Пароль - ru-board
=========================
Еще модернизировал - при крахе/перезапуске системы восстанавливается окружение.
Поэтому в сценарии завершения их можно все использовать.
Вроде теперь уже совсем универсально получилось.
https://www.upload.ee/files/6377275/PW91_Fix6.rar.html
Ну и окончательно добил по нюансам с32-битными программами на x64.
И добавил в инструкцию описание по созданию проекта. Приложены три разные проекта.
https://www.upload.ee/files/6397683/7zSFX_Fix9.1.rar.html
Теперь все как-то проще и единообразнее получается - берешь шаблон и правишь.
Попробовал на нескольких проектах - проблем не обнаружил (Win7x86, Win7x64, Win10x64).
================================================
В последней ссылке - Fix9 учтена поправка Ж.Д.А.Л.К.Е.Р. и добавлена небольшая защита от локального запуска файлов.
Теперь должна работать на ХP(кроме Home)/2003/7/2008 R2/8/10.
================================================
Небольшая модернизация z1_KillTask.cmd - корректное завершение при случайно оставшейся папке в %InstallPath%
https://www.upload.ee/files/6540914/...Fix10.rar.html
Текст z1_KillTask.cmd
Код:

@echo off
:: Exit under the mistaken launch
if NOT "%zz_T%\"=="%~dp0" Exit
cd /d ""%~dp0"
rd "%SfxVarApiPath%"
For /F "Skip=1 Tokens=1,2 Delims=," %%I In ('Tasklist /FO CSV /FI "IMAGENAME eq %zz_M%" /NH ') Do (If %%I=="%zz_M%" Set PID=%%~J)
:: Kill our task, if it is the second
If Defined PID TaskKill /PID %PID% /T /F
:: Otherwise, finish the unfinished previous run and exit to 7zSFX script
if exist z3_Stop.cmd z3_Stop.cmd

По смыслу примерно то же, что [у]Ж.Д.А.Л.К.Е.Р[/b] тут
http://forum.oszone.net/post-2694448.html#post2694448
Плюс корректное удаление некорректно завершенного предыдущего старта (последняя команда - if exist z3_Stop.cmd z3_Stop.cmd).
========================================================================
Ну, и еще раз вернусь к этому вопросу. В предыдущем варианте использовался z1_KillTask.cmd от первого запущенного проекта.
Основная причина - на момент выполнения PreExtract нет еще никаких файлов (скриптов) для управления.
Сделал вариант v2 - скрипт создается непосредственно в команде PreExtract:

Решил отказаться от варианта с созданием z1_KillTask.cmd в команде PreExtract. Он вроде рабочий, но.....после длительного тестирования - запускал из .cmd несколько копий - он более чувствительный, иногда, хотя и редко, копии оставались в памяти. Реально таких многократных запусков быть не может, конечно, но, тем не менее, как говорится - лучшее враг хорошего.
Немного подшаманил V1 (мод. варианта Ж.Д.А.Л.К.Е.Р - должен работать на W2003:
https://www.upload.ee/files/6672538/7zSFX_MOD_v12.rar.html

magsood 19-11-2016 14:17 2688842

How last version 7zsd?!

Victor_Man 23-11-2016 14:43 2689919

magsood,
http://forum.oszone.net/showthread.p...xe#post2480942
==========================================================
All - Еще модернизировал свое решение - см. пост выше.
http://forum.oszone.net/post-2688624.html#post2688624
Проверял на Win7x86, Win7x64, Win10x64.

vladshishkin 24-11-2016 14:47 2690191

Victor_Man, Молодец, круто придумал. Только вот... в WinPE может и не оказаться tasklist или taskkill и SFX(батник) выдаст ошибку...
А вообще, это очередной костыль... Автор мог бы и добавить команду убийства процесса в модуль...

Victor_Man 28-11-2016 01:05 2691027

vladshishkin,
Для WinPE оно не так и актуально, наверное. Защита от перезагрузки вообще не нужна.
А вот на реальной системе перезагрузка во время работы может прилично попортить систему.
Вот посидел немного, добил нюансы с 32-битными программами на x64.
Теперь все как-то проще и единообразнее получается - берешь шаблон и правишь.
Попробовал на нескольких проектах - проблем не обнаружил (x86, x64).
http://forum.oszone.net/post-2688624.html#post2688624

Ж.Д.А.Л.К.Е.Р. 28-11-2016 18:09 2691234

Victor_Man,
Цитата:

Цитата Victor_Man
- Предотвращение запуска второй копии проекта для исключения нарушения работы первой копии. »

Не работает на Windows Server 2003, Windows Xp Home. В 2003 поиск в tasklist не работает - tasklist /FO CSV /FI "IMAGENAME eq svchost.exe" /NH выдает "Ошибка: Фильтр поиска не опознан." А на Home не работает потому что в ней нет tasklist.exe, taskkill.exe файлов.


Упростил и добавил поддержку 2003:
Код:

PreExtract="%%P:hidcon:cmd /c \"\"%%T\\KillDuplicate.cmd\" \"%%T\" \"%%M\"\""
KillDuplicate.cmd:
Код:

Cd /d %1
Rd "%SfxVarApiPath%"
For /f "Tokens=1,2 Delims=," %%I In ('TaskList /fo CSV /nh') Do (
  If %%I==%2 (
    Set /a N+=1
    Set PID=%%~J
  )
)
If %N% EQU 1 Rd /s /q %1
If %N% GTR 1 TaskKill /pid %PID% /t /f

Проверял на Хр/2003/7/2008 R2/8/8.1/10.

Victor_Man 28-11-2016 23:49 2691332

Ж.Д.А.Л.К.Е.Р.,
Ну, спасибо!
И - Fix9 учтена поправка Ж.Д.А.Л.К.Е.Р. и добавлена небольшая защита от локального запуска .cmd.

Ж.Д.А.Л.К.Е.Р. 09-12-2016 23:56 2694448

Изменил KillDuplicate.cmd - на случай если предыдущий запуск проекта был внезапно завершен (к примеру пропало электричество/пользователь закрыл батник/антивирус прибил файлы проекта) и файлы в InstallPath остались, то раньше повторный запуск проекта приводил к автоматическому его завершению (так как файлы распакованы и срабатывала защита от повторного запуска). То теперь происходит подсчет запущенных копий проекта, если процесс один - удаляем InstallPath каталог, если процессов больше чем один - убиваем второй запущенный.
Тестируйте.

X-RayPro 10-12-2016 23:50 2694646

Если кому интересно,простенький редактор конфиг-файлов
http://X-RayPro.ru.
Прошу сильно не пинать, версия БЕТА.
Предложения и отзывы приветствуются.

nibble74 30-12-2016 21:51 2699733

Вложений: 1
Oleg_Sch,


Нашел неисправность с обработкой префиксов shc0: и del0: в файле конфигурации.

Проверьте пожалуйста, вложил в файле тестовый вариант создания ярлыка на рабочем столе.

С версией модуля 160.2712 - работает.
С версиями модуля 170.3873 и 3900 - не работает, ярлык всё равно создаётся при наличии префикса shc0:

К сожалению других версий модулей у меня нет.

SySh 02-01-2017 23:37 2700268

Цитата:

Цитата nibble74
Oleg_Sch,
Нашел неисправность с обработкой префиксов shc0: и del0: в файле конфигурации.
Проверьте пожалуйста, вложил в файле тестовый вариант создания ярлыка на рабочем столе.
С версией модуля 160.2712 - работает.
С версиями модуля 170.3873 и 3900 - не работает, ярлык всё равно создаётся при наличии префикса shc0:
К сожалению других версий модулей у меня нет. »

Имя пользователя: Oleg_Sch
Последняя активность: 25-07-2016 01:50

После версий 1.6 такая беда, как вариант:
Код:

;!@Install@!UTF-8!
BeginPrompt="[Да] установка без ярлыка
\n[Да] + [Shift], установка с ярлыком"
GUIFlags="2+4+8+16+32+2048"
GUIMode="2"
RunProgram="shc0:hidcon:cmd /c echo."
RunProgram="forcenowait:hidcon:cmd /c Ping -n 10 LocalHost>Nul& Del /Q \"%7zSfxFolder16%\\Ярлык Тест.lnk\">Nul"
AutoInstall="hidcon:cmd /c echo."
Shortcut="Du,{%7zSfxFolder36%\\notepad.exe},{},{},{},{Ярлык Тест},{%7zSfxFolder36%\\notepad.exe},{}"
;!@InstallEnd@!


nibble74 03-01-2017 08:06 2700309

Мда уж, придётся как то так ухитряться.

Victor_Man 09-01-2017 22:43 2702218

Цитата Ж.Д.А.Л.К.Е.Р.:
Изменил KillDuplicate.cmd - на случай если предыдущий запуск проекта был внезапно завершен (к примеру пропало электричество/пользователь закрыл батник/антивирус прибил файлы проекта) и файлы в InstallPath остались, то раньше повторный запуск проекта приводил к автоматическому его завершению (так как файлы распакованы и срабатывала защита от повторного запуска). То теперь происходит подсчет запущенных копий проекта, если процесс один - удаляем InstallPath каталог, если процессов больше чем один - убиваем второй запущенный.
Тестируйте. »
Да, в моем первом варианте было именно так по алгоритму: процесс убивался, если он второй.
Т.е. если первого процесса не было (просто осталась папка непонятно каким способом), то вторая копия запускалась поверх.
Я тоже уже пару раз столкнулся при экспериментах с остающимися папками в %InstallDir% .
Сделал немного по-другому, - добавил полное завершение предыдущей некорректной загрузки.
http://forum.oszone.net/post-2688624.html#post2688624

Ж.Д.А.Л.К.Е.Р. 10-01-2017 00:25 2702242

Victor_Man, И снова Tasklist /FO CSV /FI "IMAGENAME eq %zz_M%" /NH, который не работает на 2003.

CryptoNick 14-01-2017 13:36 2703517

Залез я в старую версию кнопки gora и нашел микро утилиту tasktool.exe ~2kb она умеет убивать и получать список процессов VT 1/57
Ссылка на инсталлер кнопки
Пример:
tasktool -kn totalcmd.exe убить
tasktool -la получить список

mbsystem 15-01-2017 09:45 2703687

http://utilfr42.free.fr/dn/Kill.zip

CryptoNick 17-01-2017 19:33 2704245

Не задокументированные ключи SFX !!!

Просмотр диалоговых окон, готового проекта
Цитата:

-sfxtest:D:B Начальное окно
-sfxtest:D:P Выбор пути распаковки
-sfxtest:D:E:300 Прогресс распаковки
-sfxtest:D:C Сообщение отмены
-sfxtest:D:F -fm30 Финишное сообщение
-sfxtest:D:H Вывод справочной информации
-sfxtest:D:W Сообщение недостаточно места
-sfxtest:D:Z Сообщение о ошибка
-sfxtest:D:X Окно ввода пароля
Так можно тестировать дизайн диалогов, не собирая в проект
Цитата:

модуль -sfxtest:D:B -sfxconfig:путь к файлу конфигурации
Проверка синтаксиса (ошибок в сценарии)
Цитата:

модуль -sfxtest:cc -sfxconfig:путь к файлу конфигурации
Код возврата модуля:
0 - все хорошо
4 - ошибка в синтаксисе сценария

"Тихий" режим:
Цитата:

модуль -sfxtest:CC -sfxconfig:путь к файлу конфигурации
При использовании заглавных букв CC определяется только код возврата, а окно ошибки модуля на выводится


Запуск с повышением прав (от имени Администратора)
Цитата:

-sfxelevation
Равносильно ключу MiscFlags="4" в сценарии, без изменения манифеста.

Запуск с ожиданием закрытия всех запущенных дочерних процессов
Цитата:

-sfxwaitall:0
Равносильно префиксу waitall:

Victor_Man 27-01-2017 02:39 2706579

Еще раз вернулся к скриптам защиты от повторного запуска и сбоев:
http://forum.oszone.net/post-2688624.html#post2688624
Собственно, теперь скрипт формируется и запускается на выполнение прямо в PreExtract (в папке %SfxVarApiPath%):
Код:

PreExtract="%%P:hidcon:cmd.exe /c \"(echo set zz_T=%zz_T:\\\\=\\%&echo For /F \"Skip=1 Tokens=1,2 Delims=,\" %%I In ^('Tasklist /FO CSV /FI \"IMAGENAME eq %zz_M%\" /NH '^) Do ^(If %%I==\"%zz_M%\" Set PID=%%~J^)&echo If Defined PID ^(cd /d \"%TEMP\"%^&rd /s /q \"%SfxVarApiPath%\"^&TaskKill /PID %PID% /T /F^)&echo If Exist \"%zz_T%\z3_Stop.cmd\" ^(cd /d \"%zz_T%\"^&call z3_Stop.cmd^))>z1_TaskKill.cmd\"&z1_TaskKill.cmd"
Одна дли-и-и-и-нная строчка :) но менять ее не нужно.
=====================================
Какая-то непонятная ситуация возникает :( - пока удалил

Victor_Man 27-01-2017 19:35 2706790

Ж.Д.А.Л.К.Е.Р.,
Только сейчас дошло, что проблема в /FI "IMAGENAME eq XXXX"....я прошлый раз не так понял.
2003 у меня нет, проверить негде.
Через полчасика переделаю, все-равно была еще ошибочка (ее я уже исправил).

CryptoNick 31-01-2017 19:59 2707810

Victor_Man, Так все работает????
Если такая длинная строчка, можно ее и на части разделить, для удобочитаемости...
Создавать, например, батник построчно...

Ж.Д.А.Л.К.Е.Р. 01-02-2017 10:42 2707936

Victor_Man, Tasklist из 2003 сервера тупо не находит процесс если использовать встроенный фильтр, поэтому формируем список всех процессов и дальше его разбираем другими командами.
tasklist x86/x64 из 2003, переименовать чтоб имя не совпадало с системным и закинуть в одну из папок %Path%. Так на другой Windows (проверил на Хр х86 и 7 х64) можно воспроизвести проблему 2003-го Tasklist-а.


CryptoNick, Нет, там все по старому.
Цитата:

Цитата CryptoNick
Создавать, например, батник построчно... »

Вот батник.

magsood 01-02-2017 14:03 2707998

How last version 7zsd?!

CryptoNick 01-02-2017 14:32 2708011

magsood, Вот

Victor_Man 05-02-2017 20:40 2709195

CryptoNick,
Так я так и делал, это в Preextract строчка одна, а .cmd создается многострочный.
V2 вроде рабочий, но.....после длительного тестирования - запускал из .cmd несколько копий - он более чувствительный, иногда, хотя и редко, копии оставались в памяти. Реально такого частого запуска не быть может, конечно, но, тем не менее, как говорится - лучшее враг хорошего. Немного подшаманил V1 (мод. варианта Ж.Д.А.Л.К.Е.Р) - должен работать на W2003:
http://forum.oszone.net/post-2688624.html#post2688624
Все-таки жалко, что Олег не сделал функции выхода из программы...но, что есть, то есть.

Victor_Man 08-02-2017 13:24 2709962

Кстати, столкнулся с еще одной "базовой" проблемой (долго не мог понять, в чем дело):
Windows всегда (наверное?) принимает в пути \\ за \
Для примера, вот так файл Test.txt распечатывается без проблем:
Код:

@echo off
set "TEMP=C:\AA BB\"
echo %TEMP%
type "%TEMP%\Test.txt"
type "C:\\AA BB\\Test.txt"
Pause

А вот 7zSFX этого не понимает. С проблемой приходится сталкиваться, например, когда назначается:
Код:

InstallPath="%TEMP%\PathProgram"
Все прекрасно работает, пока не попадается система, где назначен TEMP с концевым флэшем.
Этот флэш остается в InstallPath и при попытке загрузить программу по RunProgram 7xSFX не находит файл программы!
С одной стороны, вроде в %TEMP% слэша не должно быть, но явно нигде не указано.
И некоторые в процессе настройки системы под себя его ставят. В основном - "старые волки", которые еще DOS помнят.
И вот возникают проблемы с некоторыми программами, они часто неявные, непонятные и не критические, но...7z SFX этому пример.
Неприятно, т.к. мало ли куда может попасть разработанная сборка...всем заранее не укажешь, что %TEMP% без слэша д.б.
Реального универсального выхода из этой проблемы в 7zSFX я не нашел.
Ну, точнее, один есть - все делать через .cmd и cmd /c, но это выход не универсальный.
Может, кто-нибудь все-таки нашел?

Ж.Д.А.Л.К.Е.Р. 08-02-2017 21:44 2710117

Цитата:

Цитата Victor_Man
Windows всегда (наверное?) принимает в пути \\ за \ »

В справке по модифицированному модулю смотрим раздел "Файл конфигурации":
Цитата:

ВАЖНО! Следующие двухсимвольные последовательности в "значение_параметра" заменяются односимвольными:

\\ = \
\" = "
\n = перевод строки
\t = табуляция
Если надо указать обратный слеш (\) (например, в путях или тексте диалога), НЕОБХОДИМО использовать ДВОЙНОЙ (\\), а если "значение_параметра" или текст диалога содержит кавычки ("), НЕОБХОДИМО перед ними использовать обратный слеш (\") (правило "лидирующего слеша").

Двухсимвольные последовательности \n и \t зависят от регистра. Т.е., \N и \T НЕ будут заменяются односимвольными.

ya158 10-02-2017 16:16 2710711

Ж.Д.А.Л.К.Е.Р., Victor_Man,
Некоторые размышления по-поводу
1. Предотвращения повторного запуска инсталлятора. Создание какого-либа файла типа z1_KillTask.cmd вообще не требуется. Строка типа
Код:

ExecuteOnLoad="hidcon:cmd /c FOR /F \"Tokens=1,2\" %I IN ('\"TASKLIST|FINDSTR /BILC:\"%%M\"\"') DO SET /A N+=1&Set PID=%~J&FOR /F \"Tokens=*\" %k IN ('cmd /v:on /C IF !N! GTR 1 ECHO !PID!') DO TASKKILL /F /T /PID \"%k\""
поможет в нелегком деле предотвращения поторного запуска. Также можно добавить выскакиваюшее оклшко с информацией о том, что инсталятор запущен дважды и вторая копия сейчас тасккиллится. У меня такая строка добавляется автоматичеки. Как это делается можно посмотреть здесь.

2. Хорошая идея проверять и удалять инсталляцию, которая по какой-то причине покрашилась. Но что-то не хочется для этого перезагружаться (я по поводу ключа в RunOnce) - ведь инсталляция может прерваться не только из-за вольной или невольной перезагрузки компьютера. Также лично мне не нравится создание в архиве с программой каких-либо дополнительных файлов (я имею в виду z3_Stop.cmd). Помимо этого в этот файл (z3_Stop.cmd) надо занести всю информацию для полной деинсталляции приложения, хотя инсталляция может быть прервана задолго до конца и полная деинсталляция может оказаться избыточной. Но и не это так важно (влиять должно только на время деинсталляции), как, например, то, что при инсталляции ключи реестра могут не просто добавляться/удаляться, а изменяться. В этом случае заранее не известно какое значение ключа реестра было до инсталляции, и, соответственно, что должно быть в реестре после деинсталляции.
Отсюда вывод - данные для инсталляции необходимо создавать динамически в самом процессе инсталляции. Причем эти данные можно использовать не только для восстановления системы после неудачной инсталляции, а и просто для обычной деинсталляции впоследствии.

Чтобы не быть голословным опять же приведу в пример свой Конструктор инсталляторов на основе 7z SFX. Инсталляторы, созданные с его помощью, в процессе установки формируют файл UnCom.~ в папке с программой. В этот файл записывается все, что делает инсталлятор, в том числе и изменяемые параметры реестра. После установки в реестре создается ветка для деинсталляции программы с помощью стандартного апплета Установка и удаления программ, а команда для деинсталляции использует данные из UnCom.~, которые записываются в реестр, сам файл UnCom.~ после этого удаляется. Так вот, если перед распаковкой программы UnCom.~ будет находится в папке, в которую должна будет установиться программа, то после окна предупреждения команды для деинсталляции из него будут выполнены, удалена папка с программой и процесс инсталляции таксккиллится.

sov44 10-02-2017 20:44 2710769

Можно чуть сократить код
Код:

ExecuteOnLoad="hidcon:cmd /c FOR /F \"Tokens=1,2\" %I IN ('\"TASKLIST|FINDSTR /BILC:\"%%M\"\"') DO SET /A N+=1& cmd /v/c IF !N! GTR 1 TASKKILL /F /T /PID \"%J\""

ya158 10-02-2017 22:20 2710789

sov44,
Я знаю. Просто я ещё добавляю окно с информацией и там приходится городить второй цикл For. Я привел код в качестве того, что можно не создавать доп файл.

Victor_Man 10-02-2017 23:39 2710799

Цитата Ж.Д.А.Л.К.Е.Р.:
В справке по модифицированному модулю смотрим раздел "Файл конфигурации": »
Ну, это то я все знаю прекрасно...но оно проблемы не решает.
В ДЕЙСТВИТЕЛЬНОСТИ ВСЕ НЕ ТАК, КАК НА САМОМ ДЕЛЕ :)
Слэш то в переменной и с ним ничего нельзя сделать.

Вот пример.
У разных юзеров назначен %TEM% так:
%TEMP%=C:\Temp - вариант 1
%TEMP%=C:\Temp\ - вариант 2 (т.е. с концевым флэшем - такое встречается, хотя и не слишком часто)
и в конфигурационном файле 7zSFX записано:
InstallPath="%TEMP%\\PathProg"
RunProgram="Program.exe"
В варианте 1 7zSFX будет искать программу здесь: %TEMP%\PathProg\Program.exe - он успешно ее найдет и запустит
В варианте 2 7zSFX будет искать программу здесь: %TEMP%\PathProg\\Program.exe - и он ее не найдет (!)
А вот если доверить вопрос поиска cmd.exe, то все в порядке:
RunProgram="cmd /c Program.exe"
Также отработает правильно и такая строка:
RunProgram="waitall:Program.exe" (видимо потому, что в этом случае используется вызов через cmd.exe)
====================================
Короче, дольше писать - вот сделал за три минуты три примера.
https://www.upload.ee/files/6659834/...lPath.rar.html
Запустите в каждом zz_Start.CMD и посмотрите результат.
Я писал именно об этом. О том, что мы не можем всех заставить поубирать слэши из TEMP.
Ну, остается вариант сказать сами виноваты...либо писать cmd /c или waitall.
====================================================
Разбираться стал, когда стали сообщать: Сборка не работает, не запускается даже!!! Одна, другая...- совершенно разные.
После разборок - вот она причина, %TEMP% со слешем.
Кстати, этим грешат "старые волки", которые DOS еще помнят, а там %TEMP% со слешем был почти за правило.
Видимо, с тех пор Windows и обрабатывает эту ситуацию, чтобы не было коллизий.

Victor_Man 11-02-2017 00:22 2710803

ya158
Ну, чем больше вариантов - тем лучше, есть из чего выбрать :)
Без командного файла - это хороший вариант, в принципе.
Я не делаю сложных проектов, поэтому стараюсь делать из простых элементов.
Ну, и также размышления:
Я остался на варианте с файлом, который вторая копия запускает из разархивированной первой.
Соответственно, при запуске первой копии такого файла нет вообще (т.к. не было еще разархивации).
Дело в том, что я вдруг сделал SFX на AusLogic Disk Defrag, а он при запуске загружает систему до 100%.
И...с удивлением обнаружил, что при такой нагрузке бывают сбои в TaskKill - и второй процесс тоже запускается!
Особенно, если кликнуть еще пару раз для тестирования. Я стал тестировать, запуская сборки из .cmd по 5 штук :)
Понятно, что такого не может быть реально, но захотелось "разобраться досконально".
Вспомнил молодость с отладкой задач в реальном времени, с логами.
Выяснил, что иногда последний PID не свой, т.е. задачи убивают друг друга, вот тут и могут быть проблемы.
А вот если запрашивать не последний процесс, а PID родителя через WMIC, то там получается всегда свой PID.
Но там что-то все так медленно ворочается - я от варианта c WMIC отказался.
Одним словом, самый устойчивый оказался именно вариант с файлом, который вторая копия запускает из разархивированной первой.
Но еще раз - это все для запредельных вариантов, которые в жизни не встретятся...
===================================================
Добавил альтернативный вариант z1_KillTask.cmd (на WMIC/TaskKill вместо TaskList/TaskKill) - в принципе то он рабочий.
http://forum.oszone.net/post-2688624.html#post2688624

CryptoNick 11-02-2017 08:30 2710822

Victor_Man, Со сторонними утилитами, выложенными в теме ранее, не хотите попробовать продолжить эксперименты?

Victor_Man 11-02-2017 10:07 2710831

CryptoNick, какие имеются в виду?
А, tasktool...ну, гляну, может.
С убиванием непонятки были - на каждое нормальное завершение taskkill (0) приходилось аж 3 ошибочных (128)...
=======
Хотя, для нашего случая (единичный повторный запуск) все описанные решения через taskkill вполне рабочие, так что это уже не в тему, пожалуй.

CryptoNick 11-02-2017 11:09 2710845

Еще как в тему... Как я писал, в WinPE может и не быть taskkill и tasklist

ya158 11-02-2017 11:25 2710851

Цитата:

Цитата Victor_Man
Я не делаю сложных проектов, поэтому стараюсь делать из простых элементов. »

Я и не говорю, что SFX 7-zip предназначен для сложных проектов. Например, установить AkelPad с нормальной заменой Блокнота гораздо проще с помощью nsis.
Я сделал свой Конструктор для упрощения составления файла конфигурации (чтобы не акцентировать свое внимание на правильности синтаксиса файла конфигурации - там слеш не задвоил, тут кавычки не заэкранировал) и для наиболее корректной деинсталляции, т.к. сам модуль SFX в явном виде не дает инструментов деинсталляции. Предотвращение повторного запуска удаление прерванной установки лично для меня не столь интересны, как, например, закрепление программы на панели задач с правами администратора или даже просто присвоение прав администратора ярлыку, созданному с помощью модуля.
Цитата:

Цитата Victor_Man
Выяснил, что иногда последний PID не свой »

А чей же тогда PID? У двух процессов одинаковый PID?
Цитата:

Цитата Victor_Man
А вот если запрашивать не последний процесс, а PID родителя через WMIC »

Недопонял - PID какого родителя?

Цитата:

Цитата CryptoNick
Еще как в тему... Как я писал, в WinPE может и не быть taskkill и tasklist »

Ну ради таких WinPE таскать в дистрибутиве дополнительный файл - это как-то.... Если я не ошибаюсь, то taskkill/tasklist просто файлы. Тогда проще на той же флешке, где находятся инсталляторы иметь taskkill/tasklist, а в инсталляторах для этого случая организовать добавку пути к taskkill/tasklist в Path. А еще проще вставить в такой WinPE taskkill/tasklist.... Да и вообще - представим очень маловероятный сценарий: Запустили WinPE и обнаружили, что в оси нет необходимой, уже проинсталлированной, программы - решили установить и случайно запустили установку дважды. Ещё более маловероятно, что такая двойная установка что-то накосячит в WinPE или в самой программме, но и в этом случае можно просто перезагрузиться и снова аккуратно проинсталлировать нужную программу...

CryptoNick 11-02-2017 11:56 2710857

ya158,
Цитата:

Я сделал свой Конструктор для упрощения составления файла конфигурации
Ну не знаю, как упрощение.... Я в нем так и не разобрался... Как и в кнопке gora
И таких как я много...
Как альтернативу, всему мудреному, заумному, написал свою программу...
Цитата:

Ну ради таких WinPE таскать в дистрибутиве дополнительный файл - это как-то....
Одна утилита весит два килобайта, другая 8 килобайт.
Можно использовать первую... А вес у нее почти такой же как у батника-убийцы дубликата.
Цитата:

решили установить и случайно запустили установку дважды. Ещё более маловероятно, что такая двойная установка что-то накосячит в WinPE или в самой программме, но и в этом случае можно просто перезагрузиться и снова аккуратно проинсталлировать нужную программу...
Если извлекать в определенную папку, и потом, после окончания работы, само удалять данную папку...
При повторном запуске проекта и его закрытии, все не заблокированные файлы первого проекта, удаляются.
И если первому, они понадобятся, то будет ошибка...

ya158 11-02-2017 12:16 2710862

Цитата:

Цитата CryptoNick
Ну не знаю, как упрощение... »

Упрощение - ну, например, не надо в длинной строке внимательно отслеживать экранировку кавычек. У меня из-за невнимательности частенько бывает, что не замечаю в середине длинной строки, что не поставил слеш перед кавычками. Также, например, не надо вспоминать правильный синтаксис записи в реестр - указал в system.ini куст, имя и значение параметра и все. Надо изменить что-то в определенной секции - не нужно искать по всему файлу конфигурации. Я частенько пересобираю инсталляторы и мне проще просто запустить простой cmd-шник, зная, что он не просто соберет инсталлятор, но и также выставит в его свойствах соответствующие записи. А также автоматическое создание деинсталляции... Как-то так...
Цитата:

Цитата CryptoNick
Я в нем так и не разобрался.. »

Если есть такое желание - прошу в соответствующую тем. С удовольствием помогу разобраться, заодно может найдутся какие-нибудь ошибки или подскажите путь для упрощения/модификации...
Цитата:

Цитата CryptoNick
Как и в кнопке gora »

В ней я вижу только одну полезную функцию - быстро посмотреть файл конфигурации (все собираюсь сделать свою кнопку только для этой функции, но все руки не доходят). Распаковывать лучше с помощью самого 7-zip или с помощью UniversalExtractor-a, а создавать SFX мне проще батником.
Цитата:

Цитата CryptoNick
Как альтернативу, всему мудреному, заумному, написал свою программу... »

Можно по-подробнее?...
Цитата:

Цитата CryptoNick
Одна утилита весит два килобайта, другая 8 килобайт. »

Дело не в весе... Просто я считаю, что в дистрибутиве программы должна быть только сама программа и никаких служебных файлов.

CryptoNick 11-02-2017 12:32 2710871

ya158,
Цитата:

Просто я считаю, что в дистрибутиве программы должна быть только сама программа и никаких служебных файлов.
Это понятно... Ошибок и недоработок модуля уже много собралось... Вот бы вернулся Олег, и подправил... Готов даже финансово про стимулировать....

ya158 11-02-2017 12:38 2710873

Цитата:

Цитата CryptoNick
Вот бы вернулся Олег, и подправил.. »

Всеми частями тела "За"... Может есть какая-нибудь информация о нем?

Victor_Man 11-02-2017 18:00 2710927

Цитата:

Цитата CryptoNick
Готов даже финансово про стимулировать.... »

Поддерживаю...но что-то его не слышно давно.

Victor_Man 11-02-2017 18:17 2710936

Цитата ya158:
А чей же тогда PID? У двух процессов одинаковый PID? »
Да не, при двух процессах все нормально.
А это я писал для экстремального варианта, когда после первого запуска кликаешь еще 2 раза, например.
Тогда:
PID1 - первый
PID2 - второй
PID3 - третий
К моменту запроса из-за загрузки системы оба процесса могут получить именно так - PID3 последний (для одного он свой, для другого - чужой). Далее они оба пытаются убить последний, один убивает быстрее, второй получает код завершения TaskKill 128 (нет такого процесса). И далее может быть коллизия с вылетом из PreExtract в скрипт 7xSFX и повторным запуском разархивации и т.д.
Но это экстрим, как я уже писал. И словил его я именно при большой загрузке системы (Auslogic Defrag) и паре-тройке "повторных" запусков.

Victor_Man 11-02-2017 23:21 2711010

Цитата:

Цитата CryptoNick
Со сторонними утилитами, выложенными в теме ранее, не хотите попробовать продолжить эксперименты? »

Кстати, а какой смысл использовать сторонние? Если уж использовать внешние программы, то родные MS.
Как там в Вечерах..."Тому не надо черта искать, у кого черт за спиной" :)
Я проверял - на W7x86/x64 и Win10x64 работают TaskList.exe и TaskKill.exe от XPSP3.
На WinPe не проверял - ну, попробуйте сами.
Файлы от английской 5.1.2600.5512 вот:
https://www.upload.ee/files/6663774/XP_SP3_EN.rar.html
В вызовах дописываете путь (нужно передавать в .cmd %%T) и дописываете .exe к имени задачи.
И все работает.
В принципе, тогда можно и /FI (фильтры) использовать на английском ('Tasklist /FO CSV /FI "IMAGENAME eq %XXXXXX%" /NH ').

ya158 11-02-2017 23:50 2711013

Victor_Man,
Все равно немного недопонял с процессами.
Может это как раз из-за того, что на сильно загруженной системе разные копии инсталлятора пытаются запустить дополнительный файл z1_KillTask.cmd, причем, насколько я понимаю один и тот же... Попробуйте протестировать предложенный мною вариант без доп файла.

Victor_Man 12-02-2017 16:12 2711165

ya158, sov44
На усиленное тестирование не хватило времени и терпения...
Попробовал оба варианта и вот небольшое дополнение - нужно первой командой удалить SfxVarApiPath:
Код:

cmd /c cd /d %TEMP%&rd /s /q \"%SfxVarApiPath%\"&...
А то остаются SfxVarApiPath в %TEMP%.
Ну а так в принципе оба решения вполне рабочие...только проблема одна все-таки обнаружилась, пока глубоко не копал:
Если далее программу вызывать с waitall:, то получаю такое сообщение:
DiskDefrag_Std_RU.exe: ошибка
------------------------------------
Произошла ошибка при выполнении DiskDefrag.exe
Неверная функция.
==================================
Никакого отношения к загрузке системы не имеет, т.к. и в спокойном состоянии то же самое.
Обидно...так красиво все получилось, может, посмотрите, как с другими программами?
Я просто уже не успеваю, может, это и c DiskDefrag только.
Хотя...тут проблема общая, наверное, т.к. по waitall: запускается второй процесс, вот он и киллится.
Но у меня почему-то такого не происходит, я тоже боялся раньше, когда делал вариант с .cmd, но при проверке проблем не обнаружилось и я дальше не копал.
В файле анализ такой (zz_M%=%%M):
Код:

For /F "Tokens=1,2 Delims=," %%I In ('Tasklist /FO CSV /NH ') Do (If %%I=="%zz_M%" (Set PID=%%~J&&Set /a N+=1))
If %N% LEQ 1 goto NEXT  - это нормальный выход, иначе TaskKill

Вроде по логике то же самое.

ya158 12-02-2017 17:09 2711178

Цитата:

Цитата Victor_Man
DiskDefrag_Std_RU.exe: ошибка »

Может дело в DiskDefrag_Std_RU.exe? Попробуйте запустить другую программу, например, Блокнот.
Завтра попробую с каким-нибудь своим инсталлятором...

Victor_Man 12-02-2017 17:37 2711187

Я вечером попозже тоже попробую. Но непохоже на DiskDefrag. Он стоит себе спокойненько, кликаю на сборке - вылетает первая копия.
Выхода из ExecuteOnLoad и повторной загрузки по RunProgram точно не было, там у меня Pause стояло для отладки.
Да, еще одно замечание:
TaskList без ключей выводит в формате колонок с разделителями=пробел.
Могут быть проблемы, если кто сделает сборку с пробелом в имени.

Victor_Man 12-02-2017 21:57 2711256

Да, я писал насчет TaskList/TaskKill - не работают он в WinNpe, не хватает какой-то оснастки.
Можно только PsList и PsKill попробовать из PsTools.

Victor_Man 13-02-2017 23:51 2711559

ya158, насчет waitall - все правильно, так и должно быть, т.к. запускается второй процесс, нужно писать
Код:

cmd /v:on /C IF !N! GTR 2
Ну, или, чтобы не менять стоку, написать
Код:

SetEnvironment="NProc=2"
......cmd /v:on /C IF !N! GTR %NProc%

Или вот все вместе для waitall, с учетом того, что я писал ранее:
Код:

SetEnvironment="NProc=2"
ExecuteOnLoad="hidcon:cmd /c cd /d %TEMP%&rd /S /Q \"%SfxVarApiPath%\"&FOR /F \"Tokens=1,2 Delims=,\" %I IN ('\"Tasklist /FO CSV /NH|FINDSTR /BILC:\\\"%%M\\\"\"') DO SET /A N+=1& cmd /v/c IF !N! GTR %NProc% TASKKILL /F /T /PID %J"
RunProgram="waitall:.\DiskDefrag.exe"


ya158 15-02-2017 17:39 2712017

Victor_Man,
Добавил в свой работающий инсталлятор строку (правда она в самом конце - не знаю влияет ли):
Код:

RunProgram="hidcon:waitall:cmd /с echo."
Ошибок не возникло ни при одиночном ни при двойном запуске инсталлятора. Проверял на 7 на чистой виртуалке. Проверка стоит:
Код:

IF !N! GTR 1
Но ещё потом погоняю...

Ylazy 24-02-2017 14:40 2714423

Hi Oleg_Sch!

Your website seems to be down. Would you continue to develop 7zSFX Modules?

Thanks!

Victor_Man 24-02-2017 19:01 2714470

Обнаружил странную вещь...

Есть простейший SFX на R-DriveImage (я все лишнее выкинул):
https://www.upload.ee/files/6714356/__Build_New.rar.html
Внутри:
- билдер (запускаем z_Pack_EXE.CMD, получаем .exe)
- два варианта 7zsd_LZMA.sfx (v160.3807 v161.3874)
- образ маленькой флэшки с одним файлом для монтирования
Если в билдер записать 7zsd_LZMA.sfx v161.3873 (уже там), получить .exe, запустить, выбрать монтирование - то оно происходит очень долго
Если в билдер записать 7zsd_LZMA.sfx v160.3807, получить .exe, запустить, выбрать монтирование - оно происходит мгновенно
Ну, и все предыдущие версии до v160.3807 также работают быстро, все после v161.3873 - также медленно.
Разархивированные файлы, окружение, манифесты...все одинаково!
Дело не в данном примере...мало ли где это может выскочить.
Может, кто помнит, что там менялось при переходе с v1.60 на v1.61?
==============================================
Исходники я нашел на v160.3861 v160.3873 - проблема появилась между этими версиями.
Вот это поменялось: * Окна некоторых дочерних процессов отображались на заднем плане - проблема где-то здесь.
Но разбираться большого смысла нет, т.к. совсем не обязательно использовать ExecuteOnLoad.
Вариантов много, например, уже опробованные на R-DriveImage:
- распаковывать без InstallPath, потом все то же самое, только в RunProgram (с TaskKill).
- распаковывать с InstallPath и OverwriteMode=1 и делать флаг в виде пустого файла. Это вообще без TaskKill.
Тогда и старые версии 7zSFX можно использовать.
=============================================
Нашлось решение и для новой версии 7xSFX - запуск через start, чтобы отвязаться от "дурной" наследственности:
Код:

RunProgram="hidcon:waitall:cmd.exe /c start /wait /B /I R-DriveImage.exe"
Но...после многократного запуска проблемы опять начинаются.
Так что это проблемы больше самого R-DriveImage, как-то он хитро работает с драйверами.
Вопрос закрыт.

ConstantineNoise 27-02-2017 23:09 2715223

Доброго всем!

У кого то остался линк на Loader.7z.000_s2_090925_11-11.7z ? Для создания многотомных архивов exe

Поделитесь пожалуйста!

Спасибо заранее.

jameszero 28-02-2017 10:42 2715307

Вложений: 1
Универсальный загрузчик для многотомных 7z SFX архивов - http://forum.oszone.net/post-970472-604.html

regist 28-02-2017 12:55 2715359

ConstantineNoise,
Цитата:

Цитата gora
Последние версии модуля (1.6 develop (сборка 3574) 11.05.15) поддерживают многотомные SFX и изобретать велосипед более не требуется »


ConstantineNoise 28-02-2017 17:46 2715443

Отлично, спасибо!

А если создавать не многотомный архив, а обычный, но размером 5 ГБ, его модуль установки запустить сможет? x86 x64?

soldatovaua 02-03-2017 09:03 2715917

Поделитесь. пожалуйста, своими мыслями. Есть программа BIRTHDAY! millennium (файл прикладываю). http://rgho.st/6rL4VP9m2 Упакована с помощью WinZip Self Extractor.
Задумал немного изменить файлы в инсталляторе. Файл содержит программу EXE, сам файл install.exe и другие файлы. Разахивирую все в отдельную папку. заменяю файлы. пытаюсь заново создать SFX с помощью модифцированного 7zipSFX, чтобы после извлечения запускал install.exe, получается следующая ситуация.
Весь архив (и WinZip Self Extractor, и 7zipSFX) извлекается во временную папку, запускается install.exe. Только при создании с помощью 7zipSFX он находит во временной папке birthmil.exe и вместо установки запускает удаление. В оригинале через WinZip Self Extractor все также, только запускает установку.
Не могу понять, что и как сделать? Нет нужных значений в конфиге или что-то другое? Конфиг обычный: кроме BeginPromt и др. текста - только RunProgram="install.exe".

CryptoNick 03-03-2017 08:41 2716240

soldatovaua, Вам уже подсказали на другом ресурсе...
Нужно запускать Install.exe с параметром /setup

ya158 30-03-2017 21:17 2724501

Решил обновить справку к модулю. Включил информацию о новых параметрах и ченджлог из этой темы. Прошу сильно не пинать - первый опыт с CHM... Замечания и дополнения приветствуются. Перевыкладывать на других ресурсах желательно с ссылкой на этот пост.
Также выложил исходники и собранные модули.
https://yadi.sk/d/6MVDHh463GVvPP

CryptoNick 02-04-2017 11:11 2725124

ya158, ExecuteOnLoad переход поправь
Надо написать, что -sfxconfig извлекает только основную секцию, хотя может что и изменилось в крайней версии...
То что добавил: -sfxtest зачет. Так как Gora почему то это скрывал, а я нашел в нескольких программах, в том числе и кнопке...
Цитата:

При использовании заглавных букв CC определяется только код возврата, а окно ошибки модуля на выводится
А этого не знал...
Цитата:

F - Финишное сообщение. Может объединяться с ключом '-fmX'
-fmX что то у меня не срабатывает таймер...

sov44 02-04-2017 11:38 2725130

Цитата CryptoNick:
-fmX что то у меня не срабатывает таймер... »
Возможно проблема в модуле или его разрядности. У меня срабатывает из командной строки, что вполне логично, т.к. модуль поддерживает свои "внешние" ключи.
Код:

Proga.exe -sfxtest:D:F -fm5

CryptoNick 02-04-2017 14:45 2725174

sov44, Не, если подсунуть сценарий...

Был интересный вариант, в инсталлере кнопки гора, когда вызывалось сообщение модуля, из батника кажется, то есть по требованию...

ya158 02-04-2017 19:50 2725269

Цитата:

Цитата CryptoNick
-fmX что то у меня не срабатывает таймер... »

Таки информацию я взял из твоего сообщения

Насчет ExecuteOnLoad и -sfxconfig - посмотрю завтра

CryptoNick 02-04-2017 20:56 2725311

ya158, Да, ну не важно это... (про таймер)
Я выдернул параметр из какой то программы, но у меня не пошло, я и забил.

ya158 03-04-2017 22:43 2725954

Цитата:

Цитата CryptoNick
ExecuteOnLoad переход поправь »

Поправил.
Цитата:

Цитата CryptoNick
-sfxconfig »

Не стал изменять, т.к. делал не я.

Vladimir_02 06-04-2017 20:46 2726869

как при распаковке sfx архива указать чтобы запускалась программа лежащая не в корне распаковываемой папки, а в подпапке ?
Например: Архив распаковывает папку с именем даты 2017-04-06. а оттуда запускается определенная программа... папка с датой будет постоянно меняться и хочется установщик сделать универсальным чтобы каждый раз не менять путь

sov44 06-04-2017 21:08 2726883

Vladimir_02, примерно так
Код:

;!@Install@!UTF-8!
SetEnvironment="Name=test.txt"
RunProgram="%%P:hidcon:cmd /с for /f \"delims=\" %a in ('dir /b /s \"%%T\\%Name%\"') do start \"%a\""
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
MiscFlags="4"
;!@InstallEnd@!


Vladimir_02 07-04-2017 11:55 2727034

sov44, что-то не работает... запаковал test.txt в sfx архив, а при распаковке пишет:
Произошла ошибка при выполнении, не удается найти указанный файл

sov44 07-04-2017 12:12 2727041

Vladimir_02, не нужно запаковывать test.txt, я показал всего лишь принцип, указывайте в файле конфигурации свой исполнительный файл. Команда 'dir /b /s \"%%T\\%Name%\"' перебирает все вложенные в sfx папки на предмет наличия %Name% и запускает его по полному пути через start. Возможно start в данном случае и не требуется, всё зависит от конкретного случая.

Vladimir_02 08-04-2017 12:58 2727446

sov44, не выходит... выдает вот такое сообщение:
Произошла ошибка при выполнении "%%P:hidcon:cmd /с for /f "delims=" %a in ('dir /b /s "C:\TEMP\7ZipSfx.001\update.exe"') do start "%a"".
Не удается найти указанный файл.

т.е ищет не во вложенной папке, а во временной папке созданной 7zipSFX

nibble74 08-04-2017 13:41 2727462

Vladimir_02, есть альтернативный метод, к примеру так:

Конфиг
Код:

RunProgram="%%P:hidcon:Update.bat"
Update.bat - кладем в корень Sfx Архива, пишем:
Код:

for /f %%a in ('dir /b /s Update.exe') do start /w "" "%%a"

Vladimir_02 08-04-2017 18:09 2727499

nibble74, спасибо с батником работает!
и мне если честно с батником даже лучше, после распаковки архива надо будет еще несколько действий выполнить - пропишу их в батнике

ya158 12-04-2017 22:19 2728777

2All
Решил развить идею о предотвращении двойного запуска инсталлятора.
Решил сделать прерывание работы инсталлятора при наличии или отсутствии определенных файлов, ключей реестра или определенной версии .Net. Точнее на прерывание, а вывод окна с предупреждением и возможностью прервать, проверить еще раз или проигнорировать.
С помощью этого можно, например, проверить не установлена ли другая версия программы, чтобы перед установкой деинсталлировать её.

Подробнее

Буду рад возможным замечаниям.

CryptoNick 17-04-2017 10:31 2730029

Как создать многотомный 7Zip SFX в командной строке. (модифицированный модуль)
Архиватор 7-Zip 16.4 умеет создавать из оболочки
Модифицированный модуль тоже научился работать с многотомным архивом... (Где то читал)
Но как его создать, инфы не нашел...

Только это:
Цитата:

name.7z.001.exe - имя SFX архива (сделан из первого тома)
То есть, создаем многотомный архив и склеиваем первый том со стабом и конфигом?

А так написано в справке архиватора:
Цитата:

SFX модуль может распаковывать как простые, так и многотомные 7z архивы. Например, если Вы имеете архив name.7z или name.7z.001, просто переименуйте sfx модуль в name.exe и поместите его в папку с архивом.

Iska 17-04-2017 16:40 2730134

Цитата:

Цитата CryptoNick
Архиватор 7-Zip 16.4 умеет создавать из оболочки »

И без оболочки.

nibble74 17-04-2017 19:45 2730166

У кого есть версия 1.6.1 Stable, сборка 3873, дайте скачать плис.

Ж.Д.А.Л.К.Е.Р. 17-04-2017 22:17 2730198

nibble74, https://www.upload.ee/files/6574858/..._3873.exe.html

nibble74 18-04-2017 04:52 2730230

Ж.Д.А.Л.К.Е.Р., Спасибо, как раз 1.6.1

CryptoNick 25-04-2017 09:29 2732137

ya158,
Скрытый текст

Не написано про то, что файл конфигурации может выглядеть так: *.sfx.config.*

ya158 25-04-2017 16:38 2732235

CryptoNick,
Опечатку поправил.
Цитата:

Цитата CryptoNick
Не написано про то, что файл конфигурации может выглядеть так: *.sfx.config.* »

Недопонял - это где?

CryptoNick 25-04-2017 18:45 2732261

ya158, Файл конфигурации\Дополнительный файл конфигурации.

И не написано нигде, как можно использовать RichText, из за этого практически никто проекты с ним не делает...
Gora где то вскользь писал, что создается форматированный текст в WordPad, а потом из него удаляется "лишнее"

ya158 25-04-2017 19:04 2732267

CryptoNick
В смысле, что в имени/расширении файла *.sfx.config.* в конце должна быть звездочка?
Цитата:

Цитата CryptoNick
Находил еще ошибки где то в тексте, могу поискать.... »

Да уж лучше сразу всё, чтобы несколько раз не править/выкладывать...

sov44 25-04-2017 19:41 2732273

Цитата:

Цитата ya158
В смысле, что в имени/расширении файла *.sfx.config.* в конце должна быть звездочка? »

Любой символ. Я, например, использую help.sfx.config в WebFlashPack

ya158 25-04-2017 19:46 2732277

sov44,
Имеется в виду описание. У меня написано *.sfx.config. Насколько я понимаю, должно быть указано *.sfx.config.* - то есть можно использовать, например, help.sfx.config.1. Или я ошибаюсь?

sov44 25-04-2017 19:59 2732283

ya158, Oleg_Sch анонсировал дополнительный файл конфигурации с звездочкой только в имени http://forum.oszone.net/post-2618144-1708.html
Расширение .config видимо стандартно и обязательно для создания sfx.

CryptoNick 25-04-2017 20:04 2732288

ya158,
Цитата:

должно быть указано *.sfx.config.* - то есть можно использовать, например, help.sfx.config.1. Или я ошибаюсь?
Да так и есть. Пример есть в инсталлере кнопки gora, последней и в HEX модуля можно посмотреть...
То есть можно так: config.sfx.config
А можно так: config.sfx.config.txt
Две разных обработки, поищите в HEX модуля по фразе sfx.config (но делает одно и тоже)
Не знаю, почему уж так..

ya158 25-04-2017 20:11 2732290

CryptoNick,
Хорошо - поправлю.
Ещё будут какие-нибудь замечания?

CryptoNick 25-04-2017 20:22 2732296

ya158, пока нет.. Я загонял части текста в орфо онлайн, вроде нормально, по крайней мере в начале...
Потом мне надоело, там ограничение было... Муторно...

sov44 25-04-2017 20:27 2732299

ya158, проверил, варианты help.sfx.config и help.sfx.config.rem вполне работоспособны.

CryptoNick 25-04-2017 20:28 2732300

Еще непонятно вот это:
Цитата:

+ Дополнительная папка *.sfx.api.* в корне архива
или я просто не нашел описание?

ya158 25-04-2017 20:32 2732306

Цитата:

Цитата CryptoNick
Еще непонятно вот это: »

Я просто собрал информацию из этого топика - что было, то и добавил. По *.sfx.api.* и *.sfx.config.* не проверял, т.к. меня это пока не интересовало...

CryptoNick 25-04-2017 20:36 2732307

ya158, да я задал вопрос всем... Может кто знает, зачем? И как это можно применять с пользой для конкретного проекта...

sov44 25-04-2017 20:40 2732309

CryptoNick, http://forum.oszone.net/post-2627075-1732.html

CryptoNick 25-04-2017 21:01 2732319

sov44, понятно... что ничего не понятно...
Эта фраза мне попадалась при просмотре темы, но...

ya158 26-04-2017 11:03 2732421

Исправил *.sfx.config.* в справке.

CryptoNick 26-04-2017 13:11 2732450

ya158, Надо было не подправить, а добавить.
Ибо это два разных варианта...
Я же говорил... Посмотрите в HEX модуля....

ya158 26-04-2017 16:10 2732481

CryptoNick,
Цитата:

Цитата CryptoNick
Надо было не подправить, а добавить. »

В смысле, что может быть и *.sfx.config.* и *.sfx.config?
Цитата:

Цитата CryptoNick
Посмотрите в HEX модуля.... »

И что это означает? Мне это ни о чем не говорит...

CryptoNick 26-04-2017 16:36 2732489

Да. Может и так и так. Два варианта

ya158 26-04-2017 16:46 2732491

Поправил справку с учетом замечаний

onis 29-04-2017 08:06 2733058

Подскажите где можно скачать набор "Кнопка для работы с 7z SFX архивами в Total Commander"

CryptoNick 29-04-2017 08:38 2733060

onis, Если вы про кнопку gora, то есть на рубоарде в теме архиватора 7-Zip
Вот прямая ссылка

onis 29-04-2017 09:03 2733063

большое спасибо

CryptoNick 11-05-2017 10:58 2735838

ya158,

ya158 11-05-2017 13:09 2735885

CryptoNick,
Поправил

Valek271183 14-05-2017 19:50 2736666

Подскажите как правильно использовать в x64 Win7 параметр InstallPath="%SystemDrive%\\Windows\\System32" ?, у меня всегда попадает в C:\Windows\SysWOW64

Ж.Д.А.Л.К.Е.Р. 14-05-2017 21:19 2736693

Valek271183, Дело не в параметре, а в том что происходит перенаправление WOW64. Можно использовать х64 версию модуля если не предполагается запуск проекта на х32 ОС. Или написать так:
Код:

InstallPath="%Windir%\\%OS_%%P%"
SetEnvironment="OS_x86=System32"
SetEnvironment="OS_x64=sysnative"


nibble74 14-05-2017 21:40 2736698

Valek271183, для модуля х64:

Код:

InstallPath="%7zSfxFolder37%"

Iska 14-05-2017 22:27 2736708

nibble74, разве «или так» не приведёт ровно к тому же результату:
Цитата:

Цитата Valek271183
у меня всегда попадает в C:\Windows\SysWOW64 »

в условиях — x86 модуль +:
Цитата:

Цитата Valek271183
в x64 »

?!

P.S. На 7zsfx.info уже какой-то сквоттер похоже сидит.

nibble74 14-05-2017 22:44 2736713

Забыл указать, что для x64 модуля, ну а для x86 модуля Ж.Д.А.Л.К.Е.Р. помог.

Ж.Д.А.Л.К.Е.Р. 14-05-2017 23:07 2736719

Цитата:

Цитата nibble74
для модуля х64: »

И что это даст ? С модулем х64 его строка и так будет работать как надо.

CryptoNick 19-06-2017 22:00 2745933

ya158,
Обнаружил во время тестирования, одну особенность:
Если программа "родитель", запущена не от имени Администратора, и имеется в сценарии, флаг: MiscFlags="4", то диалоги не выводятся, а модуль возвращает код ошибки: 11
Если все прошло успешно, например нет: MiscFlags="4" или запущено от Админа, то возвращает: 0

Кто бы знал, сколько мне понадобилось времени, что бы это понять.... Получается что MiscFlags="4" считается, а завысить права не может, из за этого и дает ошибку...
Не знаю, баг это или фича, но вводит в ступор...

CryptoNick 20-06-2017 07:53 2746026

ya158,

ya158 20-06-2017 08:59 2746036

CryptoNick,
Не понял вопроса.

CryptoNick 20-06-2017 10:36 2746058

ya158, первый пост добавить в справку, как примечание, иначе все будут натыкаться на эту ошибку и тратить время на выявление.
Второй пост: в колонке слева нет ссылки на параметр... Его нельзя найти даже поиском... Но он же имеется в описании!

Iska 20-06-2017 10:45 2746062

Цитата:

Цитата CryptoNick
в колонке слева нет ссылки на параметр... »

Я — вижу:
Скрытый текст

но без символа «-».

Цитата:

Цитата CryptoNick
Его нельзя найти даже поиском... »

Разве там есть вкладка поиска?

P.S. Хорошо бы указывать и версию файла, о которой ведётся речь, а то могут быть разночтения. Я вот не знаю, насколько актуальная у меня версия chm-файла.

ya158 20-06-2017 11:09 2746065

CryptoNick,
По поводу поста о MiscFlags понятно. Только, пожалуйста, сделайте описание найденной багофичи "по-справочному", чтобы можно было бы сразу без обработки добавить в справку.

Потерянный минус в sfxelevation добавлю.

Iska,
Цитата:

Цитата Iska
Хорошо бы указывать и версию файла »

В принципе я могу добавить в справку какую-нибудь информацию о том, что справка дополнена и дату изменения (например в Title "Модифицированный 7z SFX модуль (1.7 develop сборка 3900) mod by koros 20.06.17")

CryptoNick 20-06-2017 11:38 2746072

Iska,
Цитата:

Я — вижу:
О... И я тоже, значит это только в моей, модифицированной справке...
Цитата:

Разве там есть вкладка поиска?
Нет, оказывается... Опять про модифицированную сказал...

CryptoNick 23-07-2017 09:52 2753283

Решил провести эксперимент с многотомником...

Вторая схема никак не хочет работать, может делаю что то не так...

SergeyAV 16-08-2017 09:03 2758641

Страница загрузок не работает, где брать?

ya158 16-08-2017 09:30 2758647

SergeyAV,
https://yadi.sk/d/6MVDHh463GVvPP

SergeyAV 16-08-2017 09:51 2758657

ya158,
Пасиб, а обновляться будет? Не понятно, что с оф. сайтом - продан?

ya158 16-08-2017 10:22 2758663

SergeyAV,
Без малейшего понятиия - я просто собрал модули и исходники у себя на ЯДиске... Олег не появлялся здесь больше года...

Модераторам. Может выложить альтернативную ссылку на сабж в шапку?...

CryptoNick 17-08-2017 09:11 2758869

SergeyAV, Тут архив со многими версиями.

ya158 17-08-2017 09:36 2758874

CryptoNick,
Спасибо. Выложил у себя на диске. Может есть такой же архивчик с исходниками - может появиться человек, который продолжит благое дело по дальнейшему развитию сабжа?

CryptoNick 17-08-2017 12:07 2758926

ya158, Дело в том что исходники то Олег выложил, но собрать из них без дополнительных действий не выйдет...
Если бы был выложен конструктор, настроенная студия - в которой собирает автор, то можно было бы разобраться потихоньку, да и обновлять...

Я предлагаю другой вариант:
Создать тему, где выложить все найденные баги и предложения.
Создать группу Тесторов, которые будут помогать автору. (тестами)
После того как не стало gora, тестировать некому, это одна из причин того, что автор забросил проект...
Параллельно собрать автору модулей какую либо сумму, для мотивации.
Яндекс кошелёк Олег выкладывал в теме:
Скрытый текст
Пока оставлю только Яндекс.Деньги (есть и другие платёжные системы) - кошелек 4100163680982

ya158 17-08-2017 12:56 2758944

Цитата:

Цитата CryptoNick
Если бы был выложен конструктор, настроенная студия - в которой собирает автор, то можно было бы разобраться потихоньку, да и обновлять... »

У меня на Ядиске выложена настроенная студия для 3873 (насколько она правильная - не знаю и не помню откуда взял)...
Цитата:

Цитата CryptoNick
Я предлагаю другой вариант: »

Идеи-то хорошие... Но как связаться с автором - здесь он не появлялся больше года, http://7zsfx.info - отключен, SVN тоже не фурычит?...Можно ли получить об авторе хоть какую-нибудь информацию?

regist 17-08-2017 13:53 2758954

Цитата:

Цитата CryptoNick
После того как не стало gora, тестировать некому, это одна из причин того, что автор забросил проект... »

Это только ваше предположение и на мой взгляд никак не связанное с тем, что Олег тут не появлялся. И если вы давно следите за развитием модулей, то должны знать, что такие большие перерывы были и раньше. Так что говорить, что он бросил неправильно.

По поводу того, что вам хочется начать компилировать самому и разобраться, хочется верить, что это не связано, с тем что Олег отказался выдать вам пароль для создания распаковывающихся модулей накрытых паролей.

Так что предлагаю:
1) Не разводить панику, а ждать. И не пытаться использоваться сложившуюся ситуацию в личных корыстных целях.
2 Если есть возможность, то поддержите Олега материально.
3) Если действительно нужно с ним связаться с Олегом, то у него в профиле есть два способа, как можно с ним связаться - попробуйте их.

CryptoNick 17-08-2017 15:49 2758976

regist,
Цитата:

хочется верить, что это не связано, с тем что Олег отказался выдать вам пароль для создания распаковывающихся модулей накрытых паролей.
Всё у меня давно уже имеется... Откуда данная информация? Вроде кроме лички, негде не пролетало...
Цитата:

Не разводить панику, а ждать. И не пытаться использоваться сложившуюся ситуацию в личных корыстных целях.
Да нет никаких корыстных мыслей даже, я же не свои реквизиты дал... Ну, кроме как желание улучшить работу модуля...

ya158 04-09-2017 15:13 2762503

Цитата:

Цитата regist
Если действительно нужно с ним связаться с Олегом, то у него в профиле есть два способа, как можно с ним связаться - попробуйте их. »

Через PM - вряд ли получится, т.к. раз Олег не здесь больше года, то ПМ он скорее всего тоже не читает. Через почту - пишет, что "пользователь отключил прием E-mail". Через Yahoo - пишет Page not found. Сайт http://7zsfx.info не работает. Есть ли еще способы?

Iska 04-09-2017 15:23 2762511

Разве что у кого-то есть личные контакты. Может быть, они были у gora, но увы…

CryptoNick 07-09-2017 08:45 2763247

ya158, Iska, У меня было предложение... Послать на Яндекс кошелек донаток и написать комментарий, мол пожалуйста, продолжите работу с модулем, задонатим еще и поможем с тестированием и справкой... но меня закидали камнями...

ya158 07-09-2017 09:18 2763255

CryptoNick,
Так в чем затык-то? Пошли донаток, напиши коммент и расскажи, пожалуйста, о результатах...

CryptoNick 07-09-2017 13:45 2763324

ya158, Если бы я мог, то и без сообщений в данной теме сделал...

ya158 07-09-2017 14:19 2763338

CryptoNick,
А в чем сложность-то?
В отношении себя могу сказать то, что я совсем не уверен, что донат поможет хотя бы связаться (не говоря уже о том, чтобы продолжить разработку). Если б человек хотя бы немного хотел бы развивать или хотя бы поддерживать проект, то он объявился бы за год. Судя по тому, что Олег не только не появляется, но и не поддерживает сайты, где находился модуль, вряд ли он вернется к модулю. Это если не случилось чего-нибудь непоправимого (тьфу-тьфу-тьфу)...

alexsupra 14-09-2017 13:09 2764631

Нет ли у кого-нибудь случайно документации в chm формате?
Файлы имели такие названия как 7zsd_chm_130_1501_ru.7z, например, и раньше были доступны на сайте в каталоге http://7zsfx.info/files/

ya158 14-09-2017 13:18 2764635

alexsupra,
А в шапку посмотреть? Даю наводку - после слова "Зеркало" ;)...

CryptoNick 26-09-2017 21:15 2767114

Хранилище модулей, справок, исходников: https://github.com/OlegScherbakov/7zSFX
Собрано всё что найдено в сети и в личных архивах.
Справки на русском, английском и польском языке, с рабочими ссылками на скачивание.
Английская справка - устаревшая (не все параметры описаны), обновлена только история создания модулей и ссылки на скачивание.

specialist 27-10-2017 18:02 2773797

Цитата:

Цитата ya158
Сайт http://7zsfx.info не работает. »

предлагаю памяти автора и уважения ради поднять в шапку ссылку на веб архив для получения справочной информации
http://forum.oszone.net/post-2681015-1780.html

Petya V4sechkin 27-10-2017 18:50 2773811

specialist, archive.org/web не хранит все сайты постоянно, а время от времени удаляет предыдущие копии (по неизвестному критерию).

Iska 27-10-2017 18:59 2773815

Цитата:

Цитата Petya V4sechkin
а время от времени удаляет предыдущие копии (по неизвестному критерию). »

Удаляет только «свои» слепки или и слепки, созданные по пользовательским запросам, тоже?

Petya V4sechkin 27-10-2017 19:02 2773816

Iska, я сталкивался с удалением его собственных слепков, насчёт пользовательских не знаю.

Iska 28-10-2017 02:52 2773895

Petya V4sechkin, спасибо, ясно. С первым я тоже сталкивался. Про второе — тоже не знаю ;).

CryptoNick 01-11-2017 12:36 2774759

specialist, Можно и на гитхабе создать сайт...
Будет настроение, сделаю...
Пока так...

regist 02-11-2017 21:02 2775117

Видел в веб-архиве страницы, которые там уже несколько лет хранятся, так что может только свои? По сайту Гора, там слепки пользовательские (лично каждую страницу в архив загонял), так что будем надеяться, что он их не удалит.
Цитата:

предлагаю памяти автора и уважения ради поднять в шапку ссылку на веб архив для получения справочной информации
поддерживаю, тем более кто-то успел купить это имя и использует сайт уже для продвижения своих услуг. И некоторых это может сбить с толку.

Petya V4sechkin 02-11-2017 21:18 2775119

regist, OK, добавил в "шапку" последний рабочий снимок за 19.09.2016.

EVGA 05-12-2017 08:50 2782409

Люди, кто объяснит, зачем вообще нужны 64 bit модули 7zip? Например у меня 64bit Windows, хочу в командной строке собрать 7zip.sfx архив, какой модуль нужен? 7zsd_LZMA2_x64.sfx или 7zsd_LZMA2.sfx ? Если собираю с модулем 7zsd_LZMA2_x64.sfx, то на 32bit windows он не запускается, собираю с 7zsd_LZMA2.sfx, все окей, тогда непонятно, зачем они вообще нужны эти 64 битные модули, в чем преимущество, если эти модули расчитаны на создание sfx архивов только под 64bit windows? И какие вообще модули нужно использовать - 7zsd_LZMA.sfx или 7zsd_All.sfx или 7zsd_LZMA2.sfx, если я создал например архив 7zip LZMA2. Много непонятного, в справке информации нет[

Ж.Д.А.Л.К.Е.Р. 05-12-2017 10:53 2782433

EVGA, Каждый выбирает модуль смотря по своим потребностям. x64 модуль используют когда готовый проект должен работать только на х64 ОС и/или WinPE (по дефолту WinPE x64 не поддерживает х32 приложения).

Iska 05-12-2017 14:08 2782490

Цитата:

Цитата EVGA
зачем они вообще нужны эти 64 битные модули, в чем преимущество, если эти модули расчитаны на создание sfx архивов только под 64bit windows? »

Затем же, зачем вообще нужны x64-приложения: возможность использования набора команд 64-разрядного процессора, возможность использования во много раз большего объёма памяти, возможность прямой манипуляции 64-разрядными словами и т.д.

CryptoNick 06-12-2017 20:07 2782808

EVGA, Не понятно, так как у вас нет базовых знаний...
Реальный пример использования, в WinPE на базе x64, без подержи подсистемы x32
Будет работать только модуль x64.

soldatovaua 03-01-2018 18:30 2788766

del

CryptoNick 07-01-2018 23:46 2789645

del

ABovCovich 19-02-2018 13:10 2798916

Цитата:

Цитата Leon3721
Теперь предлагаю свою модифицированную версию этого замечательного продукта.
Файл 130215 »

Здравствуйте Leon3721, у Вас осталась Ваша модифицированная версия?, дайте ссылку пожалуйста!, или у кого осталось дайте ссылку пожалуйста!.

CryptoNick 01-03-2018 21:17 2801015

ABovCovich, зачем вам это старье...

ABovCovich 05-03-2018 05:46 2801697

CryptoNick
Цитата:

Цитата CryptoNick
зачем вам это старье... »

Я считаю что программа не имеет срока старости а только срок годности!
например: разработчик выпустил программу а потом забросил её, и через время оказывается что в программе есть КРИТИЧЕСКИЕ ошибки и вот тут и понятие -
ГОДНОСТЬ! то иное программа не пригодна для дальнейшего использования (а если ошибки некритичные то пользоваться можно до бесконечности!)

А модифицированная версия от Leon3721 очень нужна!

NikVentura 06-04-2018 12:17 2807388

Здравствуйте! Кто-нибудь может подсказать?
Если в корне архива есть программа "TEST.exe" ее можно запустить до распаковки файлов? Пробовал "ExecuteOnLoad" выдает ошибку.
И зачем нужна временная папка "7ZipSfx.000", которая создается при "ExecuteOnLoad" если в нее ничего не выгружается?

CryptoNick 24-04-2018 09:18 2810452

NikVentura, как можно запустить, то что не распаковано?

addhaloka 21-05-2018 07:45 2814642

Нашёл тут на гите 1.7.1.3901. Собрал, вроде работает. Если кому надо: https://www.upload.ee/files/8463255/...1_3901.7z.html

Собрано в MSVC2010 SP1, crt не из сорцов, а из Microsoft Platform SDK for Windows Server 2003 SP1 (т. к. с оригинальными не запускается на XP), 7-Zip 16.04 (c новым 17.01 - 18.05 собрать не осилил).

edit_Check 20-02-2019 14:15 2858994

CryptoNick Maybe NikVentura wanna start a external program before unpack.

Anyway, question: What is the command for launch a program before extract (not from .bat) ? Thanks

Pasha_ZZZ 20-02-2019 16:08 2859015

Цитата:

Цитата edit_Check
command for launch a program before extract »

PreExtract/PreExtract<x>... These are after BeginPrompt. Immediately after start - ExecuteOnLoad

edit_Check 28-02-2019 02:44 2860495

ExecuteParameters is not working for me. Why ?

I am trying:

ExecuteFile="cmd.exe"
ExecuteParameters="/c ping google.com"

Edit:

@gryja

ExecuteParameters ?

@Pasha

I know that, thanks. Just wanna know why is not working the ExecuteParameters (maybe is a bug or i am using bad)

Den30lv 28-02-2019 19:59 2860620


7-Zip версии 19.00, приложенный выше товарищем addhaloka модуль работает, по крайней мере его 32-битная lzma2 версия...

gryja 03-03-2019 14:00 2861007

Так работает.

ExecuteFile="\"%%T\ExamplePath\Setup.exe\""

Pasha_ZZZ 04-03-2019 09:30 2861167

Цитата:

Цитата edit_Check
ExecuteParameters is not working for me. »

Use RunProgram, you may specify parameters inside it

lSVl 27-08-2019 00:36 2885565

Доброго времени суток!
В справке 7zSD_RU.chm разделе Переменные модуля
Цитата:

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


;!@Install@!UTF-8!
Title="Variables %SfxVarModulePlatform% module in %%P OS"
BeginPrompt=" Check of variables %SfxVarModulePlatform% module in %%P OS

• Click 'OK', variables will are shown in a console window

• Click 'OK', retaining [Shift], variables will be are saved
to the file %SystemDrive%\\vars_%SfxVarModulePlatform%_module_on_%%P_OS.txt"
FinishMessage="The module %SfxVarModulePlatform% finished operation"
SetEnvironment="cmnd=@Echo Off& Title Module - %SfxVarModulePlatform%, OS - %%P& Echo Module - %SfxVarModulePlatform%, OS - %%P& Echo.& Echo Folders:&Set SfxFolder& Echo.& Echo Vars:&Set SfxVar& Echo %%^M=%%M& Echo %%^P=%%P& Echo %%^S=%%S& Echo %%^T=%%T& Set CommonD& Set MyDoc& Echo UserDesktop=%UserDesktop%& Echo."
RunProgram="hidcon:cmd /c Echo"
RunProgram="%%P:fm0:cmd /k %cmnd%"
AutoInstall="hidcon:cmd /c Echo"
AutoInstall="%%P:fm20:hidcon:cmd /c (%cmnd%)>%SystemDrive%\\vars_%SfxVarModulePlatform%_module_on_%%P_OS.txt"
GUIMode="2"
GUIFlags="2+4+8+16+32+2048+4096"
MiscFlags="4"
;!@InstallEnd@!
;!@Install@!UTF-8:Language:1049!
Title="Переменные %SfxVarModulePlatform% модуля в %%P ОС"
BeginPrompt=" Проверка переменных %SfxVarModulePlatform% модуля в %%P ОС

• Нажмите 'OK', переменные будут показаны в окне консоли

• Нажмите 'OK', удерживая [Shift], переменные будет
сохранены в файл %SystemDrive%\\vars_%SfxVarModulePlatform%_module_on_%%P_OS.txt"
FinishMessage="Модуль %SfxVarModulePlatform% завершил работу"
;!@InstallEnd@:Language:1049!

Подскажите пожалуйста как правильно создать такой SFX?

sov44 27-08-2019 08:11 2885572

Цитата:

Цитата lSVl
Подскажите пожалуйста как правильно создать такой SFX? »

Если классически, то потребуются три файла: модифицированный модуль, файл конфигурации и сам архив 7z.
Файл конфигурации создаёте в блокноте, и сохраняете в кодировке UTF-8 (см. справку)
Архив 7z создаёте из любого файла, размер и содержимое не имеет значения.
В командной строке набираете
Код:

copy /b c:\test\7zsd_lzma2.sfx+c:\test\1.txt+c:\test\2.7z c:\test\out.exe
c:\test\ - путь расположения файлов
7zsd_lzma2.sfx - модифицированный модуль
1.txt - файл конфигурации
2.7z - архив 7-zip
out.exe - собранный sfx

SergeyZV 27-08-2019 08:15 2885573

Переменные модуля

Pasha_ZZZ 27-08-2019 09:15 2885579

Цитата:

Цитата sov44
В командной строке набираете »

copy в начале тоже не помешает :smirk:

lSVl 27-08-2019 11:27 2885596

Цитата:

Цитата sov44
Архив 7z создаёте из любого файла, размер и содержимое не имеет значения. »

Пробовал подсунуть "пустышку" vars.7z, в результате Фатальная ошибка. Создал 7z архив и с помощью "кнопки" создал SFX, все работает. Спасибо!

SergeyZV 27-08-2019 11:51 2885601

Цитата:

Цитата lSVl
в результате Фатальная ошибка »

Создаёшь архив 7-zip без сжатия из любого файла. Затем открываешь архив и удаляешь из него файл и сохраняешься. В результате получается пустой архив в 32 байта и без ошибок. :wink:

sov44 27-08-2019 12:59 2885611

Цитата:

Цитата Pasha_ZZZ
copy в начале тоже не помешает »

Да, конечно. Подумать-подумал, а написать забыл. :). Исправил.

Den30lv 31-08-2019 19:30 2886168

Вложений: 1
Цитата:

Цитата SergeyZV
Создаёшь архив 7-zip без сжатия...»

Не согласен, см. приложенную справку, пункт "Первые шаги"...

SergeyZV 01-09-2019 14:35 2886250

Цитата:

Цитата Den30lv
Не согласен, см. приложенную справку, пункт "Первые шаги"... »

Ваше право соглашаться или нет. В "Первых шагах" имеется в виду SFX с исполняемыми файлами.
Я же советовал пустой архив для SFX с исполняемым конфигом и только.
И не важно со сжатием или без - главное сделать архив пустым.
Так что получается "Я ему про Фому, а он мне про Ерёму" :lol:

lSVl 08-09-2019 21:41 2887136

Доброго времени суток!
Подскажите, пожалуйста, как правильно получить код возврата беcключевого "тихого" SFX архива?
ListFile
Код:

        SubDirectory:
Packages
x64
x86
Packages\Default
Packages\User
=========================================
        Files:
Sublime Text Build 3176 Setup.exe
Sublime Text Build 3176 x64 Setup.exe
Packages\Default\Context.sublime-menu
Packages\Default\Encoding.sublime-menu
Packages\Default\Find in Files.sublime-menu
Packages\Default\Indentation.sublime-menu
Packages\Default\Line Endings.sublime-menu
Packages\Default\Main.sublime-menu
Packages\Default\Side Bar Mount Point.sublime-menu
Packages\Default\Side Bar.sublime-menu
Packages\Default\Syntax.sublime-menu
Packages\Default\Tab Context.sublime-menu
Packages\Default\Widget Context.sublime-menu
Packages\User\Preferences.sublime-settings
x64\sublime_text.exe
x86\sublime_text.exe


config.txt
Код:

;!@Install@!UTF-8!
SetEnvironment="PFx86=%ProgramFiles%\\Sublime Text 3"
SetEnvironment="PFx64=%ProgramW6432%\\Sublime Text 3"
RunProgram="x86:\"Sublime Text Build 3176 Setup.exe\" /VERYSILENT"
RunProgram="x64:\"Sublime Text Build 3176 x64 Setup.exe\" /VERYSILENT"
RunProgram="x86:hidcon:xCopy x86\\* \"%PFx86%\\\" /s /e /i /y"
RunProgram="x64:hidcon:xCopy x64\\* \"%PFx64%\\\" /s /e /i /y"
RunProgram="hidcon:xCopy Packages\\* \"%AppData%\\Sublime Text 3\\Packages\\\" /s /e /i /y"
RunProgram="hidcon:Reg Add \"HKCR\\*\\shell\\Open with Sublime Text\" /v \"Icon\" /t REG_SZ /d \"C:\\Program Files\\Sublime Text 3\\sublime_text.exe,0\" /f"
RunProgram="hidcon:Reg Add \"HKCR\\*\\shell\\Open with Sublime Text\\command\" /ve /t REG_SZ /d \"C:\\Program Files\\Sublime Text 3\\sublime_text.exe \\\"\"%\"1\\\"\" /f"
InstallPath="%WINDIR%\\Temp\\Sublime"
GUIMode="1"
Delete="%%T"
;!@InstallEnd@!


Install.cmd
Код:

@Echo Off
Setlocal EnableDelayedExpansion
"%~dp0Sublime_Text_Build_3176.exe" && (
    Echo Sublime Text Build 3176 has been installed on your computer.
) || (
    Echo ERRORLEVEL=%errorlevel%
)
Pause
Exit


lSVl 13-09-2019 09:31 2887719

Приветствую! Подскажите, что не так со строкой?
Код:

RunProgram="cmd /k Reg Add \"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\" /v \"Shell\" /t REG_SZ /d \"\\\"D:\\ModBusSrv\\ModBusSrv.exe\\\"\" /f"
Операция успешно завершена.
Изменения в реестр не вносятся.
Код:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Shell"="\"D:\\ModBusSrv\\ModBusSrv.exe\""

Батник вида
Код:

@Echo Off
Reg Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "Shell" /t REG_SZ /d "\"D:\ModBusSrv\ModBusSrv.exe\"" /f
Pause

вносит изменения в реестр

http://forum.oszone.net/post-2522497-296.html
На х64 системах изменения вносятся в [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Winlogon]

Iska 13-09-2019 18:07 2887801

Цитата:

Цитата lSVl
Операция успешно завершена.
Изменения в реестр не вносятся. »

Запускаете Process Monitor, ставите фильтры на операции Process Create, Process Start, Process Exit, и на операции с реестром. Делаете захват событий. Пробуете исполнить Ваш sfx. Останавливаете захват событий. Смотрите по получившемуся логу, что пошло не так.

sov44 13-09-2019 19:00 2887810

lSVl, попробуйте без cmd /k
Код:

RunProgram="hidcon:Reg Add \"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\" /v \"Shell\" /t REG_SZ /d \"\\\"D:\\ModBusSrv\\ModBusSrv.exe\\\"\" /f"

lSVl 15-09-2019 11:27 2888045

Цитата:

Цитата sov44
без cmd /k »

Использовал для отладки

lSVl 15-09-2019 11:44 2888048

Iska,
В PM написать Вам не могу
Цитата:

Iska превысил(а) максимальный объем сохраненных персональных сообщений и не может получать новые сообщения, пока не удалит часть старых.
Цитата:

Цитата Iska
ставите фильтры на операции Process Create, Process Start, Process Exit, и на операции с реестром. »

Скачал Process Monitor v3.52
Не могу найти
Цитата:

Process Create, Process Start, Process Exit
Какую версию Process Monitor Вы используете? Если Вас не затруднит, объясните, пожалуйста подробнее.

Iska 15-09-2019 16:34 2888088

Цитата:

Цитата lSVl
Какую версию Process Monitor Вы используете? »

Скрытый текст


Цитата:

Цитата lSVl
Не могу найти »

Скрытый текст

и т.д.


Цитата:

Цитата lSVl
На х64 системах изменения вносятся в [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Winlogon] »

Если Ваше приложение — x86, то, разумеется, на x64 системах оно будет обращаться из-за редиректа к x86-версии каталога %SystemRoot%\System32 — %SystemRoot%\SysWOW64, исполняя оттуда и интерпретатор команд, и консольный редактор реестра, что и приведёт к редиректу при обращении к реестру, и, соответственно, попытка записи в HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon реально будет производиться в раздел HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Winlogon (как Вы и указали).

lSVl 15-09-2019 20:40 2888124

Цитата:

Цитата Iska
и на операции с реестром. »

RegCreateKey достаточно?

Iska 15-09-2019 21:03 2888125

lSVl, я тупо не помню, потому как через WinAPI очень давно с реестром работал. Я бы ещё добавил как минимум RegSetValue:
Скрытый текст

lSVl 15-09-2019 21:12 2888126

Iska, подскажите пожалуйста как прописать одной строкой
Код:

@Echo Off
for /f "tokens=2 delims==" %%a in ('wmic path Win32_networkadapter where ^"NetConnectionStatus^=2^" get NetConnectionID /value')
netsh interface ip set address name="%%a" source=static address=192.168.0.1 mask=255.255.255.0 gateway=192.168.0.1
Exit

RunProgram="hidcon:cmd /c ..."

Iska 16-09-2019 14:41 2888209

lSVl, тут должно быть более двух строк (к тому же, первая строка — с for /f — неполная), потому как нет никакой гарантии, что wmic.exe что-либо вернёт (например, нет ни одного экземпляра класса Win32_NetworkAdapter, который был бы «Connected»), а может оказаться и несколько (при этом в %%a попадёт значение из последнего экземпляра класса).

boss911 16-09-2019 20:05 2888249

lSVl

Ваш код работать не будет. Я бы запускал в две и более строки, через батник, но, если вам так хочется/нужно одной строкой, я бы сделал так:
Код:

FOR /F "Tokens=2 Delims==" %%I IN ('WMIC path Win32_NetworkAdapter where ^"NetConnectionStatus^=2 and PNPDeviceID like ^'PCI\\VEN%%^'^" get NetConnectionID /value 2^>nul') DO IF "%%I"=="%%I" CALL NETSH interface ip set address name="%%I" source=static addr=192.168.0.1 mask=255.255.255.0 gateway=192.168.0.1 gwmetric=0 >nul
Но данный метод плох тем, что, если у вас несколько подключенных сетей (NetConnectionStatus=2), то для всех, по очереди, применятся ваши настройки, не проверял (нет возможности), но по идеи так. Еще, если NetConnection не будет получен, то NETSH не отработает. Так же тут применятся фильтрация по PCI устройствам.

Iska 16-09-2019 22:56 2888271

boss911, а что даёт:
Цитата:

Цитата boss911
Код:

IF "%%I"=="%%I"
»

?


Цитата:

Цитата boss911
не проверял (нет возможности), но по идеи так. »

Так.

boss911 17-09-2019 00:15 2888278

Цитата:

Цитата Iska
а что даёт »

Цитата:

Цитата boss911
если NetConnection не будет получен, то NETSH не отработает. »

Припустим, что по какой-то причине имя подключения (значение NetConnectionID) не будет получено, соответственно переменная %%I не создастся, условие проверит наличие переменной через сравнение, нет переменной, то и NETSH (применение настроек) незачем выполнять. Просто IF DEFINED %%I в данном случае не работает.

Iska 17-09-2019 01:30 2888284

boss911, спасибо, ясно. Я обычно делаю в несколько шагов:
Код:

for /f "..." %%i in (`wmic.exe ...`) do set sSomeVar=%%~i
if defined sSomeVar ( ... ) else ( ... )


lSVl 17-09-2019 07:07 2888296

Цитата:

Цитата Iska
в несколько шагов »

Напишите пожалуйста полный код

boss911 17-09-2019 16:30 2888350

lSVl »

В качестве рабочего примера:
Код:

@Echo off

SET IP_ADDR=192.168.0.1
SET MASK=255.255.255.0
SET GATEWAY=192.168.0.1

CHCP 1251 1>nul
REM SET "NetConnectionName=По желанию можно указать свое имя подключения и убрать 'REM' в начале этой строки"
CHCP 866 1>nul

IF NOT DEFINED NetConnectionName (
  FOR /F "Tokens=2 Delims==" %%I IN ('WMIC path Win32_NetworkAdapter where ^"NetConnectionStatus^=2 and PNPDeviceID like ^'PCI\\VEN%%^'^" get NetConnectionID /value 2^>nul') DO SET "NetConnectionName=%%~I"
)
IF DEFINED NetConnectionName (
  NETSH interface ip set address name="%NetConnectionName%" source=static addr=%IP_ADDR% mask=%MASK% gateway=%GATEWAY% gwmetric=0 >nul
) ELSE (
  ECHO Network connection not found
  PAUSE >nul
)

EXIT

Если у вас несколько подключенных/активных сетей (редкий случай), то настройки сработают только для того подключения, имя которого будет получено последним, а получает оно не по списку имен, так же имейте это ввиду.

habib2302 15-10-2019 19:02 2892189

Доброе время суток. Помогите решить проблему. Антивируса нет, а встроенный отключен



https://drive.google.com/file/d/1yOh...ew?usp=sharing

timon45 06-11-2019 11:04 2894960

habib2302, по твоим ссылкам, и выше в том числе
Этот файл нельзя открыть, так как он нарушает Условия использования.

Подробную информацию можно найти в Справочном центре Google Диска.

ARMAGIDON 26-12-2020 13:57 2944243

Привет, а может она не весь архив распаковывать? Например в архиве две папки 86, 64 от зависимости разрядности выбирает нужную папку например в бат это бы выглядело так для папки Tor Browser_86 а папку Tor Browser_64 не трогаем
Код:

"%ProgramFiles%\7-Zip\7z.exe" x "%userprofile%\Desktop\firefox.exe" "Tor Browser_86\*" -o"D:\Tor Browser_86"
pause


Den30lv 06-01-2021 21:21 2945220

Вложений: 1
ARMAGIDON,
В приложенной справке разделы: "Переменные модуля" и "Секции файла конфигурации".

tr011_tmn 26-01-2021 09:07 2947559

Доброго времени суток коллеги.

Подскажите пожалуйста есть ли возможность исполняемому sfx передать внешний параметр SetEnvironment?
Что бы по умолчанию в файле конфигурации он был указан, но если требуется то при запуске sfx.exe его можно было переназначить.

sov44 26-01-2021 17:14 2947601

Цитата:

Цитата tr011_tmn
Подскажите пожалуйста есть ли возможность исполняемому sfx передать внешний параметр SetEnvironment? »

Да.
Код:

name_sfx.exe -SetEnvironment="fVer=5.5.5"

regist 11-03-2021 10:58 2952260

Цитата:

Цитата addhaloka
Нашёл тут на гите 1.7.1.3901. Собрал, вроде работает. »

Прошло два года с этого поста, а насчёт работы этих модулей только один пост на следующей странице. И в шапке ссылки на них до сих пор нет.
Есть какие-то нюансы/проблемы при использование этих модулей?

boss911 06-05-2021 11:45 2957179

https://github.com/OlegScherbakov/7zSFX

Я так понял автор переехал на GitHub. Жаль, что теперь сюда не заходит.

На данный момент есть версия 7zsd_171_3901.7z от 21.05.2018. Обновите шапку, пожалуйста.

regist 12-05-2021 12:05 2957614

https://olegscherbakov.github.io/7zSFX/ - онлайн справка на англ, только похоже более устаревшая чем русская.

Alex D. 17-08-2021 16:57 2964421

Антивирус 10 винды теперь определяет все модули из сабжа как потенциально опасное ПО и при дефолтных настройках сразу блокирует.
Понимаю, продвинутый юзер добавит исключение или вообще отрубит Defender, но есть ли вариант как-то модифицировать файлы, чтобы избежать срабатывания?

regist 30-01-2022 22:47 2979017

Цитата:

Цитата Alex D.
есть ли вариант как-то модифицировать файлы, чтобы избежать срабатывания? »

Есть вариант взять и сообщить о ложном срабатывании, пользы будет больше.

Den30lv 05-02-2022 12:56 2979355

Alex D.,
Забей.
Заткни антивирус.

_syd_ 14-04-2022 00:35 2983235

Den30lv, так проблема в том, что теперь исполняемые файлы, собранные с помощью модуля, никуда не выложишь. Яндекс и Google их блокируют.
Тот же репак классической версии utorrent на virustotal имеет статус 23/69. Куда это годится? И потом объясняй каждому, что "вирусов там нет".

kazancity 29-05-2023 10:32 3009685

Привет всем!

Есть ли хоть какая-то возможность выполнить команду ДО распаковки в папку назначения?
Интересует конкретно выполнение TaskKill, как не пытался - не смог это сделать!
В WinRAR SFX это очень хорошо сделано, неужели в 7zSFXMod это невозможно реализовать?
Очень полезная вещь!
Может, кому-то удалось это сделать? :(
Пробовал распаковывать во временную папку,
через запуск батника с командой TaskKill,
при выполнении команды перемещения в рабочую папку c:\Program Files\ пишет - Отказано в доступе.
Сделал то же самое через WinRAR SFX (распаковка сразу в c:\Program Files\) - всё работает при тех же вводных.

jameszero 29-05-2023 11:06 3009687

kazancity, из справки:

ExecuteOnLoad="command_for_executing"

Команда для исполнения (множественная). Выполняется сразу после запуска SFX. Запускается как в обычном режиме ('RunProgram' или 'ExecuteFile'), так и в автоматическом ('AutoInstall'). Допустимы переменные, обрабатываемые модулем, а также относительные пути. Написание аналогично 'RunProgram'

SergeyZV 30-05-2023 07:06 3009728

kazancity,

PreExtract="command_for_executing"

Цитата:

Команда для исполнения (множественная). Выполняется после вывода диалога 'BeginPrompt', но перед распаковкой архива. При литерной установке команда не выполняется. Допустимы переменные, обрабатываемые модулем, а также относительные пути. Написание аналогично 'RunProgram'

kazancity 01-06-2023 17:30 3009862

Спасибо большое за подсказки!
Попробовал и PreExtract и ExecuteOnLoad

Скрытый текст
PreExtract="\"TaskKill /F /IM TOTALCMD64.exe\""
PreExtract="\"TaskKill /F /IM TOTALCMD64.exe\""

ExecuteOnLoad="hidcon:fm0:\"TaskKill /F /IM TOTALCMD64.exe\""
ExecuteOnLoad="hidcon:fm0:\"TaskKill /F /IM TOTALCMD64.exe\""

ExecuteOnLoad="hidcon:fm0:TaskKill /F /IM TOTALCMD64.exe"
ExecuteOnLoad="hidcon:fm0:TaskKill /F /IM TOTALCMD64.exe"

ExecuteOnLoad="\"TaskKill /F /IM TOTALCMD64.exe\""
ExecuteOnLoad="\"TaskKill /F /IM TOTALCMD64.exe\""


Не срабатывает TaskKill, что я делаю не так?
Поскажите, плиз!

jameszero 01-06-2023 18:14 3009866

kazancity

Код:

ExecuteOnLoad="hidcon:fm0:TaskKill /F /IM TOTALCMD64.exe"
Эта конструкция работает, только что проверил. Убедитесь, что у вас SFX-модуль последней версии.

kazancity 01-06-2023 20:52 3009883

Цитата:

Цитата jameszero
Эта конструкция работает, только что проверил. Убедитесь, что у вас SFX-модуль последней версии. »

У меня модуль LZMA x86 1.4.1.2100, я думал, на всех версиях эта функция работает. :(
Спасибо Вам большое, сейчас попробую модуль более свежей версии!

upd:
Перепробовал почти все версии - ExecuteOnLoad срабатывает только на версиях 170.xxxx,
на более ранних не запускается!

SergeyZV 02-06-2023 07:52 3009899

Цитата:

Цитата kazancity
Перепробовал почти все версии »

Цитата:

1.7 develop (сборка 3847) 12.02.16
+ Параметры 'ExecuteOnLoad', 'PreExtract', 'PreExtractX' в конфигурационном файле
+ Переменная среды при работе модуля 'SfxVarApiPath'

birdy.spb 05-10-2023 15:56 3017544

Подскажите, пожалуйста. Не смог найти.

А есть ли у модифицированных модулей возможность получить сценарий, как с применением стандартного модуля 7zCon.sfx:
- запущенный процесс не отпускает консоль до завершения выполнения всех команд
- в консоль выводится результат выполнения команд
- процесс завершается с тем же кодом возврата (кодом ошибки), что и запускаемая из конфига команда (наверное, последняя)

???

Den30lv 27-10-2023 23:53 3019052

birdy.spb,
Фсё есть...
http://forum.oszone.net/post-2945220.html#post2945220

Геннадьевич 31-10-2023 16:02 3019246

Подскажите, пожалуйста - хочу создать 7z SFX сборку, работающую так, чтобы после запуска выскакивало окошко с предложением запустить на выбор en-версию утилиты, или русифицированную. В наличии 2 исполняемых файла - к примеру, name_en.exe и name_ru.exe. Что для этого должно быть прописано в конфигурационном файле? Использую кнопку Gora. Но наверно не имеет значения, какой программой пользуешься - главное знать конфиг для подобных случаев

sov44 31-10-2023 18:05 3019260

Цитата:

Цитата Геннадьевич
чтобы после запуска выскакивало окошко с предложением запустить на выбор en-версию утилиты, или русифицированную. »

Такое вряд-ли возможно. Проще использовать ключи запуска
Код:

AutoInstallX="command_auto_install"

Den30lv 01-11-2023 10:20 3019299

Геннадьевич,
Если в архиве 2 установщика (cmd-файла), то да (пример).

Геннадьевич 01-11-2023 12:30 3019319

Den30lv, я имел в виду не установщики утилит, а две портативки, каждая из которых состоит из одного exe-файла. Нужно, чтобы на выбор запускался только один из них (или name_en.exe, или name_ru.exe). Если не трудно, приведите, пожалуйста, код (чтобы name_en.exe запускался при нажатой Shift+Ok).

nibble74 01-11-2023 14:26 3019327

Геннадьевич,

читать дальше »
Код:

;!@Install@!UTF-8!
Title="Заголовок"
BeginPrompt="    [Да] Russian
[Shift+Да] English"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="    Подождите пожалуйста..."
GUIFlags="2+4+8+16+32+2048"
RunProgram="name_ru.exe"
AutoInstall="name_en.exe"
;!@InstallEnd@!


Геннадьевич 01-11-2023 17:10 3019355

nibble74, получилось. Теперь буду знать общий принцип для таких случаев. Ну а надписи на кнопках и т.п можно менять по вкусу

nibble74 01-11-2023 17:33 3019357

Цитата:

Цитата Геннадьевич
Ну а надписи на кнопках и т.п можно менять по вкусу »

Конечно можно :) Не забудьте, что кодировка файла конфигурации должна быть UTF-8

lSVl 18-11-2023 14:10 3020186

Подскажите пожалуйста почему не работает строка?
Код:

sfx.exe -InstallPath="%cd%\sfx" -nr -sfxconfig %cd%\sfx\sfx_config.txt -y
Так работает
Код:

sfx.exe -InstallPath="%cd%\sfx" -nr -y & sfx.exe -sfxconfig %cd%\sfx\sfx_config.txt

Den30lv 23-11-2023 00:11 3020355

lSVl,
Насколько я помню параметры файла конфигурации, команда "InstallPath" относится к распаковке в определённую папку... почему она у Вас, с ключами - мне неведомо.

lSVl 25-11-2023 21:29 3020566

Den30lv,
Цитата:

Одноименные параметры в файле конфигурации при этом будут переназначены (параметры в командной строке имеют приоритет), отсутствующие - будут добавлены. Возможные варианты записи параметров в командной строке:

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

Геннадьевич 14-12-2023 18:41 3021531

Иногда в конфигах скачанных SFX встречаются пустые строки, в начале каждой из которых стоит точка с запятой и ничего больше. Для чего это?
Скрытый текст
Пример:
;!@Install@!UTF-8!
GUIMode="2"
MiscFlags="4"
InstallPath="%Temp%\\IRP"
;
RunProgram="%%P\\infrarecorder.exe"
;
Delete="%Temp%\\IRP"

sov44 14-12-2023 19:03 3021532

Цитата:

Цитата Геннадьевич
Для чего это? »

Скорее всего такие конфиги были не написаны руками, а сгенерированы командной строкой или каким-то другим приложением. Можно смело удалять эти строки.
Точка с запятой в начале строки, за исключением первой и последней строки файла конфигурации, это комментарий. Следующие за знаком команды не исполняются.

Геннадьевич 27-02-2024 22:37 3024720

Столкнулся с необычным поведением SFX. В конфиге прописано:
;!@Install@!UTF-8!
InstallPath="%Temp%\\PDF-XCE-80336"
GUIMode="1"
RunProgram="PDFXEdit.exe"
Delete="%%T"
;!@InstallEnd@!
Однако после распаковки запускалась не та программа, которая в архиве, а та, которая установлена в системе и исполняемый файл которой также имеет имя "PDFXEdit.exe". Как такое возможно, почему так и как это исправить? Изменить имя EXE? Но изменять имена иногда бывает нежелательно

sov44 28-02-2024 07:05 3024725

Цитата:

Цитата Геннадьевич
Как такое возможно, почему так и как это исправить? »

Скорее всего системная программа PDFXEdit.exe находится в директории System32 (SysWOW64) или прописана в Path. Укажите явный путь для запускаемой из sfx программы
Код:

RunProgram="%%P:%%T\\PDFXEdit.exe"

Геннадьевич 28-02-2024 11:15 3024735

Цитата:

Цитата sov44
Скорее всего системная программа PDFXEdit.exe находится в директории System32 (SysWOW64) или прописана в Path »

Нет - она не системная и установлена только в <C:\Program Files>, в System32 (SysWOW64) и другие папки файлов не добавляет. В Path тоже не нашёл её (смотрел с помощью утилиты "Rapid Environment Editor"). Но факт состоит в том, что когда я в сценарии заменил прежнюю запись на RunProgram="%%P:%%T\\PDFXEdit.exe" - всё заработало. Может, тогда лучше всегда так прописывать путь запуска (для всех "самодельных" sfx-программ) во избежание подобных накладок в будущем?

SergeyZV 29-02-2024 10:29 3024787

Цитата:

Цитата Геннадьевич
RunProgram="%%P:%%T\\PDFXEdit.exe" »

%%P в данном случае не нужен, EXE это не командный файл (cmd, bat).

sov44 29-02-2024 11:34 3024794

Цитата:

Цитата SergeyZV
%%P в данном случае не нужен, EXE это не командный файл (cmd, bat). »

Так надежнее, т.к. мы не знаем разрядность экзешника.

lSVl 20-03-2024 11:07 3025577

Код:

RunProgram="%%P:hidcon:cmd /c start /wait \"\" \"%%T\\wget.exe\" -N --no-if-modified-since -P \"%%S\" \"http://download.geo.drweb.com/pub/drweb/cureit/cureit.exe\" && start \"\" /d \"%%S\" \"%%S\\cureit.exe\""
Помогите пожалуйста исправить строку, чтобы cureit.exe запускался только в случае успешного выполнения wget.exe.

soldatovaua 24-05-2024 22:28 3027559

Подскажите, пожалуйста, как создать многотомный SFX-архив с использованием модифицированного модуля?

Pasha_ZZZ 26-05-2024 08:21 3027581

Цитата:

Цитата soldatovaua
Подскажите, пожалуйста, как создать многотомный SFX-архив с использованием модифицированного модуля? »

Создаешь многотомный архив, потом к 1 тому прилепляешь спереди SFX-модуль и сценарий.
И вообще, у 7-Zip тома ненастоящие, просто можно обычный архив разрезать на произвольное кол-во частей, главное правильные имена.

soldatovaua 26-05-2024 22:13 3027595

Pasha_ZZZ,
Не получается. Пишет "Файл не является 7z архивом". Версия модуля последняя.

Pasha_ZZZ 27-05-2024 13:31 3027606

Цитата:

Цитата soldatovaua
Пишет "Файл не является 7z архивом". »

Кто пишет? Когда пишет? Как создавали SFX? Все в подробностях со строками запуска, ну или на форум гадалок.

soldatovaua 02-06-2024 22:06 3027817

Pasha_ZZZ,
1. Создаю через 7FM многотомный архив. Все настройки, как и для однотомного. Размер файла тома - 4 ГБ.
Получаются файлы ХХХ.7z.001, ХХХ.7z.002 и т.д.
2. Ввожу команду:
Код:

copy /b ХХХ.sfx + ХХХ.txt + ХХХ.7z.001 program.exe
3. Создается файл размером 4 ГБ (3,99 ГБ).
При запуске появляется окно пути распаковки (настроенное), но после нажатия ОК, появляется сообщение об ошибке "Файл не является 7z архивом.".
Пробовал менять имя файла "ХХХ.7z.002" на "program.002" - безрезультатно.

Pasha_ZZZ 08-06-2024 08:01 3027991

Цитата:

Цитата soldatovaua
Получаются файлы ХХХ.7z.001, ХХХ.7z.002 и т.д. »

EXE должен быть в таком случае ХХХ.7z.001.exe

Еще можно в конфиге соответствующий параметр включить, чтобы поддерживались 2 схемы именования томов:
Код:

VolumeNameStyle="x"
Определяет схему имён многотомного SFX архива. Если параметр отсутствует в файле конфигурации или его значение равно "0", то работает только такая схема:

name.7z.001.exe - имя SFX архива (сделан из первого тома)
name.7z.002    - второй том
name.7z.003    - третий том
...
Если параметр равен "1", то к первой схеме добавляется вторая и может использоваться любая из схем:

name.exe        - имя SFX архива (сделан из первого тома)
name.001        - второй том (переименован)
name.002        - третий том (переименован)
...

Версия модуля SFX должна быть 1.5 alpha (сборка 1948) 27.11.10 или новее.


Время: 07:14.

Время: 07:14.
© OSzone.net 2001-