Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: Файлы конфигурации 7z SFX. Помощь и советы :.

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

Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: jameszero
Дата: 26-11-2019
Описание: зеркала
Эта тема создается специально для вопросов по 7z SFX архивам на базе модифицированных модулей от Oleg_Sch. Перед тем, как задать вопрос, обратите внимание, на перечисленные ниже ссылки.

Домашняя страница модулей: http://7zsfx.info (зеркала в теме по ссылке ниже)
Обсуждение модулей: http://forum.oszone.net/showthread.php?t=51547

В теме предполагается обсуждать вопросы написания файлов конфигурации для 7z SFX архивов, делится своими наработками, нестандартными и оригинальными решениями, расширяющими возможности использования модулей и т.п..

Лучшие варианты файлов конфигурации и оригинальные решения могут быть включены в справку по модифицированным модулям.

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

FAQ:
  1. Вопрос: Как можно удалить необходимую папку ДО установки? Насколько я читал RunProgram, ExecuteFile, AutoInstall выполняются после распаковки.
    Ответ: Установка и распаковка это разные этапы работы модуля. До распаковки ни каких действий произвести нельзя, модуль этого не предусматривает. А после распаковки начинается установка и первыми командами установки можно удалить "любую" папку (конечно, если ее вообще можно удалить).
    Если Вы хотите удалить папку в которую нужно произвести установку программы, то распаковывайте SFX во временную папку, затем удаляйте, ту, которую хотите удалить, а затем производите установку/копирование/перемещение из временной папки, туда, куда сочтете нужным. Временная папка автоматически удалится после завершения работы SFX.


  2. Вопрос: Возможно ли 2 варианта распаковки? Например: запаковано 4 файла: 1.txt, 2.txt, 3.txt и 4.txt. В первом случае распакованы будут все файлы, а во-втором только 3.txt и 4.txt. Вариант распаковки выбирает пользователь?
    Ответ: Нет, такое невозможно. Всегда распаковываются все файлы из архива. После распаковки можно скопировать/переместить только нужные файлы в нужное место, или просто удалить ненужные.

Отправлено: 09:16, 21-03-2012

 

Аватара для alert30

Ветеран


Сообщения: 1088
Благодарности: 162

Профиль | Отправить PM | Цитировать


popt2t, http://forum.oszone.net/post-1908642.html#post1908642

Последний раз редактировалось alert30, 01-02-2013 в 17:16.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:42, 01-02-2013 | #171



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 2196
Благодарности: 727

Профиль | Отправить PM | Цитировать


Проблема в том, что после тихой установки Your Uninstaller происходит её автоматический запуск. Пробовал убить процесс после установки, и удалить директорию из "c:\Documents and Settings\All Users\Главное меню\Программы\Your Uninstaller! 7", но не получается. Подскажите, в чем ошибка?
Код: Выделить весь код
RunProgram="hidcon:no_upd.cmd"
RunProgram="%%P:hidcon:cmd /c yusetup7p.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-"
RunProgram="%%P:hidcon:cmd /c TASKKILL /F /IM urmain.exe"
RunProgram="%%P:hidcon:cmd /c del /q \"%SfxFolder23%\Your Uninstaller! 7\""
RunProgram="fm5:hidcon:cmd /c Move %NameInf% %WINDIR%\\INF"
RunProgram="rundll32 advpack,LaunchINFSection %NameInf%,DefaultInstall,0"

Отправлено: 14:22, 06-02-2013 | #172


Аватара для popt2t

Ветеран


Сообщения: 787
Благодарности: 132

Профиль | Отправить PM | Цитировать


Можно ли для параметра AutoInstallX использовать буквенно-циферный идентификатор? Например AutoInstallX32.

-------
Prince Of Persia


Отправлено: 14:57, 06-02-2013 | #173


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата popt2t:
буквенно-циферный идентификатор »
Нет, нельзя. Литера должна быть только одна.
Цитата:
X - литера варианта. В качестве литеры X допустимы [0...9], [A...Z], [a...z].
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:00, 06-02-2013 | #174


Аватара для popt2t

Ветеран


Сообщения: 787
Благодарности: 132

Профиль | Отправить PM | Цитировать


Цитата gora:
Нет, нельзя. Литера должна быть только одна. »
Спасибо за скорый ответ. Я так и предполагал, но решил спросить здесь для уверенности.

-------
Prince Of Persia


Отправлено: 15:20, 06-02-2013 | #175


Аватара для specialist

Старожил


Сообщения: 406
Благодарности: 108

Профиль | Отправить PM | Цитировать


Цитата popt2t:
Можно ли для параметра AutoInstallX использовать буквенно-циферный идентификатор? Например AutoInstallX32. »
но можно вероятно приколоться и наделать пустых действий на установку или разбить существующие действия по
AutoInstallX=
AutoInstall3=
AutoInstall2=
а потом запускать инсталлятор .exe /aiX32

-------
Все что было создано руками и умом одного человека, может быть изменено по своему образу и подобию другим. ICQ: 560-361 Блог: repacksbyspecialist.blogspot.com


Отправлено: 17:53, 06-02-2013 | #176


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ребята здравствуйте, подскажите пожалуйста такую вещь, как реализовать в самораспаковающем архиве такую вещь:
Например в InnoSetup создается инсталлятор, при его запуске в конце, когда установилась прога, запускается вызов sfx модуля. Вот тут проблема в чем? Самораспаковывающий архив в тихом режиме должен распаковать свое содержимое, но зная куда пользователь поставил инсталлятором так сказать свою программу, путь полный, например это может быть любой диск\Программа\ и вот в папку программы sfx и должен выгрузить свои файлы. Есть ли команды, какие пути абсолютные или другие прописывать и какими ключами необходимо пользоваться? Надеюсь описал доступно и понятным языком. Не могу создать такой интеллектуальный самораспаковывающийся архив, который бы знал куда доставлять необходимые дополнительные файлы в программу, умел бы находить путь, а именно диск и папку, куда юзер установить решил программу.
Спасибо. Опишите хоть метод или надо батник какой дополнительный писать, но может есть возможность указать какие либо строки и команды при создании sfx? В общем намекните алгоритм.

Отправлено: 23:31, 06-02-2013 | #177


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


nakula, возможны три варианта решения задачи (т.к. конкретных названий программы и ее путей не указано, будет все делать на примере программы "Punto Switcher ":
1 Заранее прописать путь распаковки в конфиге SFX:
Код: Выделить весь код
InstallPath="c:\\Program Files (x86)\\Yandex\\Punto Switcher"
2 Если заранее путь неизвестен, но известен на момент запуска SFX, то будем использовать ключ для запуска SFX:
Код: Выделить весь код
sfx.exe -InstallPath="c:\\Program Files (x86)\\Yandex\\Punto Switcher"
Вариант 2 можно использовать одновременно с вариантом 1. Тогда при отсутствии ключа установка будет происходить по "умолчальному" пути, а, в случае необходимости, этот путь можно изменить на другой ключом.

3 Путь неизвестен и его надо найти непосредственно из запущенного SFX.
В этом случае нужно знать некоторые подробности искомой папки и файлов в ней дабы выбрать достаточно уникальный файл и путь к нему не повторяющийся в других папках. Для Punto Switcher выбираем Punto Switcher\Data\triggers.dat. Имя файла + путь к нему достаточно уникальны для нашей задачи идентификации папки Punto Switcher.
В конфиге удаляем параметр InstallPath, дабы распаковка происходила во временную папку, и пишем такую строку:
Код: Выделить весь код
RunProgram="hidcon:cmd /c For %z In (c d e f g h i j k l m n o p q r s t u v w x y z) Do For /F \"delims=\" %a In ('Dir /b /s \"%z:\\\" 2^>Nul ^| Find \"Punto Switcher\\Data\\triggers.dat\"') Do Set fp=%a& Call xCopy * \"%%fp:\\Data\\triggers.dat=%%\" /s /e /i /y /h /k& Exit"
SFX будет искать указанный файл на всех дисках в папках любой глубины вложенности и как только найдет его, то скопирует все содержимое своего архива в указанную папку Punto Switcher с сохранением всей структуры папок и файлов в архиве. После этого поиск прекратится. Если на разных дисках или в разных папках будут установлены другие копии программы Punto Switcher с искомым файлом, они будут проигнорированы, ибо SFX не может знать в какою именно копию программы нужно произвести распаковку.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:39, 08-02-2013 | #178


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


gora
Огромная благодарность. Ваше объяснение доступно для понимание и разжевано в деталях. Очень полезно и информативно. Я давно искал метод решения и вы, очень помогли. Полезное пояснение не только для меня одного, надеюсь. Еще раз, спасибо, буду пробовать. ) Отпишусь позже!

