PDA

Показать полную графическую версию : .: Файлы конфигурации 7z SFX. Помощь и советы :.


Страниц : 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

sov44
19-10-2022, 19:20
Вот это явная ошибка. »
Это вряд-ли :)

Можно сделать установку HashTab через копирование и регистрацию библиотеки. скачать (https://disk.yandex.ru/d/j_FhW7ZzNYea6Q)

SergeyZV
20-10-2022, 09:31
сделать установку HashTab через копирование и регистрацию библиотеки »
Только в ранее приведенных конфигах установка происходит по другому.

Wu-Tang
21-10-2022, 12:24
SergeyZV,
вы про это:
AutoInstall="%%P:hidcon:cmd /c if exist HashTab.reg regedit /s HashTab.reg"

я брал этот пример установки из этой темы.
sov44,
меня в принципе и мой вариант устраивает, просто хотелось убедиться в корректности скрипта.

Vanadiy777
21-10-2022, 14:18
Все работает, но может есть какие-н ошибки, недочеты? »
меня в принципе и мой вариант устраивает, просто хотелось убедиться в корректности скрипта. »
Wu-Tang,
Вы же не новичок в этом, сами прекрасно понимаете, если бы было что-то не так - то и не работало бы...

Все у Вас там нормально... :)

SergeyZV
21-10-2022, 16:07
Wu-Tang Про это
RunProgram="FileMenu.exe"
RunProgram="%%P:hidcon:cmd /c if exist FileMenu.reg regedit /s FileMenu.reg" »

Vanadiy777
21-10-2022, 16:34
Почему у вас *.reg на второй позиции после *.exe!? Вот это явная ошибка. »
SergeyZV,
Нет здесь никакой ошибки, настройки из рег-файла добавляются после установки программы.
Если сделать наоборот, то существует вероятность, что программа затрет уже добавленные настройки своими.

;!@Install@!UTF-8!
RunProgram="FileMenu.exe"
RunProgram="%%P:hidcon:cmd /c if exist FileMenu.reg regedit /s FileMenu.reg"
AutoInstall="FileMenu.exe /VERYSILENT"
AutoInstall="FileMenuLang.exe"
AutoInstall="%%P:hidcon:cmd /c if exist FileMenu.reg regedit /s FileMenu.reg"
GUIMode="2"
MiscFlags="4"
;!@InstallEnd@!»

Wu-Tang,
а почему у Вас в "AutoInstall=" файл FileMenuLang.exe добавлен, а в "RunProgram=" не добавлен?

Это так задумано, или просто просмотрели?

Vanadiy777
21-10-2022, 20:08
Можно сделать установку HashTab через копирование и регистрацию библиотеки. »
sov44,
подскажите, зачем в Windows x64 у Вас копируется два файла разной разрядности в разные папки?
Вполне достаточно скопировать HashTab.dll нужной разрядности в System32 и зарегистрировать его.
Ну, и соответственно, добавить нужные настройки в HKCU\Software\HashTab\Algorithms.

Поправьте пожалуйста, если я заблуждаюсь...

SergeyZV
21-10-2022, 20:44
Если сделать наоборот, то существует вероятность, что программа затрет уже добавленные настройки своими. »
Как раз наоборот. Произойдет не чистая установка, а обновление с сохранением настроек. Вы к примеру браузеры обновляли!? Что произойдет? Конечно настройки сохранятся.
А если ещё в рег-файле есть регистрационный ключ, то он подхватится автоматически.

sov44
21-10-2022, 23:21
зачем в Windows x64 у Вас копируется два файла разной разрядности в разные папки? »
Чтобы HashTab в win64 работал во всех разрядностях Total Commander.

Vanadiy777
21-10-2022, 23:56
Чтобы HashTab в win64 работал во всех разрядностях Total Commander. »
sov44, да, блин, точно, совсем забыл про это...
Спасибо, что напомнили. :Beer:

Как раз наоборот. Произойдет не чистая установка, а обновление с сохранением настроек. »
SergeyZV,
всегда уважал и уважаю мнение коллег, поэтому спорить не буду, но у меня были случаи, когда программа затирала настройки, добавленные до установки.
К сожалению, примеры сейчас привести не могу, т.к. просто не вспомню.
Так, что будем считать, что правда Ваша... :wink:
Что касается конфигурации коллеги Wu-Tang, то ошибки там нет, отработает и так, и так...

Wu-Tang
22-10-2022, 00:06
Vanadiy777, Вы же не новичок в этом, сами прекрасно понимаете, если бы было что-то не так - то и не работало бы...
Все у Вас там нормально... »
Просто есть же разные реализации рабочие, вот и хотел посоветоваться, вероятно есть более правильный вариант, чем у меня.
а почему у Вас в "AutoInstall=" файл FileMenuLang.exe добавлен, а в "RunProgram=" не добавлен? »
да я вот посчитал, что нет необходимости, тк filemenulang.exe это sfx архив с языковым файлом внутри, который просто распаковывается в папку с программой, но после ее установки, тк в установщике старые языковые файлы.

SergeyZV,
тогда какие ваши предложения?

Vanadiy777
22-10-2022, 00:28
да я вот посчитал, что нет необходимости, тк filemenulang.exe это sfx архив с языковым файлом внутри, который просто распаковывается в папку с программой, но после ее установки, тк в установщике старые языковые файлы. »
Зачем его тогда вообще добавлять?
тогда какие ваши предложения? »
Wu-Tang,
вот Вы странный человек...

Коллега SergeyZV написал русским по белому:
Почему у вас *.reg на второй позиции после *.exe!? Вот это явная ошибка. »
Команды в сценарии просто местами поменяйте...
Хотя, в Вашем случае, это не будет иметь никакого значения, и так все работать должно.

