Показать полную графическую версию : .: Файлы конфигурации 7z SFX. Помощь и советы :.
а по моему случаю можете что-либо сказать? »
Случай тяжелый.
Вы дважды задаете вопрос о частичной распаковке, хотя я уже в первый раз Вам ответил, что это невозможно. Я занес это в FAQ в шапке, больше на него отвечать не буду.
заместо x86 можно вставить префикс? если да то как через батник запускать ехе с префиксом? »
По остальным Вашим вопросам я вижу, что Вы не изучали справку, что является обязательным. Вы даже не понимаете, что такое префикс, а в справке этому посвящен целый раздел.
Учите мат. часть.
всё работает и копируется. Правда не знаю насколько это правильно. »
Как обещал возвращаюсь к Вашей проблеме.
SetEnvironment="PFx86=%ProgramFiles%\\Программа"
SetEnvironment="PFx64=%ProgramW6432%\\Программа"
RunProgram="setup.exe"
RunProgram="x64:hidcon:xCopy * \"%PFx64%\\\" /s /e /i /y"
RunProgram="x86:hidcon:xCopy * \"%PFx86%\\\" /s /e /i /y"
GUIMode="2"
То что у Вас не срабатывает Copy, но срабатывает xCopy наводит на мысль, что во время запуска этой команды папки назначения еще нет.
Объяснением этому может быть наличие дочерних процессов в Вашем setup.exe.
Модуль выполняет все строки последовательно. После запуска строки RunProgram="setup.exe" модуль ждет завершения процесса setup.exe и только после этого переходит к выполнению следующей строки. Но если процесс setup.exe порождает дочерний процесс (который продолжает производить некоторые операции, очевидно, и создание папки программы), а сам закрывается, то выполнение следующей строки конфига фактически начнется раньше завершения дочерних процессов (создания папки программы).
Для лучшего понимания я предлагаю Вам сделать SFX из следующего конфига (модуль должен быть 1.5 beta (сборка 2478) и выше):
;!@Install@!UTF-8!
BeginPrompt=" Проверка работы префикса 'waitall'
• Нажмите 'OK', будет произведен запуск Блокнота без 'waitall'
• Нажмите 'OK', удерживая [Shift], будет произведен запуск
Блокнота с использованием префикса 'waitall'"
RunProgram="hidcon:cmd /c Echo Start \"\" notepad.exe >test.bat"
RunProgram="hidcon:test.bat"
AutoInstall="hidcon:cmd /c Echo Start \"\" notepad.exe >test.bat"
AutoInstall="hidcon:waitall:test.bat"
GUIMode="2"
FinishMessage="Модуль завершил работу"
;!@InstallEnd@! Здесь используется два варианта запуска батника который в свою очередь запускает Блокнот.
При варианте запуска 'OK', Вы увидите открытие Блокнот и сразу же появится диалог FinishMessage. Почему же FinishMessage появился раньше чем Вы закрыли Блокнот? Потому что основной процесс test.bat запустил дочерний процесс (Блокнот) и после этого test.bat закончил работу. Нечто подобное происходит и в Вашем случае.
Теперь запустите вариант 'OK', удерживая Shift. Диалог FinishMessage появится только после того, как Вы закроете Блокнот, т.е., завершится дочерний процесс. Этому способствует префикс waitall (описание в справке), который я использовал во втором варианте.
Резюме: попробуйте запустить Ваш setup.exe с префиксом waitall. В любом случае это будет правильнее, т.к., копирование будет производится после полного завершения работы файла setup.exe.
bugmenotagain
18-05-2012, 11:13
gora, в справке не написано как из ком строки запускать файл с префиксом, вообще по справке много вопросов, если вы думаете что простой человек может разобраться, на задав ни одного вопроса, то ошибаетесь.
жаль что люди знающие хоть что-то не желают поделиться опытом с новичками.
Возможна такая реализация: распаковка файлов -> финишная табличка "Установка завершена! Сейчас будет перезагружен компьютер!" (на 15 сек.) -> и перезагрузка? Если возможна, то как сделать, чтобы после финишной таблички и затем исчезания (после встренной 15 сек.), компьютер автоматически перезагрузил.
распаковка файлов -> финишная табличка "Установка завершена! Сейчас будет перезагружен компьютер!" (на 15 сек.) -> и перезагрузка? »
;!@Install@!UTF-8!
SetEnvironment="timer=15"
Title="Перезагрузка"
FinishMessage=" ВНИМАНИЕ !!!
Сейчас будет произведена перезагрузка компьютера."
; Перезагрузка
RunProgram="fm%timer%:forcenowait:hidcon:cmd /c CD /d ..\\&Ping -n %timer% localhost &Shutdown -r -f -t 0"
GUIMode="2"
GUIFlags="1+8+512"
;!@InstallEnd@!
nibble74
24-05-2012, 05:41
gora , а как прописать файл конфигурации чтобы перед распаковкой файлов происходило сканирование реестра?
Мне нужно так,
InstallPath="Вставляемый путь"
В реестре находится информация пути установки одной программы, вобщем нужно чтобы этот путь вставлялся в SFX исталлятор.
Просто на разных компьютерах эта программа может находиться в разных папках и даже на разных HDD.
чтобы перед распаковкой файлов происходило сканирование реестра? »
В шапке FAQ п.1
Valerkan
27-05-2012, 00:42
FinishMessage=" ВНИМАНИЕ !!! Сейчас будет произведена перезагрузка компьютера." »
А что прописать в файле конфигурации, чтобы вместо перезагрузки было выключение компьютера?
specialist
27-05-2012, 00:46
Valerkan, пуск выполнить (win + r)
cmd /k Shutdown /?
изучите ключи и поправьте команду под себя
Valerkan
27-05-2012, 01:49
cmd /k Shutdown /?
изучите ключи и поправьте команду под себя »
specialist, заменил ключ
Shutdown -s -f -t 0
компьютер теперь выключается.
Подскажите, где ошибка в строке?
BeginPrompt="Сейчас будет установлен %Name% обновлённый по %Vers%"\n Возможные варианты установки:\n \n 1. Запуск с ключом '-ai1' - полная установка \n 2. запуск с ключом '-ai2' - установка только обновлений\n \n Использовать вариант №1 ?"
сам код (может ещё есть ошибки?)
;!@Install@!UTF-8!
SetEnvironment="Name=Microsoft Offise 2010 SP1"
SetEnvironment="Vers=12.05.2012"
Title="Установка %Name%"
BeginPrompt="Сейчас будет установлен %Name% обновлённый по %Vers%"\n Возможные варианты установки:\n \n 1. Запуск с ключом '-ai1' - полная установка \n 2. запуск с ключом '-ai2' - установка только обновлений\n \n Использовать вариант №1 ?"
FinishMessage="%Name%%Vers% установлен!"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
RunProgram="hidcon:cmd /c msksm.cmd"
AutoInstall1="hidcon:cmd /c msksm.cmd"
AutoInstall2="hidcon:cmd /c Update_office2010.cmd"
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
;!@InstallEnd@!
alert30, пишет, что ошибка в строке 5
sov44, выделил подчеркнутым, лишняя кавычка.
Сейчас будет установлен %Name% обновлённый по %Vers%"
bugmenotagain
11-06-2012, 08:03
Подскажите, при использовании ключа -ai2 возможно ли добиться того чтобы появилось окошко выбора директории в которую будут распакованы файлы? вот текущая строка
AutoInstall2="hidcon:cmd /c xcopy folder \"%Var1%\" /s /e /i /y"
она не дает выбора, а распаковывает строго в 1 папку.
Вообще интересует возможность выбора папки распаковки если sfx архив запущен с префиксом -ai2 или любым другим.
спасибо
Можно ли реализовать установку ярлыка программы на панель задач, желательно сделать так чтобы данная команда была выполнена только на Win7?
читал что это можно реализовать через vbs скрипт, но без полного примера до 7zip SFX мне не дано понять.
вот http://forum.oszone.net/thread-197757.html#
нашел это но не совсем понимаю как его прикрутить к 7zip SFX
timon45, ну так в RunProgram надо влепить скрипт или как-то другое?
влепить скрипт или как-то другое? »
да, но как?
net_vip_person@vk
24-06-2012, 18:09
У меня вопрос. Модифицированный модуль, запущенный без параметров сразу начинает распаковку в InstallPath, при этом совершенно забывая спросить пользователя, куда бы он хотел распаковать файлы.
Детальнее тут (http://forum.oszone.net/post-1939314-1364.html).
Детальнее тут. »
Там нет ни каких деталей.
1 Версия и номер сборки модуля ?
2 Конфиг полностью в тегах CODE ?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC