Показать полную графическую версию : BS Post Installer - выбор программ перед установкой
Комсомолец, а встроенная команда чем не устраивает? »
Она почему-то не срабатывает.
Комсомолец
03-10-2008, 09:53
Странно... У меня всё работает. Ну да ладно-главное что хоть так работает. :)
Комсомолец, Вообще мне надо просто экспортировать ключи без Экзэшных файлов, типа как гибкая настройка, выбрал что надо и автоматом экспортировались рег файлы. Но вот даже через "Regedit /S" не срабатывает, ток что проверял...У меня вообще рег файлы не экспортируются.... :( в чем дело не пойму... вот мой конфиг.
Чет забыл прикрепить :biggrin:
dsc, PostRegFile=Regedit /s Soft\sofware\Visual\Cursors.reg
это встроенный экспортер а потому команды Regedit /s ему не надо!
Просто указываете reg файл и все!!!!
NikLok, Дело в том, что никак не срабатывает...
Ни так PostRegFile=Regedit /s Soft\sofware\Visual\Cursors.reg
Ни так PostRegFile=Soft\sofware\Visual\Cursors.reg
Ни так Command1=Regedit /s Soft\sofware\Visual\Cursors.reg
И ни так Command1=Soft\sofware\Visual\Cursors.reg /S :(
Command1=Soft\sofware\Visual\Cursors.reg »
если так, то запрашивает на подтверждение. Хотца автоматом чтоб ставилось
:wink:
dsc, dsc
Command1=Regedit /s %CDROM%\Soft\sofware\Visual\Cursors.reg
Или лучше всего через встроенную функцию:
PostRegFile=Soft\sofware\Visual\Cursors.reg
Что говорит InstallLog.txt, именно та секция, где выполняется данное импортирование reg файла?
dsc, Ты проверял этот рег файл то вообще. Может в нем обшибка?
Вот пример который у меня срабатывает на BSPI 1.12.7.5
[Installitem_410]
Caption=DrWEB Antivirus v4.44
Description=Fast antivirus tool
Exclude=Installitem_415;Installitem_420;Installitem_422;Installitem_680;
Folder=%SOURCE%\_Soft_\Protections\DrWeb
IconFile=%SOURCE%\INSTALL\ICONs\drweb.ico
IconNumber=1
Command1=drweb-444-win-as-ru.exe /auto /quick /skipscan
PostRegFile=DrWebShed.reg
ed=0
Какая версия у тебя? И что пишет в лог файле в этом месте? Может поставить вертикальную черту перед Soft ?
Я не помню эта папка физически как лежит?
Boa Soft, Уже как то писал об ентом. Если в конфигураторе выбрать не устанавливать ничего, то в логе программа пишет:
Missing or invalid anserver file! Fatal error, program terminated.
Кстати очепятки именно в программе а не в моей цитате!
Что же это за файл такой - anserver file.
Мне думается такое поведение BSPI не правильное! Я же специально выбрал ничего не ставить!
Давай сделаем что бы он либо молча выходил, либо запускался как бы без ключа FORCE.
То есть с конфигураторм.
boss911, NikLok, Пишет Reg File: Regedit /s Soft\sofware\Visual\Cursors.reg
Work Dir: D:\
Cmd Line: C:\WINDOWS\regedit.exe
Cmd Param: /S "D:\Regedit /s Soft\sofware\Visual\Cursors.reg"
Error: Не удается найти указанный файл. Щас пробую Command1=Regedit /s %CDROM%\Soft\sofware\Visual\Cursors.reg...
По завершению эксперимента отпишусь... :wink:
да... версия у меня 1.12.6. та что в шапке :)
dsc
Reg File: Regedit /s Soft\sofware\Visual\Cursors.reg
Work Dir: D:\
Cmd Line: C:\WINDOWS\regedit.exe
Cmd Param: /S "D:\Regedit /s Soft\sofware\Visual\Cursors.reg"
Ошибка явно видна, наверное, потому, что прописано так:
PostRegFile=Regedit /s Soft\sofware\Visual\Cursors.reg
- это не правильно! Нужно так:
PostRegFile=Soft\sofware\Visual\Cursors.reg
- так точно работает, по крайней мере, у меня.
По завершению эксперимента отпишусь... » не... тоже самое Error: Не удается найти указанный файл. » :( Ты проверял этот рег файл то вообще. Может в нем обшибка? » конечно проверял. они у меня раньше обрабатывались на Т12 посредством RunOnceEx, а вот перенеся их в BS возникли проблемы.... :(
dsc, Boss911 тебе уже отписал
Ну можешь еще извратиться
Command1=|C:\WINDOWS\regedit.exe /s Soft\sofware\Visual\Cursors.reg
Давай ты сразу будешь вставлять в текст кусок экспортирования в реестр - там всего то строк 1-10
Кстати в шапке несмотря на заголовок ссылка на версию 1.12.7.5 !
arthurkas
03-10-2008, 22:24
dsc,
значится объясняю:
вариант:
Command1=Regedit /s %CDROM%\Soft\sofware\Visual\Cursors.reg
не сработает
так как, вопервых, обязательно необходимо указать расширение фала *.exe
выдержка из дока:
прога.exe-s не сработает
прога -s не сработает
прога.exe -s сработает!
во вторых, путь запуска будет составлен следующим образом:
%Folder%\Regedit.exe /s %CDROM%\Soft\sofware\Visual\Cursors.reg
%Folder% в свою очередь составляется следующим образом - RootInstallDir\Folder
понятное дело в %Folder% файла Regedit.exe нету и это вызовет ошибку "Error: Не удается найти указанный файл" потому здесь нужно было бы прописать явно
Command1=%systemroot%\system32\Regedit.exe /s %CDROM%\Soft\sofware\Visual\Cursors.reg
однако учитывая что данная строка не красива и требует указания расширения и полного пути я бы рекомендовал пользоваться вариантом с использованием командной строки:
Command1=#HCMD: regedit /s %CDROM%\Soft\sofware\Visual\Cursors.reg
в этом случае команда запускается через командную строку которая уже без проблем обрабатывает стандартные консольные команды в которых нет необходимости указывать пути и расширения...
если же вы используете вариант:
PostRegFile=Soft\sofware\Visual\Cursors.reg
то тут вы указали относительный путь к Cursors.reg... BS PostInstaller составит этот путь следующим образом:
%Folder%\Soft\sofware\Visual\Cursors.reg
и скорее всего этот путь составляется не верно в силу неверно заданных вами переменных RootInstallDir и Folder
для проверки пути рекомендую прописать следующую команду:
Command1=#CMD: echo %Folder%\Soft\sofware\Visual\Cursors.reg && pause
эта команда отобразит путь по которому реально запускается "PostRegFile=Soft\sofware\Visual\Cursors.reg" и вы сможете увидеть соответствует ли он реальному
если вышеописанные моменты вам не помогут опишите ваше расположение фалов, где находиться папка с BSPostInstaller и где Cursors.reg и я вам составлю рабочий PRESETUP.INI
на последок:
при использовании командной строки избегайте пробелов в путях или всегда старайтесь обрамлять пути ковычками
так как например команда
Command1=#HCMD: del %Folder%\Soft\Microsoft Office\file.reg
выдаст ошибку так будет предпринята попытка удалить не "%Folder%\Soft\Microsoft Office\file.reg" а "%Folder%\Soft\Microsoft", в то время как
Command1=#HCMD: del "%Folder%\Soft\Microsoft Office\file.reg"
будет обработан как надо
NikLok, Command1=|C:\WINDOWS\regedit.exe /s Soft\sofware\Visual\Cursors.reg »
хоть вы и указали явно путь к файлу regedit.exe все равно ваш вариант тоже не сработает так как вы передаете файлу regedit.exe относительный путь Soft\sofware\Visual\Cursors.reg, который будет читаться относительно файла regedit.exe... тобиш ваш вариант равносилен
Command1=|C:\WINDOWS\regedit.exe /s C:\WINDOWS\Soft\sofware\Visual\Cursors.reg
передавать необходимо полный путь* к файлу реестра например "%CDROM%\Soft\sofware\Visual\Cursors.reg"
* разумеется можно указать и относительный но перед этим необходимо позаботиться что бы файл реестра находился по этому пути... в вашем случае это C:\WINDOWS\Soft\sofware\Visual\Cursors.reg
arthurkas
03-10-2008, 23:22
здесь, видимо, надо пояснить какие пути где обрабатываются:
относительные пути без использования переменных окружения BS PostInstaller допустимы только для первого файла в строке Command1=
например при:
RootInstallDir=F:\Soft
Folder=Folder
Command1=execute.exe ..\langFiles\russian.lng
переменные окружения %Root% %Folder% будут подставлены автоматически и будет предпринята попытка запустить файл F:\Soft\Folder\execute.exe... и в свою очередь файлу execute.exe будет передан путь который явно указан в строке Command1= после execute.exe, в данном примере этот путь является относителным относительно файла execute.exe... то есть execute.exe будет обращаться к файлу F:\Soft\langFiles\russian.lng
если указать относительный путь к файлу russian.lng затруднительно или не возможно, то необходимо указать прямой путь к нему вида (F:\Soft) или с обязательным применением переменных окружения %Root% %Folder%... так например в случае с regedit.exe сам файл regedit.exe находится на диске отличном от Cursors.reg потому будет правильнее указать полный путь к Cursors.reg:
Command1=%systemroot%\system32\Regedit.exe /s %Folder%\Soft\sofware\Visual\Cursors.reg
где %Folder%=RootInstallDir\Folder и если Folder= не указан то %Folder%=RootInstallDir=%ROOT% и если в вашем случае RootInstallDir=%CDROM% то %Folder%=%CDROM%
здесь стоит отметить не точность в документации которая гласит:
Внимание! Если не указано Folder, то %FOLDER%=''
на самом деле %FOLDER% будет равен %ROOT%
arthurkas
Вы все написали правильно, но зачем же все так сложно, когда все должно правильно, просто вся загвоздка в том, видимо, что dsc не правильно задает переменную того раздела или носителя, откуда ставится софт. Самый красивый способ импортировать reg файл через функцию 'PreRegFile', надо просто докопаться почему у него это не получается, а не искать сложных обходных путей.
Вот один из моих рабочих примеров:
[Setup]
RootInstallDir=%SOURCE%
CheckFDD=0
CheckCD=1
CheckFlash=0
CheckHdd=0
CheckNet=0
SourceTagFile=Программы\BS Post.exe
[Installitem_001]
Folder=
PostRegFile=Программы\Windows Media\WMP 11 Settings.reg
%SOURCE% - указывает на корень диска, на котором найден SourceTagFile (см ниже).
%CDROM% - тоже, что и %SOURCE% (для совместимости).
SourceTagFile - Поддерживается внутренняя переменная %SOURCE%. Программа сканирует все найденные в системе типы устройств и если в нем есть диск и в его корне есть маркерный файл, указанный здесь, то переменной %SOURCE% будет присвоена буква диска (вместе с:, как в %SystemDrive%).
arthurkas
04-10-2008, 03:12
Самый красивый способ импортировать reg файл через функцию 'PreRegFile' »
прошу прощения - увлекся
постарался наиболее доходчиво разжевать как можно больше вариантов решения проблемы...
в случае с добавлением инфы в реестр действительно самый красивый и простой способ импортировать reg файл через функцию 'PreRegFile' ...
однако информация будет также полезна при работе с другими программами поддерживающими ввод из командной строки... хочется надеятся что описанные моменты уменьшат количество вопросов у пользователей.
Функция 'PreRegFile' может работать некорректно изза 2 проблем:
1- BS PostInstaller не находит SourceTagFile
2- где-то неверно прописан путь для переменной окружения
для локализации проблемы стоит задать и выполнить строку:
Command1=#CMD: echo %CDROM% && echo %Root% && echo %Folder% && pause
в появившемся окне все 3 строки должны быть реально существующими путями
если строки будут содержать "%CDROM%" то зн BS PostInstaller не находит SourceTagFile.
Судя по PRESETUP.txt который dsc выложил ранее CheckCD там назначен. Более того, судя по постам dsc, BS PostInstaller находится и запускается с диска D: а это, я полагаю, HDD
dsc,
выложите еще раз ваш текущий PRESETUP.txt и подробно опишите расположение ваших фалов (где находиться папка с BSPostInstaller и где Cursors.reg) с полными путями
1- BS PostInstaller не находит SourceTagFile
2- где-то неверно прописан путь для переменной окружения »
Просто надо придерживаться поговорке: "Семь раз отмерь - один раз отрежь" - ведь не сложно, и самому будет приятней, и не будет вопросов к другим. Это я так, чисто от себя и без намеков. :)
выложите еще раз ваш текущий PRESETUP.txt »
Только с одной проблемной секцией, там где ваш reg файл обрабатывается, то есть других Installitem_XXX не надо, а также весь полученный InstallLog.txt, там уже будет понятно, откуда идет запуск, как определяются переменные и чему соответствуют.
boss911, arthurkas, Файлы лежат CDROM\Soft\Software\Reg\13MSCONFIG.reg. Cам BS лежит CDROM\Soft\BS\Presetup.exe.
По началу BS искал реги на C:\ пока не поменял CheckHdd=0, но сейчас он тупо не находит файлы... :( *.ехе файлы он находит и запескает...
[Setup]
RootInstallDir=%SOURCE%
CheckFDD=0
CheckCd=1
CheckFlash=0
CheckHDD=0
CheckNet=0
[Installitem_001]
Folder=
CheckTagFile=
PreRegFile=
Command1=Soft\software\Reg\1NoRecentDocs.reg /S
KillWait=0
Default=0
Fixed=0
Visible=1
RebootNeed=0
[Installitem_002]
Folder=
CheckTagFile=
PreRegFile=Soft\software\Reg\2link.reg
KillWait=0
Default=0
Fixed=0
Visible=1
RebootNeed=0
[Installitem_003]
Folder=
CheckTagFile=
PostRegFile=Soft\software\Reg\13MSCONFIG.reg
KillWait=0
Default=0
Fixed=0
Visible=1
RebootNeed=0
и лог
Boa Software Post Installer V1.12
*** Log startet at: 04.10.2008 12:42:00 ******************************************
*** Common information **********************************************************
Full programm version: 1.12.4.2
Environment:
Command-line: "D:\Soft\BS\presetup.exe"
Config file: D:\Soft\BS\PRESETUP.INI
RootInstallDir: %SOURCE%
%SELF%: D:\Soft\BS
%SOURCE%: %SOURCE%
%CDROM%: %CDROM%
%ROOT%: %SOURCE%
CommonIconLib: D:\Soft\BS\IconLib.dll
CommonShotFolder: D:\Soft\BS\shots
UserEnvironmentVariable:
PE mode: No
UnAttendMode: No
*** End Common information ******************************************************
Wait timer stopped. Use manually select mode.
Starts install process at: 12:42:06
*** Selected programm ***********************************************************
Группа: Registry
--------------------------------------------------------------------
No Recent Docs
link
MSCONFIG
--------------------------------------------------------------------
Всего выбрано 3 программ из 1 групп.
*** Pre-install task ************************************************************
*** End Pre-install task ********************************************************
12:42:06 No Recent Docs
- begin -------------------------------------------------------------------------
Shot file name
Icon file name D:\Soft\BS\IconLib.dll
Icon numer -1
ImageId in small list 3
ImageId in big list 0
Command: Soft\software\Reg\1NoRecentDocs.reg /S
Work Dir: %SOURCE%\
Cmd Line: %SOURCE%\Soft\software\Reg\1NoRecentDocs.reg
Cmd Param: /S
Error: Не удается найти указанный файл.
- end ---------------------------------------------------------------------------
12:42:06 link
- begin -------------------------------------------------------------------------
Shot file name
Icon file name D:\Soft\BS\IconLib.dll
Icon numer -1
ImageId in small list 3
ImageId in big list 0
Reg File: Soft\software\Reg\2link.reg
Work Dir: %SOURCE%\
Cmd Line: C:\WINDOWS\regedit.exe
Cmd Param: /S "%SOURCE%\Soft\software\Reg\2link.reg"
Error: Не удается найти указанный файл.
- end ---------------------------------------------------------------------------
12:42:06 MSCONFIG
- begin -------------------------------------------------------------------------
Shot file name
Icon file name D:\Soft\BS\IconLib.dll
Icon numer -1
ImageId in small list 3
ImageId in big list 0
Reg File: Soft\software\Reg\13MSCONFIG.reg
Work Dir: %SOURCE%\
Cmd Line: C:\WINDOWS\regedit.exe
Cmd Param: /S "%SOURCE%\Soft\software\Reg\13MSCONFIG.reg"
Error: Не удается найти указанный файл.
- end ---------------------------------------------------------------------------
*** Post-install task ***********************************************************
*** End Post-install task *******************************************************
Install process end at: 12:42:06
Reboot planned: Yes
Power Off planned: No
Shutdown process terminated manually
*** Log end at: 04.10.2008 12:42:13 **********************************************
EOF
Всем спасибо! Проблема решена! А загвоздка была в параметре SourceTagFile=Windows\cloc.avi иза него и BS не мог найти файлы :) . ток вот почему ехешки находились?Просто надо придерживаться поговорке: "Семь раз отмерь - один раз отрежь" - ведь не сложно, и самому будет приятней, и не будет вопросов к другим. Это я так, чисто от себя и без намеков. »...полностью с тобой согласен! :)
arthurkas, Замечательное разъяснение вопроса! Такое ощущение что вы либо исходники смотрели либо долго разбирались. Прямо хоть в редми в приложение пихай.
Все же немного пофлеймю!
Цитата NikLok:
Command1=|C:\WINDOWS\regedit.exe /s Soft\sofware\Visual\Cursors.reg »
хоть вы и указали явно путь к файлу regedit.exe все равно ваш вариант тоже не сработает так как вы передаете файлу regedit.exe относительный путь Soft\sofware\Visual\Cursors.reg, который будет читаться относительно файла regedit.exe... тобиш ваш вариант равносилен
Код:
Command1=|C:\WINDOWS\regedit.exe /s C:\WINDOWS\Soft\sofware\Visual\Cursors.reg
передавать необходимо полный путь* к файлу реестра например "%CDROM%\Soft\sofware\Visual\Cursors.reg" »
До вашего письма я считал что значение folder пристыковывается не только к первому параметру CommandN а ко всем, наверное подазбыл доку?! Может потом проверю. Просто когда все работает, на тонкостях не заостряеся. НО! по Вашему получается он извлекает путь ( C:\windows ) из первого параметра строки?
dsc, да... версия у меня 1.12.6. та что в шапке »
а потом бац!Boa Software Post Installer V1.12 *** Log startet at: 04.10.2008 12:42:00 ****************************************** *** Common information ********************************************************** Full programm version: 1.12.4.2 »
Это что за даунгрейд?! Просто интересно!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC