| LEX1 
 Silver Member
 | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Делая свою сборку Оперы для USB флэшек, решил познакомиться с существующими наработками и скачал Opera@USB. Решение не впечатлило - запуск двумя батниками, левая директория на диске C:, проблемы с нахождением spellcheck.dll, и т.д. В итоге пришлось написать свой лоадер логику работы которого можно понять из исходника:
 
 Код:
 | #include <Array.au3>
 
 EnvSet("operadir", @ScriptDir)
 
 $var_keyb = IniRead ( @ScriptDir & "\profile\opera6.ini", "User Prefs", "Keyboard Configuration", @ScriptDir & "\defaults\standard_keyboard.ini" )
 $var_menu = IniRead ( @ScriptDir & "\profile\opera6.ini", "User Prefs", "Menu Configuration", @ScriptDir & "\defaults\standard_menu.ini" )
 $var_toolbar = IniRead ( @ScriptDir & "\profile\opera6.ini", "User Prefs", "Toolbar Configuration", @ScriptDir & "\defaults\standard_toolbar.ini" )
 $var_mouse = IniRead ( @ScriptDir & "\profile\opera6.ini", "User Prefs", "Mouse Configuration", @ScriptDir & "\defaults\standard_mouse.ini " )
 
 $file_keyb = StringSplit ( String ($var_keyb), "\" )
 $file_menu = StringSplit ( String ($var_menu), "\" )
 $file_toolbar = StringSplit ( String ($var_toolbar), "\" )
 $file_mouse = StringSplit ( String ($var_mouse), "\" )
 
 _ArrayReverse ( $file_keyb )
 _ArrayReverse ( $file_menu )
 _ArrayReverse ( $file_toolbar )
 _ArrayReverse ( $file_mouse )
 
 IniWrite ( @ScriptDir & "\profile\opera6.ini", "User Prefs", "Opera Directory", @ScriptDir & "\profile" )
 IniWrite ( @ScriptDir & "\profile\opera6.ini", "User Prefs", "Hot List File Ver2", @ScriptDir & "\profile\opera6.adr" )
 IniWrite ( @ScriptDir & "\profile\opera6.ini", "User Prefs", "Keyboard Configuration", @ScriptDir & "\profile\keyboard\" & $file_keyb[0])
 IniWrite ( @ScriptDir & "\profile\opera6.ini", "User Prefs", "Menu Configuration", @ScriptDir & "\profile\menu\" & $file_menu[0] )
 IniWrite ( @ScriptDir & "\profile\opera6.ini", "User Prefs", "Toolbar Configuration", @ScriptDir & "\profile\toolbar\" & $file_toolbar[0] )
 IniWrite ( @ScriptDir & "\profile\opera6.ini", "User Prefs", "Mouse Configuration", @ScriptDir & "\profile\mouse\" & $file_mouse[0] )
 IniWrite ( @ScriptDir & "\profile\opera6.ini", "Mail", "Mail Root Directory", @ScriptDir & "\mail" )
 IniWrite ( @ScriptDir & "\spellcheck.ini", "Spell check", "Spell check engine", @ScriptDir & "\spellcheck.dll" )
 
 Sleep (100)
 Run("Opera.exe", @ScriptDir)
 
 | 
 
 Просьба потестить.
 Установка - распаковать в папку Оперы (я тестил на 8.54) и отредактировать два файла. В Opera\OperaDef6.ini нужно заменить все пути к папке Оперы "C:\Tools\opera" на "%operadir%" В файле Opera\profile\opera6.ini заменяем все пути к папке Оперы  "C:\Tools\opera" на "." (т.е. точку, кавычки естественно не нужны). После чего осталось запустить OperaLdr.exe
   
 
 Добавлено:
 Разумеется, это рассчитано на однопользовательскую установку Оперы.
 |