Отправлено: 17:03, 08-02-2013 | #179


Аватара для ZoRRo1

Новый участник


Сообщения: 9
Благодарности: 1

Профиль | Отправить PM | Цитировать


можете пожалуйста помочь с наработоспособным конфигом? ))) нужно для XP x64

начну издалека ))

есть работоспособная бат-команда,
Код: Выделить весь код
cmd /c If Exist "C:\Program Files (x86)\vdf_fusebundle.zip" (Reg Add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v "Update_and_del_vdf.bat" /t REG_SZ /d "cmd /c If Exist \"C:\Program Files ^^(x86^^)\Update_and_del_vdf.bat\" \"C:\Program Files ^^(x86^^)\Update_and_del_vdf.bat\"")
которая заносит в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce параметр REG_SZ с именем Update_and_del_vdf.bat и значением
Код: Выделить весь код
cmd /c If Exist "C:\Program Files (x86)\Update_and_del_vdf.bat" "C:\Program Files (x86)\Update_and_del_vdf.bat"
если её переделываю в конфиг по всем правилам (которые прописаны в хелпе по модифицированным модулям), то не работает )) (похоже из-за экранизации скобочек, т.к. команда нормально работает в x86, само собой с другими путями)
Код: Выделить весь код
RunProgram="x64:cmd /c If Exist \"C:\\Program Files (x86)\\vdf_fusebundle.zip\" (Reg Add HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce /v \"Update_and_del_vdf.bat\" /t REG_SZ /d \"cmd /c If Exist \\\"C:\\Program Files ^^(x86^^)\\Update_and_del_vdf.bat\\\" \\\"C:\\Program Files ^^(x86^^)\\Update_and_del_vdf.bat\\\"\")"
а если в эту конфиг-команду добавить перед теми скобочками (в каждое место, где уже есть ^^) еще один экранный символ (т.е. ^), то конфиг работает, но заносит в реестр само собой неправильный параметр ))
Код: Выделить весь код
cmd /c If Exist "C:\Program Files ^(x86^)\Update_and_del_vdf.bat" "C:\Program Files ^(x86^)\Update_and_del_vdf.bat"
з.ы. : нужна именно одна команда (батник не устроит), причём рабочая )))

Последний раз редактировалось ZoRRo1, 22-02-2013 в 21:21. Причина: выделил некоторые места


Отправлено: 21:13, 22-02-2013 | #180



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: Файлы конфигурации 7z SFX. Помощь и советы :.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Система - VMware (все вопросы) 1 bit Программное обеспечение Windows 382 10-10-2019 23:34
WinRAR SFX .:[все вопросы]:. Devil-91 Автоматическая установка приложений 85 28-08-2013 15:37
Доступ - Никак не удаляются файлы (AVI и все остальные форматы) .:[все вопросы]:. Microsoft Windows 2000/XP 105 30-06-2010 11:58
Все вопросы о Wi-Fi vovikrus Хочу все знать 0 18-04-2010 09:53
Вопросы по теме "Кнопка для работы с 7z SFX архивами в Total Commander." ya158 Автоматическая установка Windows 2000/XP/2003 4 18-11-2009 22:20




 
Переход