Войти

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


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

EN130
18-11-2008, 23:53
Если конечно это кому то нужно!? »
Как я вижу частенько встречается ситуация, когда архив выходит более 4Гб. Можно передать SFX архиву как команду извлечся в нужное место, так и скопировать SFX архив в нужное место и скомандовать извлеч сюда. В старых пиратских играхя видил и первое и второе. Естественно первое предпочтительнее. Можно воспользоватся и консольной версией орегинального 7Z, но этот способ еще не опробовал.

hobbit25
20-11-2008, 01:45
Oleg_Sch, Oleg_Sch, вот хочется спросить. опишу более точно свой вопрос. Хочется пример картинка вместо "при нажатии [ОК] ВМЕСТЕ С [Shift]" иметь кнопочку например 1 вариант а вместо кнопки ОК второй вариант »

Oleg_Sch
22-11-2008, 08:32
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
Универсальный загрузчик для многотомных 7z SFX архивов. Создан на базе модифицированного модуля (версия 1.4 alpha сборка 1501) от 7 сентября 2009 г и автономного архиватора 7za.exe (версия 9.07 beta).

http://gora.7zsfx.info/addons/pict/Loader.7z.png

Использование:
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
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
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
Ребят, почему не корректно отрабатывает запуск 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
1 SetEnvironment="Path=%ProgramFiles%\\AutoPlay Media Studio 7.0\\Plugins" »Path - системная переменная и переобъявлять ее я бы не рекомендовал! Используйте, например: Path1, My_Path и т.д.
2 Вы уже все распаковали в Path т.к. InstallPath="%Path%" » так, что после этого команды AutoInstall1="hidcon:cmd /c xcopy Actions \"%Path%\" /s /e /i /y" » не эффективны, т.к. Actions изначально находится в том месте куда был распакован архив, а именно вInstallPath="%Path%" »

denVL
10-12-2008, 15:54
gora, спасибо.
А не подскажешь как поправить конфиг, чтоб осталась возможность самому выбирать путь установки и чтоб работали -ai1 и -ai2?

gora
10-12-2008, 16:04
чтоб осталась возможность самому выбирать путь установки и чтоб работали -ai1 и -ai2? »Неточная постановка задачи - причина многих бед. Самому это как? Интерактивно в окне 'BeginPrompt' ? Так его автоматически скрывают указанные ключи. А в файле конфигурации Вы сами можете указать любой путь. ;)

denVL
10-12-2008, 16:10
Т.е AutoInstall - это перемещение указанных папок/файлов в нужную папку из папки, куда был предварительно распакован архив (у меня получается InstallPath). Т.е. папка, куда архив предварительно распоковался и есть то место, куда необходмо и копировать папку Actions, а там уже она есть..вместе с папкой Objects. Теперь как бы поступить? Не указывать же InstallPath="%%T"?

gora
Неточная постановка задачи - причина многих бед. »
Согласен.
Самому это как? »
Т.е., если запущена не автоинсталляция, то присутствовала бы возможность выбора пути установки, а не распаковывалась бы в Temp.

gora
10-12-2008, 16:36
присутствовала бы возможность выбора пути установки » Не путайте путь установки и путь распаковки. В модуле 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 можно будет выбрать только путь временной папки, но не конечную точку назначения которая будет жестко задана в файле конфигурации. :(

Учитывая 1.3.0 beta (1141) 12.09.08
+ Возможность изменения параметров файла конфигурации из командной строки »есть и третий вариант, но он пока не расписан автором и модуль не выложен в общий доступ. Подождем! ;)

r0L1K
12-12-2008, 11:26
Как сделать, чтобы скомпилированный установочник поддерживал русский язык?
Насколько я понимаю, нужно с конфигом что-то сделать...

И возможно ли сделать так, чтобы при запуске помимо окна BeginPrompt еще и отсчет шел, как в финале?

EN130
12-12-2008, 11:58
Как сделать, чтобы скомпилированный установочник поддерживал русский язык?
Насколько я понимаю, нужно с конфигом что-то сделать... »
config.txt необходимо сохранить в кодировке UTF-8. Тогда в конфиге можно смело использовать русские буквы.И возможно ли сделать так, чтобы при запуске помимо окна BeginPrompt еще и отсчет шел, как в финале? »Нет. Можно вывести только заранее подготовленый текст.

r0L1K
12-12-2008, 12:24
Спасибо

Afalin
24-12-2008, 17:46
Подскажите "чайнику",что делаю не правильно? Ярлык от игрушки устанавливается
как положено(в свойствах ярлык указывает на игру тоже правильно),а с ярлыка не
работает.Из установленной папки игра запускается нормально.
код:
;!@Install@!UTF-8!
InstallPath="%Programfiles%\\Games\\Crazylunch"
GUIMode="2"
Shortcut="P, {%Programfiles%\\Games\\Crazylunch\\crazylunch.exe}, {}, {Игры}, {Crazylunch}, {Чудики}, {}"
;!@InstallEnd@!

Заранее спасибо.

gora
24-12-2008, 18:11
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
Вопрос 1:
В SFX-архиве лежит батник, который запускается после распаковки. Надо, чтобы батник знал, какой файл и из какой директории его запустил. Подскажите, как это можно реализовать?

Вопрос 2:
Запускаем SFX-архив, перетаскивая на него какой-нибудь файл или запустив с параметром %1. В SFX-архиве лежит батник, который запускается после распаковки. Надо, чтобы этот параметр %1 был передан батнику. Как это сделать?

Пытался добиться этого от WinRAR - ничего не получилось.

Oleg_Sch
05-01-2009, 00:21
Вопрос 1:
В SFX-архиве лежит батник, который запускается после распаковки. Надо, чтобы батник знал, какой файл и из какой директории его запустил. Подскажите, как это можно реализовать? »
Если батник запускается из модуля, никто не мешает Вам использовать переменные модуля в командной строке (а также и как переменные среды используя SetEnvironment)

Кроме этого можно использовать (только в файле конфигурации, но не в других программах, запущенных из модуля) следующие переменные модуля:

%%M - имя SFX архива без пути
%%S - полный путь к файлу SFX архива
%%T - полный путь распаковки


Вопрос 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
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 г.


Все подробности на сайте (http://7zsfx.info)




© OSzone.net 2001-2012