Показать полную графическую версию : .: Файлы конфигурации 7z SFX. Помощь и советы :.
Есть ли разница в команде для исполнения reg файла в х64 и х86 редакциях? »
Не понятно о каких "редакциях" идет речь!? :dont-know
- о разных модулях (x86\x64)
- о разных префиксах (x86\x64)
- о разных утилитах regedit (x86\x64), присутствующих в x64 системах
Хотелось бы увидеть и саму "команду" в синтаксисе файла конфигурации, т.к., в ветке речь идет о них, и от правильности этой записи тоже многое зависит.
Ответ: Да, разница есть. (а может быть и нет, в зависимости от многих факторов о которых Вы умолчали)
здравствуйте) Помогите пож-ста отредактировать строчку создания ярлыка
SetEnvironment="Name=USDownloader"
SetEnvironment="ProgDir=%Name%"
SetEnvironment="PF=%ProgramFiles%"
SetEnvironment="INF=Uninstall.inf"
.....
Shortcut="P,{rundll32 advpack,LaunchINFSection %PF%\\%ProgDir%\\%INF%,Uninstall,0},{},{%Name%},{},{Удалить %Name%},{%WinDir%},{%PF%\\%ProgDir%\\uico.ico}"
ярлык создаётся, но его содержимое "пустое"
http://imghost.in/di-SR21.jpg
ярлык создаётся, но его содержимое "пустое" »
В параметре Shortcut для запускаемого файла с путем служит поле src_file_path, а для командной строки к этому файлу служит поле command_line_for_file .
Должно получится такое:Shortcut="P,{c:\\Windows\\System32\\rundll32.exe},{advpack,LaunchINFSection \"%PF%\\%ProgDir%\\%INF%\",Uninstall,0},{%Name%},{},{Удалить %Name%},{%WinDir%},{%PF%\\%ProgDir%\\uico.ico}"
МИШАНЧИК
01-05-2012, 10:01
Подскажите пожалуйста.
Нужно чтобы в Windows х86 и х64 файл распаковался в %ProgramFiles%\\Программа.
Если указать: InstallPath="%ProgramFiles%\\Программа"-то в х64 распаковывается в Program Files (x86). А как сделать чтоб и там и там распаковало в Program Files?
Распаковать непосредственно в разные папки не получится. Причины:
- для х86 %ProgramFiles%\\Программа=c:\Program Files\\Программа
- для x64 %ProgramFiles%\\Программа окажется = c:\Program Files (x86)\\Программа, а нужно указать %ProgramW6432%\\Программа=c:\Program Files\\Программа
Но выход есть. Нужно убрать в конфиге параметр InstallPath - это вызовет распаковку во временную папку.
Если распаковываемый набор един для обеих разрядностей, то далее так:
SetEnvironment="PFx86=%ProgramFiles%\\Программа"
SetEnvironment="PFx64=%ProgramW6432%\\Программа"
...
RunProgram="x64:hidcon:xCopy * \"%PFx64%\\\" /s /e /i /y"
RunProgram="x86:hidcon:xCopy * \"%PFx86%\\\" /s /e /i /y"
Если распаковываемые наборы разные для каждой разрядности, то каждый набор поместить в соответствующую разрядности папку и далее так:
SetEnvironment="PFx86=%ProgramFiles%\\Программа"
SetEnvironment="PFx64=%ProgramW6432%\\Программа"
...
RunProgram="x64:hidcon:xCopy x64\\* \"%PFx64%\\\" /s /e /i /y"
RunProgram="x86:hidcon:xCopy x86\\* \"%PFx86%\\\" /s /e /i /y"
bugmenotagain
01-05-2012, 11:14
возможно ли 2 варианта распаковки?
например: запаковано 4 файла: 1.txt, 2.txt, 3.txt и 4.txt
в первом случае распакованы будут все файлы
а во-втором только 3.txt и 4.txt
вариант распаковки выбирает пользователь
возможно ли 2 варианта распаковки? »
Нет, такое невозможно. Можно использовать прием с временной папкой и последующим копированием нужного, описанный выше.
МИШАНЧИК
01-05-2012, 13:38
gora, подскажите пожалуйста.
А если нужно архив распаковать допустим в d:\GAMES, затем оттуда запустить setup.exe и потом оттуда же скопировать файл.ехе в ProgramFiles\Программа для Windows х86 и х64? Не в Program Files (x86).
- архив распаковать допустим в d:\GAMES
- оттуда запустить setup.exe
- оттуда же скопировать файл.ехе в ProgramFiles\Программа для Windows х86 и х64? Не в Program Files (x86). »
SetEnvironment="PFx86=%ProgramFiles%\\Программа"
SetEnvironment="PFx64=%ProgramW6432%\\Программа"
; архив распаковать d:\GAMES
InstallPath="d:\\GAMES"
; запустить setup.exe
RunProgram="setup.exe"
; скопировать файл.ехе в ProgramFiles\Программа для Windows х86 и х64
RunProgram="x64:hidcon:cmd /c Copy файл.ехе \"%PFx64%\\файл.ехе\" /y"
RunProgram="x86:hidcon:cmd /c Copy файл.ехе \"%PFx86%\\файл.ехе\" /y"
МИШАНЧИК
01-05-2012, 13:59
gora, большое Вам спасибо.
МИШАНЧИК
01-05-2012, 14:43
gora, прошу прощения, но у меня почему-то не копирует. Архив распаковывается, setup.exe устанавливается(в папку ProgramFiles\Программа), а файл.ехе из архива в ProgramFiles\Программа не копируется.
specialist
01-05-2012, 14:53
gora, а тут не прокатит %7zSfxFolder38% или, скажем "%systemdrive%\program files" ?
МИШАНЧИК, приведите конфиг и структуру архива (что-бы видеть где лежит файл.ехе). Существует ли папка %ProgramFiles%\Программа на момент копирования файла? Команда Copy не создает папку назначения, если она не существует в отличии от команды xCopy а тут не прокатит %7zSfxFolder38%»
На х86 %7zSfxFolder38%=C:\Program Files, а на x64 7zSfxFolder38=C:\Program Files (x86)
или, скажем "%systemdrive%\program files" ? »
Можно и так, только есть любители менять не только имя системного диска, но и имена системных папок.
МИШАНЧИК
01-05-2012, 15:20
gora, приведите конфиг и структуру архива »
В архиве находятся 2 файла: setup.exe и setup_rus.ехе. После распаковки из архива запускается инсталятор setup.exe который устанавливается в %ProgramFiles%\Программа, после чего файл setup_rus.ехе из архива должен скопироваться в %ProgramFiles%\Программа(т.е. папка Программа уже получается существует)
SetEnvironment="PFx86=%ProgramFiles%\\Программа"
SetEnvironment="PFx64=%ProgramW6432%\\Программа"
; архив распаковать %WINDIR%\\Temp\\setup
InstallPath="%WINDIR%\\Temp\\setup"
; запустить setup.exe
RunProgram="setup.exe"
; скопировать файл.ехе в ProgramFiles\Программа для Windows х86 и х64
RunProgram="x64:hidcon:cmd /c Copy setup_rus.ехе \"%PFx64%\\setup_rus.ехе\" /y"
RunProgram="x86:hidcon:cmd /c Copy setup_rus.ехе \"%PFx86%\\setup_rus.ехе\" /y"
Delete="%WINDIR%\\Temp\\setup"
GUIMode="2"
после чего файл setup_rus.ехе из архива должен скопироваться в %ProgramFiles%\Программа(т.е. папка Программа уже получается существует) »
Что папка уже существует на момент копирования, это не факт. Сделайте так:RunProgram="x86:cmd /k Copy setup_rus.ехе \"%PFx86%\\setup_rus.ехе\" /y" и посмотрите что напишет в окне консоли.
МИШАНЧИК
01-05-2012, 15:44
и посмотрите что напишет в окне консоли. »
Пишет: не удаётся найти указанный файл. Но он то есть!
Попробуйте так:
RunProgram="x86:cmd /k Copy \"%%T\\setup_rus.ехе\" \"%PFx86%\\setup_rus.ехе\" /y"
МИШАНЧИК
02-05-2012, 11:03
gora, Попробуйте так: »
не получается, опять пишет: не удаётся найти указанный файл. c:\Windows\Temp\setup»
МИШАНЧИК, залейте Ваш SFX и дайте на него ссылку.
gora, зачем нужна эта тема при наличии Модифицированный SFX модуль 7-Zip'а для установок (http://forum.oszone.net/thread-51547.html)? В ней все равно обсуждаются вопросы создания SFX и различные параметры модуля.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC