Показать полную графическую версию : .: Файлы конфигурации 7z SFX. Помощь и советы :.
net_vip_person@vk
24-06-2012, 18:33
1.5 RC1 (сборка 2485) от 17 мая 2012 г.
1.4.4 Release (сборка 2485) от 17 мая 2012 г
Вот самый примитивный вариант:
;!@Install@!UTF-8!
GUIMode="1"
;!@InstallEnd@!
Вот самый примитивный вариант: »
Потому и нет ни каких запросов пути, что Вы ни чего не указали модулю. Почитайте про GUIFlags
Нужна помощь в выполнении следующего:
переместить папку (название папки soft) с файлами и папками внутри её из:
InstallPath="%ProgramFiles%\\PROG"
в %USERPROFILE%\Application Data\soft
переместить у меня не получилось но сойдет и копирование с последующим удалением из начального места.
вот что получилось сделать самому (да сперва мне её еще надо было переименовать папку):
RunProgram="hidcon:cmd /c ren Profile soft"
RunProgram="hidcon:cmd /c (If Not Exist \"%USERPROFILE%\\Application Data\\soft\" xcopy \"soft\\*\" \"%USERPROFILE%\\Application Data\\soft\" /s /e /i /y)& Del /Q userdata.local& RD /S /Q \"soft\""
проблема в том что на XP работает а на Win7 не копируется.
Все, догадался:
RunProgram="hidcon:cmd /c Ver | Find \"6.1\" >Nul && xcopy \"%%T\\soft\" \"%USERPROFILE%\\AppData\\Roaming\\soft\" /s /e /i /y"
RunProgram="hidcon:cmd /c Ver | Find \"6.1\" >Nul || xcopy \"%%T\\soft\" \"%USERPROFILE%\\Application Data\\soft\" /s /e /i /y"
А, вот как удалить каталог после копирования из %%T\soft через RunProgram мне не понятно.
догадался »
1 Проще использовать переменную модуля
RunProgram="hidcon:xcopy soft \"%7zSfxFolder26%\\soft\" /s /e /i /y"
1.1 Указание полного пути с переменной %%T здесь не требуется.
2 как удалить каталог после копирования из %%T\soft через RunProgram мне не понятно »
Используйте параметр Delete Delete="%%T\\userdata.local"
Delete="%%T\\soft"
2.1 Указание полного пути (с переменной %%T) здесь обязательно.
переменную модуля »
спасибо попробую, по моему эту переменную автор модуля ввел совсем недавно. (хотелось бы увидеть полный список данных переменных модуля)
Используйте параметр Delete »
да на счет этого я в курсе, а как на счет через RunProgram, удалить файл не проблема а вот папку, не получалось. (папка находится по пути распаковки, только сперва она переименовывается, копируется а затем удаляется)
нашел список переменных
http://forum.oszone.net/post-517853-278.html
а как на счет через RunProgram, удалить файл не проблема а вот папку, не получалось »
;!@Install@!UTF-8!
InstallPath="c:\\test"
RunProgram="hidcon:cmd /c ren Profile soft"
RunProgram="hidcon:xcopy soft \"%7zSfxFolder26%\\soft\" /s /e /i /y"
RunProgram="hidcon:cmd /c RD /S /Q soft"
;!@InstallEnd@! Папка soft удалилась без проблем.
bugmenotagain
09-07-2012, 14:44
RunProgram="hidcon:cmd /c ren Profile soft" RunProgram="hidcon:xcopy soft \"%7zSfxFolder26%\\soft\" /s /e /i /y" RunProgram="hidcon:cmd /c RD /S /Q soft" »
первое это переименование "Profile soft" в "soft" в только что распакованной папке?
второе это копирование "soft" в "Application Data" ?
третье удаление "soft", но из какой папки?
третье удаление "soft", но из какой папки? »
То что папка soft лежит в папке AppData, то само папка soft в этой папке удаляется.
bugmenotagain
09-07-2012, 17:46
alert30, так какая папка soft удаляется? та что в месте распаковки, или та что в AppData ?
bugmenotagain, та что в месте распаковки.
RunProgram="hidcon:cmd /c RD /S /Q soft" »
Удаляет папку soft в текущей папке (папке распаковки)
двойной слэш - папка, один слэш - файл »
Откуда такая информация?
Возможно подобный вопрос уже поднимался. Если да, ткните пальцем пожалуйста. Короче в конфигурации нету авто установок, но очень надо добавить возможность ключами выбирать создаваемые ярлыки. Есть ли такая возможность?
в конфигурации нету авто установок, но очень надо добавить возможность ключами выбирать создаваемые ярлыки. Есть ли такая возможность? »
Есть. Добавьте ключи для автоустановок. Пример такого создания ярлыков (аддон ТС):
;!@Install@!UTF-8!
SetEnvironment="Name=Total Commander"
SetEnvironment="Vers= v8.01 rc 1 [%%P]"
SetEnvironment="PFx86=%SystemDrive%\\totalcmd86"
SetEnvironment="PFx64=%SystemDrive%\\totalcmd64"
SetEnvironment="EXEx86=Totalcmd.exe"
SetEnvironment="EXEx64=Totalcmd64.exe"
SetEnvironment="NameInf=TCmd"
SetEnvironment="QLP=Microsoft\\Internet Explorer\\Quick Launch"
SetEnvironment="DelDefShrtCut=shc0:hidcon:cmd /c Echo"
SetEnvironment="AddSoft=%%P:hidcon:cmd /c If Exist \"%%S\\TCaddSft\\TCaddSft.cmd\" CD /D \"%%S\\TCaddSft\" & \"%%S\\TCaddSft\\TCaddSft.cmd\""
Title="Установка %Name%"
BeginPrompt="Сейчас будет установлен
%Name%%Vers%
Для установки x86 ТС на x64 ОС
нажмите 'OK' удерживая [Shift]"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
FinishMessage="%Name%%Vers% установлен!"
;
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
MiscFlags="4"
; Простая установка: x64 TC на x64 OS или x86 TC на x86 OS
RunProgram="fm20:%%P:hidcon:QLP.bat"
RunProgram="%%P:hidcon:cmd /c Copy %NameInf%.inf %WINDIR%\\INF\\%NameInf%_%%P.inf /y"
RunProgram="%%P:rundll32 advpack,LaunchINFSection %NameInf%_%%P.inf,DefaultInstall_%%P,0"
RunProgram="x86:hidcon:xCopy x86\\* \"%PFx86%\\\" /s /e /i /y /h /k"
RunProgram="x86:hidcon:xCopy Windows\\* %WINDIR% /s /e /i /y"
RunProgram="x64:hidcon:xCopy x64\\* \"%PFx64%\\\" /s /e /i /y /h /k"
RunProgram="%AddSoft%"
;
; Простая установка: x86 TC на любую OS
AutoInstall="fm20:%%P:hidcon:QLP.bat"
AutoInstall="%%P:hidcon:cmd /c Copy %NameInf%.inf %WINDIR%\\INF\\%NameInf%_x86.inf /y"
AutoInstall="%%P:rundll32 advpack,LaunchINFSection %NameInf%_x86.inf,DefaultInstall_x86,0"
AutoInstall="%%P:hidcon:xCopy x86\\* \"%PFx86%\\\" /s /e /i /y /h /k"
AutoInstall="x86:hidcon:xCopy Windows\\* %WINDIR% /s /e /i /y"
AutoInstall="%AddSoft%"
;
; Автоустановка x86 без ярлыков
AutoInstall8="%%P:hidcon:QLP.bat"
AutoInstall8="%%P:hidcon:cmd /c Copy %NameInf%.inf %WINDIR%\\INF\\%NameInf%_x86.inf /y"
AutoInstall8="%%P:rundll32 advpack,LaunchINFSection %NameInf%_x86.inf,DefaultInstall_x86,0"
AutoInstall8="%%P:hidcon:xCopy x86\\* \"%PFx86%\\\" /s /e /i /y /h /k"
AutoInstall8="x86:hidcon:xCopy Windows\\* %WINDIR% /s /e /i /y"
;
; Автоустановка x64 без ярлыков
AutoInstall6="%%P:hidcon:QLP.bat"
AutoInstall6="%%P:hidcon:cmd /c Copy %NameInf%.inf %WINDIR%\\INF\\%NameInf%_x64.inf /y"
AutoInstall6="%%P:rundll32 advpack,LaunchINFSection %NameInf%_x64.inf,DefaultInstall_x64,0"
AutoInstall6="x64:hidcon:xCopy x64\\* \"%PFx64%\\\" /s /e /i /y /h /k"
;
; Установка дополнительного ПО
AutoInstallS="%AddSoft%"
;
; Ярлык в Пуск->Программы->Утилиты
AutoInstallu="%DelDefShrtCut%"
AutoInstallU="%DelDefShrtCut%"
; Ярлык на Рабочем столе
AutoInstalld="%DelDefShrtCut%"
AutoInstallD="%DelDefShrtCut%"
; Ярлык на панели быстрого запуска
AutoInstallq="%DelDefShrtCut%"
AutoInstallQ="%DelDefShrtCut%"
; Ярлык в Пуск->Программы->Автозагрузка
AutoInstalla="%DelDefShrtCut%"
AutoInstallA="%DelDefShrtCut%"
; Ярлык в Пуск->Программы
AutoInstallp="%DelDefShrtCut%"
AutoInstallP="%DelDefShrtCut%"
;
; Ярлык на панели быстрого запуска ************* по умолчанию *************
Shortcut="26,{%PF%%P%\\%EXE%%P%},{},{%QLP%},{Файловый менеджер},{%Name% (%%P)},{%PF%%P%}"
; Ярлык в Пуск->Программы->Утилиты
Shortcutu="Pu,{%PFx86%\\%EXEx86%},{},{Утилиты},{Файловый менеджер},{%Name% (x86)},{%PFx86%}"
ShortcutU="Pu,{%PFx64%\\%EXEx64%},{},{Утилиты},{Файловый менеджер},{%Name% (x64)},{%PFx64%}"
; Ярлык на Рабочем столе
Shortcutd="Du,{%PFx86%\\%EXEx86%},{},{},{Файловый менеджер},{%Name% (x86)},{%PFx86%}"
ShortcutD="Du,{%PFx64%\\%EXEx64%},{},{},{Файловый менеджер},{%Name% (x64)},{%PFx64%}"
; Ярлык на панели быстрого запуска
Shortcutq="26,{%PFx86%\\%EXEx86%},{},{%QLP%},{Файловый менеджер},{%Name% (x86)},{%PFx86%}"
ShortcutQ="26,{%PFx64%\\%EXEx64%},{},{%QLP%},{Файловый менеджер},{%Name% (x64)},{%PFx64%}"
; Ярлык в Пуск->Программы->Автозагрузка
Shortcuta="7,{%PFx86%\\%EXEx86%},{},{},{Файловый менеджер},{%Name% (x86)},{%PFx86%}"
ShortcutA="7,{%PFx64%\\%EXEx64%},{},{},{Файловый менеджер},{%Name% (x64)},{%PFx64%}"
; Ярлык в Пуск->Программы
Shortcutp="Pu,{%PFx86%\\%EXEx86%},{},{},{Файловый менеджер},{%Name% (x86)},{%PFx86%}"
ShortcutP="Pu,{%PFx64%\\%EXEx64%},{},{},{Файловый менеджер},{%Name% (x64)},{%PFx64%}"
SfxAuthor="gora-sah <gora@7zsfx.info>"
;!@InstallEnd@!
gora, посмотри мой скрипт и скажи что в нем не так. Он то работает, но я только начинаю разбираться, может что не так сделал. В частности интересует секция AutoInstall с созданием ярлыков.
;!@Install@!UTF-8!
SetEnvironment="DelDefShrtCut=shc0:hidcon:cmd /c Echo"
Title="Установка Drivers BackUp Solution"
BeginPrompt="Хотите установить Drivers BackUp Solution?"
FinishMessage="Установка завершена!"
ExtractTitle="Идет установка..."
ExtractDialogText="Пожалуйста, подождите..."
GUIMode="1"
OverwriteMode="0"
GUIFlags="2+4+8+16+32+2048+4096"
MiscFlags="4"
AutoInstallP="%DelDefShrtCut%"
AutoInstallD="%DelDefShrtCut%"
InstallPath="%ProgramFiles%\\Drivers BackUp Solution"
Shortcut="P,{%%T\\DriversBackuper.exe},{},{Утилиты},{Резервное копирование драйверов},{Drivers BackUp Solution},{%%T}"
Shortcut="D,{%%T\\DriversBackuper.exe},{},{},{Резервное копирование драйверов},{Drivers BackUp Solution},{%%T}"
ShortcutP="P,{%%T\\DriversBackuper.exe},{},{Утилиты},{Резервное копирование драйверов},{Drivers BackUp Solution},{%%T}"
ShortcutD="D,{%%T\\DriversBackuper.exe},{},{},{Резервное копирование драйверов},{Drivers BackUp Solution},{%%T}"
;!@InstallEnd@!
popt2t, явных ошибок не обнаружил.
Строку OverwriteMode="0" можно удалить, т.к., это режим по умолчанию и его можно не прописывать.
Есть ли возможность запуска приложения поле нажатия "ОК" в окне завершения установки?
запуска приложения поле нажатия "ОК" в окне завершения установки? »
Такой возможности нет. По крайней мере без "танцев с бубном", нет, но если очень хочется то ...
но если очень хочется то ... »
Не то слово, как хочется. Спасибо. Попробую.
gora, а как мне посмотреть что и как в файле конфигурации? Архив под паролем.
что и как в файле конфигурации? »
Архив любой, конфиг с комментариями ниже ;!@Install@!UTF-8!
Title="Тест"
BeginPrompt="Запуск приложения после нажатия 'ОК' в окне FinishMessage"
FinishMessage="Работа модуля завершена!
После нажатия 'ОК' будет запущен 7-Zip"
; Имитация пользовательских команд выполняемых до FinishMessage
RunProgram="hidcon:cmd /c Echo "
RunProgram="hidcon:Ping -n 3 localhost"
RunProgram="hidcon:cmd /c Echo "
; Создание вспомогательного скрипта для запуска приложения (7zFM.exe) после FinishMessage
; ВАЖНО! Скрипт создается не во временной папке модуля, а в его родительской папке
; ------------------------------------------- сам скрипт --------------------------------
; - петля для отслеживания наличия процесса запущенного SFX. Выход из петли после нажатия 'ОК' в окне FinishMessage
RunProgram="hidcon:cmd /c Echo :_loop >..\\test.bat"
RunProgram="hidcon:cmd /c Echo Ping -n 2 localhost^>Nul >>..\\test.bat"
RunProgram="hidcon:cmd /c Echo TASKLIST /FI \"IMAGENAME eq %~1\" ^| Find /i \"%~1\" ^&^& GoTo _loop >>..\\test.bat"
; - запуск нужного приложения (7zFM.exe, путь зависит от разрядности ОС) после нажатия 'ОК' в окне FinishMessage
RunProgram="x86:hidcon:cmd /c Echo Start \"\" \"%ProgramFiles%\\7-Zip\\7zFM.exe\" >>..\\test.bat"
RunProgram="x64:hidcon:cmd /c Echo Start \"\" \"%ProgramW6432%\\7-Zip\\7zFM.exe\" >>..\\test.bat"
; - удаление временной папки модуля, сама может не удалится из-за использования префикса forcenowait
RunProgram="hidcon:cmd /c Echo RD /s /q %2 >>..\\test.bat"
; - самоудаление скрипта
RunProgram="hidcon:cmd /c Echo Del /q %0 >>..\\test.bat"
; ---------------------------------------------------------------------------------------
; Переход в родительскую папку и запуск скрипта с двумя параметрами: имя процесса, имя временной папки модуля
; ВАЖНО! Переход в родительскую папку освобождает временную папку модуля для ее последующего удаления
; Префикс forcenowait позволяет не ждать завершения команды и модуль сразу выводит FinishMessage
RunProgram="%%P:forcenowait:hidcon:cmd /c CD /d ..\\ & test.bat \"%%M\" \"%%T\""
GUIMode="2"
GUIFlags="2+4+8+16+32+2048+4096"
;!@InstallEnd@!
Есть такая возможность: если нажать "ОК" или "Да" то установка автоматически происходит, а вот если нажать "ОК" или "Да" с удерживанием клавиши [Shift] то должен показать, какой путь установки укажем?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC