Показать полную графическую версию : Модифицированный SFX модуль 7-Zip'а для установок
в самом начале распаковки вывести пользователям картинку »
Команды исполнения выполняются только после полной распаковки sfx архива. Запустить что либо из модуля до распаковки невозможно без применения танцев с бубном ("матрешки" и т.п.).
Microteam
11-08-2010, 14:54
А это хорошое дополнение теперь можно заменять файлы в SFX архиве
Привет бывалым!
Некоторое время назад был несказанно счастлив найти полезную штуку - модифицированный 7zsfx
Почти прикрутил, и тут во время проверки на Win7 Home Premium Rus вылезло то самое чудесное сообщение о несовместимости. Обновил до 1.5 (1798). К ночи уже голова совсем плохо варит, но по-моему ситуация не изменилась.
Если в скрипте есть строка InstallPath, то вываливает такое, а если нет - сякое:
http://img514.imageshack.us/img514/2746/86847994.png
Сейчас дам линк на инсталлятор и запощу скрипт
инсталлятор http://www.sendspace.com/file/5y7z90
инсталл скрипт:
;!@Install@!UTF-8!
Title="Установка Агента BotHQ"
; Installation folder
;InstallPath="%ProgramFiles%\\BotHQ Агент"
SetEnvironment="PathBA=%ProgramFiles%\\BotHQ Агент"
SetEnvironment="Var1=%PathBA%\\"
SetEnvironment="Var2=\"%PathBA%\""
RunProgram="hidcon:cmd /c xcopy %%T %Var2% /s /e /i /y"
;RunProgram="hidcon:cmd /c \"regedit -s ForAutoplayTC.reg\""
GUIMode="1"
ExtractTitle="Идёт установка..."
;Shortcut="T,{cmd.exe},{/b %Var1%murgalua.exe proxy.lua}"
Shortcut="Tu,{%Var1%},{},{},{Bot HQ Агент},{BotHQ Агент},{%ProgramFiles%},{},{}"
FinishMessage="BotHQ Агент успешно установлен"
;!@InstallEnd@!
заранее прошу простить за тупость
PS Под XP пробовал только без InstallPath'а, работало без проблем
DPavlik82 »
На той машине, на которой пробовал - всё по умолчанию, то есть, как я понимаю не отключен.
А в общем целом инсталлятор делается для пользователей, а не для себя, и предугадать, будет он отключен или нет на их машине - невозможно, и хотелось бы добиться, чтобы инсталлятор срабатывал при любом раскладе.
Oleg_Sch
18-08-2010, 02:36
Oleg_Sch, есть просьба: добавить дополнительные команды RunPreSetup и RunPostSetup, которые запускались бы соответственно в самом начале работы модуля (первой командой) и в самом конце (последней командой) в любом случае, независимо от того, присутствуют ли RunProgram'ы и AutoInstall'ы это возможно? »
Я подумаю над этим.
Только, сами понимаете, RunPreSetup возможен только для файлов, которые присутствуют в системе до распаковки, т.е. файлы из архива не заиспользуешь.
Почти прикрутил, и тут во время проверки на Win7 Home Premium Rus вылезло то самое чудесное сообщение о несовместимости. Обновил до 1.5 (1798). К ночи уже голова совсем плохо варит, но по-моему ситуация не изменилась. »
Не хватает прав на создание папки. Это нормальное поведение при включенном UAC, необходимо запускать от администратора.
Обновите модуль до последней (на сегодняшний день) версии (http://svn.7zsfx.info/filedetails.php?repname=7zSfxMod&path=%2Ftags%2F1.5.0.1799%2Fbin%2F7zsd_150_1799.7z) и укажите в файле конфигурации
MiscFlags="4"
All
Последние версии лучше смотреть в svn (http://svn.7zsfx.info/listing.php?repname=7zSfxMod&path=%2Ftags%2F), т.к. здесь о новых сборках я отписываюсь не всегда.
В папках bin для конкретной версии лежат собранные модули.
Только, сами понимаете, RunPreSetup возможен только для файлов, которые присутствуют в системе до распаковки, т.е. файлы из архива не заиспользуешь. » понимаем, но даже не смотря на это RunPreSetup очень востребован.
Только, сами понимаете, RunPreSetup возможен только для файлов, которые присутствуют в системе до распаковки, т.е. файлы из архива не заиспользуешь. »
А почему бы не сделать такой "псевдо режим", когда необходимые для PreSetup файлы, помещаются как обычно в архив ( в отдельную папку, со своей собственной переменной или индивидуальным именем...), а при запуске модуля, именно они в первую очередь копируются из архива во временную папку, откуда они же первоочерёдно и запускаются до начала обычного процесса работы модуля. Так сделано в некоторых инсталляторах.
MKN, Amigos, вариант омега вас не устроит: сделайте инкапсуляцию: соберите нужный архив как вам надо, а потом заверните его в новый архив, уложив рядом нужные файлы для PreSetup, при запуске у вас получается архив+файлы для PreSetup. Многие инсталяторы так и делают, разворачивают себя, а потом сам дистриб под руководством юзера или ключей (конечно с точки зрения антивируса это не гут, да и не очень кравиво, зато просто).
вариант омега вас не устроит: сделайте инкапсуляцию: соберите нужный архив как вам надо, а потом заверните его в новый архив, уложив рядом нужные файлы для PreSetup, при запуске у вас получается архив+файлы для PreSetup »для работы всего этого необходимо что-то куда-то распаковывать, а это не всегда возможно.
лично я иногда использую модуль как "компилятор CMD файлов", но сейчас этот компилятор в случае если "распаковать не получилось" ничего не выполняет.
в случае если будет реализован RunPreSetup что-то можно выполнить до распаковки и до того, как до модуля дойдёт "распаковать не получилось, делать ничего не буду" :)
Мысли в слух...
Если добавлять некие файлы в SFX для PreSetup, то их нужно сжимать? Их может быть и много, помещать в спец. папку? Как будет выглядеть строка COPY /b в этом случае? Как будет сплитер извлекать из SFX эти файлы/папку? Куда должны они извлекаться (даже если не упакованы), в какую директорию? А если в нее не удастся поместить эти файлы (по ряду причин, как сейчас не возможно произвести распаковку), то как же их запускать? Что с ними делать после окончания работы SFX, удалять? Но ведь там могут быть и "нужные" файлы для последующей инсталляции ПО, держать в архиве их дубликаты?
Вопросов много, вариантов ответов еще больше!
Может, запрашивающим новый функционал у автора, стоит подумать и написать ТЗ, где подробно описать собственные предложения по решению, дабы не перекладывать все это на плечи автора?
Oleg_Sch
18-08-2010, 15:06
gora, верно сказано
Полноценное ТЗ - наполовину выполненная задача
Amigos, :o , т.е. при установке аддона/программы - они у вас распаковываются и ставятся в папку "ВОЗДУХ"? Уж папка "Темp" обычно есть. Предложенный мной вариант не очень красив, но он работает и у меня и у других авторов.
gora, это точно, ставлю +
Олег, спасибо огромное за программу и за помощь!
С последним 1799 билдом и MiscFlags="4" всё отлично заработало под win7, никаких сообщений о несовместимости или невозможности что-то создать больше нет.
neitral72
18-08-2010, 23:06
Oleg_Sch, бросайте модуль, делайте GUI хотя бы детский, может при вашем стремлении к совершенству он вырастет в полноценный, да и модуль востребованнее будет, или может GUI доработает кто.
т.е. при установке аддона/программы - они у вас распаковываются и ставятся в папку "ВОЗДУХ"? »это не установка аддона/программы, модифицированный SFX модуль 7-Zip можно много для чего использовать. Про "продвинутую установку" с использованием RunPreSetup не я, а MKN хлопочет.
Уж папка "Темp" обычно есть. » не всегда %temp% доступна для записи, а в некоторых PE средах она вообще отсутсвует http://s11.radikal.ru/i183/1008/92/28ec2c73eb50.png
как не трудно догадаться, F: это CD-ROM
neitral72, на форуме была разработка GUI (http://forum.oszone.net/showthread.php?t=63909), пообщайтесь с автором - может даст исходники. Модуль и так прекрасно востребован. А вопросы отладки модуля более насущны чем GUI, тем более что есть онлайн генераторы конфигов - здесь (http://tools.oszone.net/7zsfx/conf/), читайте шапку.
Oleg_Sch, считаю, что отладка модуля более приоритетна, чем написание GUI. А целом на ваш выбор
Amigos, я и не исключал других вариаций, но обычно PE-системы имеют еще RAM-диск и возможность управлять его размером, хотя на все случаи жизни соломки не подстелишь. Я не указывал Вам на "продвинутую установку", а предложил вариант реализации :)
neitral72
19-08-2010, 19:36
Все таки мне кажется, что модуль прекрасно востребован, но в узких кругах. Сделать мастер типа iexpress, подвязать его кнопкой к архиватору, вроде создать sfx, чтобы такие как я, которые кафель лепят, тоже могли инсталляторы собирать :). Будет плюс и для архиватора и для модуля. Модуль уже достаточно отлажен для простых юзеров.
чтобы такие как я, которые кафель лепят, тоже могли инсталляторы собирать »
7-Zip SFX Maker (http://teejee2008.wordpress.com/7-zip-sfx-maker/)
мастер типа iexpress » много ли пользователей знают про iexpress ?
а ведь он всегда в XP был.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.