Показать полную графическую версию : .: Файлы конфигурации 7z SFX. Помощь и советы :.
Есть такая возможность »
Нет. Либо делать "матрешку", либо использовать рекурсивный запуск SFX (если архив небольшой). Пример рекурсивного запуска можно посмотреть в установщике "Кнопки..."
Мне надо в автозагрузку добавить шорткат, чтобы запускал программу во весь экран. Как я понял, этого нет. Может быть какое решение имеется?
specialist
03-09-2012, 14:33
бУРов, например с помощью nircmd
nircmd shortcut "f:\Program Files" "c:\temp\MyShortcuts" "Program Files Folder" "" "" "" "max"
shortcut [filename] [folder] [shortcut title] {arguments} {icon file} {icon resource number} {ShowCmd} {Start In Folder} {Hot Key}
скачайте nircmd и изучайте возможности с помощью мануала к нему
какое решение имеется? »
Без сторонних утилит, с помощью vbs скрипта, например:
set WSS = WScript.CreateObject("WScript.Shell")
strDesktop = WSS.SpecialFolders("Desktop")
set oShellLink = WSS.CreateShortcut(strDesktop & "\Shortcut Script.lnk")
oShellLink.TargetPath = WScript.ScriptFullName
oShellLink.WindowStyle = 3
oShellLink.Hotkey = "Ctrl+Alt+e"
oShellLink.IconLocation = "notepad.exe, 0"
oShellLink.Description = "Shortcut Script"
oShellLink.WorkingDirectory = strDesktop
oShellLink.Save
с помощью nircmd »Да, вполне приемлемое решение )))
3december
03-09-2012, 20:02
Здравствуйте, может кто-нибудь помочь в создании SFX архива? Мне нужно, чтобы перед распаковкой он удалил файлы в выбранной пользователем директории для распаковки. Файлов для удаленим много: порядка 17 тыс. В программировании я не силен, может кто подсказать как это сделать?
RunProgram = "REGEDIT /S reg.reg" »А у меня такое использование
вызывает диалог
Delete=%%T\\reg.reg" »Вот что-то нигде не могу найти, что это -- "%%T"?
Это типа буква диска?
jameszero
03-09-2012, 20:44
3december
Перед распаковкой архива такого функционала не предусмотрено, можно выполнить удаление сразу после распаковки во временную папку, а затем установить программу или, что там вам требуется. Это указано в первом сообщении темы (FAQ).
Технически так:
Удалить все файлы в директории %ProgramFiles%\ToDelete
;!@Install@!UTF-8!
RunProgram="hidcon:cmd /c PushD \"%ProgramFiles%\\ToDelete\"& del /S /Q *.*& PopD"
;!@InstallEnd@!
Возможно подойдёт вариант удалить всю директорию %ProgramFiles%\ToDelete
;!@Install@!UTF-8!
RunProgram="hidcon:cmd /c If Exist \"%ProgramFiles%\\ToDelete\" rd /S /Q \"%ProgramFiles%\\ToDelete\""
;!@InstallEnd@!
бУРов
%%T - полный путь распаковки
Настоятельно рекомендую к ознакомлению ссылку - http://7zsfx.info
Можно ли как-то менять значения реестра?
Использование "regedit /s reg.reg" вызывает диалог.
Менять UAC не нужно. Хотя... Вроде его из командной строки можно отключить. Уже кое что.
И вот еще нашел. REG.EXE
specialist
03-09-2012, 21:37
бУРов,
- в windows 7 с включенным UAC запускать запускать полученный sfx EXE правой кнопкой от имени администратора
или
- добавить в файл конфигурации к sfx модулю строчку
MiscFlags="4"
для автоматизации вызова диалога повышения привилегий при запуске sfx EXE
или
- как вариант открыть ваш готовый exe или *.cfg файл для него перед слиянием например в restorator и в секции манифестов в строке
Код:
<requestedPrivileges><requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel></requestedPrivileges>
прописать вместо asInvoker
фразу
requireAdministrator
для автоматизации вызова диалога повышения привилегий при запуске sfx EXE
по результатам будут все команды после запуска файла выполняться от администратора и запросов на подтверждение не будет
3december
03-09-2012, 21:44
jameszero
вариант со временной папкой не подходит, так как файлов на 5 гигабайт
А можно сделать так: SFX архив распаковывает один файл в директорию, которую пользователь выбрал, выполняет этот файл, а потом распаковывает все остальное?
Два 1-х пункта не помогают. Вопросы-диалоги те же и даже если жму "да", в реестре изменений нет.
windows 7 с включенным UAC запускать запускать полученный sfx EXE правой кнопкой от имени администратор »
У меня почему-то в реестре ничего не поменялось ((
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"AutoAdminLogon"="1"
А если через кнопку пуск "REGEDIT /S ", справшивает, добалять ли в реестр
ruslan910
04-09-2012, 07:23
Господа помогите!
Shortcut="Du,{C:\\Konsultant\\pn.exe},{/APP "CONSULTANT" /PNI "3z11omhz"},{},{Консультант},{konsultant},{C:\\Konsultant},{%APPDATA%\\ICAClient\\8w9u1x86.ICO},{}"
7zip ругается на ковычки "CONSULTANT" и "3z11omhz" , но они должны присутствовать в ярлыке, как быть? подскажите.
заранее спасибо
jameszero
04-09-2012, 07:46
3december
А можно сделать так: SFX архив распаковывает один файл в директорию, которую пользователь выбрал, выполняет этот файл, а потом распаковывает все остальное? »
Можете сделать два архива. Один небольшой, который будет моментально распаковываться, выполнять действия и запускать второй, основной архив.
Частичная распаковка одного архива невозможна (FAQ в первом сообщении, пункт 2)
ругается на ковычки »
1 Кавычки нужно экранировать обратным слешем:
...{/APP \"CONSULTANT\" /PNI \"3z11omhz\"}...
...{%APPDATA%\\ICAClient\\8w9u1x86.ICO}..." »
2 Системные переменные не раскрываются в параметрах ярлыка.Только переменные среды модуля и переменные модуля, а также переменные, определяемые пользователем в параметрах 'SetEnvironment', разбираются и подставляются (будут подставлены ЗНАЧЕНИЯ этих переменных) во всех параметрах команды 'Shortcut'.
Системные переменные не раскрываются в параметрах ярлыка. »дык вроде и не нужно, оно именно так и пропишется в ярлыке, в виде переменной, и такой ярлык вроде вполне рабочий
http://i2.imageban.ru/thumbs/2012.09.04/f560271f963c63cf2702e26f3bc61be8.png (http://imageban.ru/show/2012/09/04/f560271f963c63cf2702e26f3bc61be8/png)
дык вроде и не нужно »
Я не знаю, что конкретно задумал пользователь. Переменную в ярлыке будет обрабатывать ОС и он будет работоспособным, если в нем нет ошибок, например таких:...{%АPPDATA%\\ICAClient\\8w9u1x86.ICO}..." В "правильном" варианте использования Shortcut SetEnvironment="AD=%АPPDATA%"
Shortcut="...{%AD%\\ICAClient\\8w9u1x86.ICO}..." мы сразу увидим в свойствах ярлыка отсутствие "правильного" абсолютного пути, т.к., переменной %АPPDATA% не существует и она не раскроется.
ruslan910
04-09-2012, 10:47
Спасибо за обратный слэш, помогло :) , а вот
SetEnvironment="AD=%АPPDATA%"
Shortcut="...{%AD%\\ICAClient\\8w9u1x86.ICO}..."
не сработало, иконку не нашла винда (win xp sp3)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC