Показать полную графическую версию : Модифицированный SFX модуль 7-Zip'а для установок
swingsss
30-09-2008, 16:07
Народ подскажите плизз возможно ли изменить Описания файла или производителя при создании exe???? Тоесть при выведении свойств файла Версия -> Производитель этображался тот текст которыя я задал
swingsss, Это меняется так же как и иконка... Через ResHacker
Это меняется так же как и иконка... Через ResHacker »И не только. Можно проще сделать все "кнопкой". Ссылка в шапке.
swingsss
30-09-2008, 22:48
gora подскажите пожалуйта как добавить к Иконкам форматов 16х16 и 32х32 и другие Заранее благодарен
У меня такая проблема. Мне необходимо прочитать из реестра путь к папке с прогой. Я делаю это так
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: в справке к модифицированому модулю есть несколько примеров. Может стоит их заменить на готовые маски?
EN130, у Вас целый ряд ошибок.InstallPath="reg "HKLM\\SOFTWARE\\ZTEiT\\EV DO\\1.00.999\\Product_Path" " »
1 Нарушено правило "лидирующего" слеша. В строке ВСЕ внутренние кавычки (за исключением самой первой и самой последней) должны предварятся слешем. (\")
2 Команда reg должна содержать второе слово (название операции). Подробности: Пуск - Выполнить - набрать cmd /k reg
3 Параметр InstallPath не является командой выполнения и не будет выполнять команду записанную в нем. В этот параметр нужно подставлять уже готовый путь, а как Вы его получите, это уже ваши проблемы. как нужно было читать путь из реестра? »Я не знаю способа получения пути из реестра и подстановки его в параметр InstallPath в пределах файла конфигурации.есть несколько примеров. Может стоит их заменить на готовые маски? »Приведите ваши варианты примеров, если они будут удачными, то можно будет их включить в справку.
Dmitry_K
10-10-2008, 20:26
EN130, в принципе можно "извратиться", как вы хотите: ;)
1. создаем sfx-архив, который будет распаковываться во временную папку и в котором будут:
а) нужный 7z-архив;
б) модифицированный модуль;
в) начало файла конфигурации;
г) окончание файла конфигурации;
д) сторонняя утилита (либо командный файл), которая прочитает инфу из реестра и запишет ее в "середину" файла конфигурации и который будет выглядеть как InstallPath="путь из реестра" и который будет в формате UTF-8.
2. Затем "склеиваем" все это: модуль + начало конфига + середина конфига + окончание конфига + архив.
3. Запускаем получившийся файл...
сторонняя утилита (либо командный файл), которая прочитает инфу из реестра »
Batch files - Reading NT's Registry with REG .EXE (http://www.robvanderwoude.com/ntregistry.html)
и запишет ее в "середину" файла конфигурации »
Проще добавить в конец, после чего добавить ;!@InstallEnd@!
Dmitry_K, Vadikan, при всем уважение, но это изврат. Зачем нужно создавать новый SFX архив!? Проще распаковать во временную папку и запустить бат файл в котором извлечь нужный путь из реестра и СКОПИРОВАТЬ извлеченные файлы в указанный путь из временной папки. Остальное можно сделать, как в этом же бат файле, так и вернувшись в файл конфигурации архива.
Dmitry_K
10-10-2008, 23:27
gora, так я же и говорю:
в принципе можно "извратиться" »
а на счет батников, не все их составлять умеют, но если уж очень кому-то понадобится, то информацию (http://forum.oszone.ru/thread-106528.html) всегда найти можно
Проще добавить в конец, после чего добавить ;!@InstallEnd@! »Файл конфигурации еще надо иметь после распаковки, а его нет! Для его извлечения придется еще "подтянуть" сплитер, да и дописывать/создавать файл в кодировке utf8 тоже не просто будет. Нужен будет еще и модуль и снова создавать SFX архив, а затем его снова распаковывать... Это все будет очень не просто. Я решал подобные задачи и скажу, что это посложнее батников будет, тем более, что с его помощью и придется все это решать.
Dmitry_K
10-10-2008, 23:39
Файл конфигурации еще надо иметь после распаковки, а его нет! »
это решается проще, он просто кладется в архив отдельно, и не надо никаких сплиттеров
да и дописывать/создавать файл в кодировке utf8 тоже не просто будет »
полностью согласен, сам тоже этим "извращался" ;)
при всем уважение, но это изврат. »
Полностью согласен. Приншу извинения за публично продемонстрированную страсть к групповым извращениям :)
EN130, см. сообщение 569.
Для всех Все не так просто как кажется. Может мне и удастся все зделать, но гемороиться ради проги сомнительной надобности не стоит.
Для 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
EN130, имхо, в файле справки все достаточно понятно и подробно описано.
Oleg_Sch, скажите, если ли возможность в модуле вставки пользовательского рисунка в диалоговое окно? Необходимо, чтобы был и рисунок и выбор пути установки. Если модуль не поддерживает такую возможность, то имеются ли другие способы сделать это?
При использовании "указание пути распаковки в диалоге BeginPrompt" не получается заставить работать ExtractPathText.
Мой конфиг:;!@Install@!UTF-8!
Title="..."
BeginPrompt="..."
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
ExtractPathText="Пожалуйста, введите путь распаковки:"
InstallPath="..."
Shortcut="..."
GUIFlags="2624"
FinishMessage="..."
;!@InstallEnd@!
Oleg_Sch
13-11-2008, 01:13
При использовании "указание пути распаковки в диалоге BeginPrompt" не получается заставить работать ExtractPathText. »
Приводите версию модуля, пожалуйста.
Подозреваю, что это 1.3 со сборкой > 1095
Oleg_Sch, скажите, если ли возможность в модуле вставки пользовательского рисунка в диалоговое окно? Необходимо, чтобы был и рисунок и выбор пути установки »
В разработке. Надеюсь выложить на следующей неделе.
Если модуль не поддерживает такую возможность, то имеются ли другие способы сделать это? »
Не поддерживает. На текущих версиях это сделать невозможно.
Приводите версию модуля, пожалуйста. »
1.3.0.1141
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.