Wu-Tang
22-10-2022, 01:10
Зачем его тогда вообще добавлять? »
тк надо перезаписать на обновленный.

Я просто не пойму, что не так, если твики применяются после установки самой программы.
Вот у человека - http://forum.oszone.net/post-1751904-98.html точно такая же реализация.

Vanadiy777
22-10-2022, 01:32
да я вот посчитал, что нет необходимости, тк filemenulang.exe это sfx архив с языковым файлом внутри, который просто распаковывается в папку с программой, но после ее установки, тк в установщике старые языковые файлы. »
тк надо перезаписать на обновленный. »
Сами себе противоречите...

Вот Ваш сценарий:
;!@Install@!UTF-8!
RunProgram="FileMenu.exe"
RunProgram="%%P:hidcon:cmd /c if exist FileMenu.reg regedit /s FileMenu.reg"
AutoInstall="FileMenu.exe /VERYSILENT"
AutoInstall="FileMenuLang.exe"
AutoInstall="%%P:hidcon:cmd /c if exist FileMenu.reg regedit /s FileMenu.reg"
GUIMode="2"
MiscFlags="4"
;!@InstallEnd@!
При обычном запуске Вы не добавляете языковый файл, а при запуске через параметры - добавляете.
Видите в чем разница?

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

Wu-Tang
22-10-2022, 01:37
я понял, вы имеете в виду сделать так:

;!@Install@!UTF-8!
RunProgram="FileMenu.exe"
RunProgram="FileMenuLang.exe"
RunProgram="%%P:hidcon:cmd /c if exist FileMenu.reg regedit /s FileMenu.reg"
AutoInstall="FileMenu.exe /VERYSILENT"
AutoInstall="FileMenuLang.exe"
AutoInstall="%%P:hidcon:cmd /c if exist FileMenu.reg regedit /s FileMenu.reg"
GUIMode="2"
MiscFlags="4"
;!@InstallEnd@!

наверное я не выявил до этого момента, тк тестил установщик исключительно с параметрами.

Vanadiy777
22-10-2022, 02:02
я понял, вы имеете в виду сделать так: »
Wu-Tang,
да, все верно.

Так же, если в файле FileMenuLang.exe находится только один языковый файл, и известна директория установки программы, то лучше это сделать копированием.
Во первых, не нужен будет еще один, лишний sfx-архив, а во вторых, вес готового пакета снизится...

Пример копирования русской справки при установке 7-Zip в нужную папку:
RunProgram="hidcon:xCopy \"%%T\\7-zip.chm\" \"%SystemDrive%\Program Files\7-Zip\" /s /e /i /y"
AutoInstall="hidcon:xCopy \"%%T\\7-zip.chm\" \"%SystemDrive%\Program Files\7-Zip\" /s /e /i /y"

Дальше уже сами импровизируйте...

Vanadiy777
22-10-2022, 15:14
Wu-Tang,
Для наглядности, вот полный файл конфигурации для 7-Zip себе делал...
Смотрите, анализируйте, может быть что-то пригодится.

;!@Install@!UTF-8!
Title="Установка 7-Zip (x86-x64)"
BeginPrompt="Сейчас будет установлена русская версия
программы 7-Zip Ru [%%P]
Разрядность системы определяется автоматически
Скрытая установка с ключом командной строки /aiS"
ExtractDialogText="Пожалуйста подождите . . ."
GUIMode="1"
GUIFlags="4096"
MiscFlags="4"
OverwriteMode="1"
ExtractTitle="Подготовка к установке . . ."
RunProgram="x86:7zx86.msi /qn"
RunProgram="x64:7zx64.msi /qn"
RunProgram="hidcon:xcopy \"%%T\\7-zip.chm\" \"%SystemDrive%\Program Files\7-Zip\" /s /e /i /y"
RunProgram="Regedit /S \"%%T\\7-zip.reg\""
AutoInstall="x86:7zx86.msi /qn"
AutoInstall="x64:7zx64.msi /qn"
AutoInstall="hidcon:xcopy \"%%T\\7-zip.chm\" \"%SystemDrive%\Program Files\7-Zip\" /s /e /i /y"
AutoInstall="Regedit /S \"%%T\\7-zip.reg\""
AutoInstallS="x86:7zx86.msi /qn"
AutoInstallS="x64:7zx64.msi /qn"
AutoInstallS="hidcon:xcopy \"%%T\\7-zip.chm\" \"%SystemDrive%\Program Files\7-Zip\" /s /e /i /y"
AutoInstallS="Regedit /S \"%%T\\7-zip.reg\""
Delete="%%T"
;!@InstallEnd@!

SergeyZV
22-10-2022, 20:29
RunProgram="x86:7zx86.msi /qn"
RunProgram="x64:7zx64.msi /qn" »
Вместо этих двух строк достаточно одной
RunProgram="7z%%P.msi /qn"

Vanadiy777
22-10-2022, 20:40
Вместо этих двух строк достаточно одной »
Согласен, но переделывать влом... :)
Уж очень VirusTotal (https://www.virustotal.com/gui/file/3de455aa5aa1ef2267478e0db13029217060ecd121fbff3c8e60881c9bc57349) хорошо показывает... Что для SFX-архивов большая редкость.

SergeyZV
22-10-2022, 20:56
но переделывать влом.. »
Для этих целей шикарная программа SFX Config Editor v1.8 (https://yadi.sk/d/9eeRMpLOqAvPb).
Можно менять конфиг без перепаковки.

Delete="%Temp%\\%Vers%"
А вот что за переменная %Vers%?
В помощи к SFX модулям не встречается.




© OSzone.net 2001-2012