Войти

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

swingsss
30-09-2008, 16:07
Народ подскажите плизз возможно ли изменить Описания файла или производителя при создании exe???? Тоесть при выведении свойств файла Версия -> Производитель этображался тот текст которыя я задал

Medic84
30-09-2008, 16:09
swingsss, Это меняется так же как и иконка... Через ResHacker

gora
30-09-2008, 16:18
Это меняется так же как и иконка... Через ResHacker »И не только. Можно проще сделать все "кнопкой". Ссылка в шапке.

swingsss
30-09-2008, 22:48
gora подскажите пожалуйта как добавить к Иконкам форматов 16х16 и 32х32 и другие Заранее благодарен

EN130
09-10-2008, 16:45
У меня такая проблема. Мне необходимо прочитать из реестра путь к папке с прогой. Я делаю это так

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
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. Запускаем получившийся файл...

Vadikan
10-10-2008, 23:13
сторонняя утилита (либо командный файл), которая прочитает инфу из реестра »
Batch files - Reading NT's Registry with REG .EXE (http://www.robvanderwoude.com/ntregistry.html)
и запишет ее в "середину" файла конфигурации »
Проще добавить в конец, после чего добавить ;!@InstallEnd@!

gora
10-10-2008, 23:20
Dmitry_K, Vadikan, при всем уважение, но это изврат. Зачем нужно создавать новый SFX архив!? Проще распаковать во временную папку и запустить бат файл в котором извлечь нужный путь из реестра и СКОПИРОВАТЬ извлеченные файлы в указанный путь из временной папки. Остальное можно сделать, как в этом же бат файле, так и вернувшись в файл конфигурации архива.

Dmitry_K
10-10-2008, 23:27
gora, так я же и говорю:
в принципе можно "извратиться" »
а на счет батников, не все их составлять умеют, но если уж очень кому-то понадобится, то информацию (http://forum.oszone.ru/thread-106528.html) всегда найти можно

gora
10-10-2008, 23:33
Проще добавить в конец, после чего добавить ;!@InstallEnd@! »Файл конфигурации еще надо иметь после распаковки, а его нет! Для его извлечения придется еще "подтянуть" сплитер, да и дописывать/создавать файл в кодировке utf8 тоже не просто будет. Нужен будет еще и модуль и снова создавать SFX архив, а затем его снова распаковывать... Это все будет очень не просто. Я решал подобные задачи и скажу, что это посложнее батников будет, тем более, что с его помощью и придется все это решать.

Dmitry_K
10-10-2008, 23:39
Файл конфигурации еще надо иметь после распаковки, а его нет! »
это решается проще, он просто кладется в архив отдельно, и не надо никаких сплиттеров
да и дописывать/создавать файл в кодировке utf8 тоже не просто будет »
полностью согласен, сам тоже этим "извращался" ;)

Vadikan
11-10-2008, 01:14
при всем уважение, но это изврат. »
Полностью согласен. Приншу извинения за публично продемонстрированную страсть к групповым извращениям :)

EN130, см. сообщение 569.

EN130
11-10-2008, 11:59
Для всех Все не так просто как кажется. Может мне и удастся все зделать, но гемороиться ради проги сомнительной надобности не стоит.

EN130
13-10-2008, 15:43
Для 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, имхо, в файле справки все достаточно понятно и подробно описано.

denVL
08-11-2008, 22:28
Oleg_Sch, скажите, если ли возможность в модуле вставки пользовательского рисунка в диалоговое окно? Необходимо, чтобы был и рисунок и выбор пути установки. Если модуль не поддерживает такую возможность, то имеются ли другие способы сделать это?

qeraser
11-11-2008, 21:52
При использовании "указание пути распаковки в диалоге 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, скажите, если ли возможность в модуле вставки пользовательского рисунка в диалоговое окно? Необходимо, чтобы был и рисунок и выбор пути установки »
В разработке. Надеюсь выложить на следующей неделе.
Если модуль не поддерживает такую возможность, то имеются ли другие способы сделать это? »
Не поддерживает. На текущих версиях это сделать невозможно.

qeraser
13-11-2008, 11:36
Приводите версию модуля, пожалуйста. »
1.3.0.1141




© OSzone.net 2001-2012