Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 628
Благодарности: 51

Профиль | Отправить PM | Цитировать


Sanja Alone
/SAVEINF и /LOADINF очень ограничены по использованию переменных окружения, все строчки из него дублируются обычными ключами.
Слегка видоизменил скрипт на Gknot, отменил установку AviSynth если есть более новый в этой же папке, добавил копирование плагинов к нему (к слову сказать - плаги ависинта работают на порядок быстрее VirtualDub'овских). В версии 2.56 появилась русская справка. Людям с толстыми каналами будет проще скачать новую версию GknotRipPack'a чем качать отдельно новый ависинт, тогда из скрипта нужно будет вырезать лишнее и переместить скрипт на установку ависинта.
Код: Выделить весь код
If WinExists(@ScriptName) Then
   MsgBox(0, "Warning!", "Закрой предыдущую копию скрипта")
   Exit
EndIf
AutoItWinSetTitle(@ScriptName)

Opt('TrayIconDebug',1)
Opt('SendKeyDownDelay', 50)

ToolTip("Installing in progress. Please wait.", 1, 1)

#cs
----------------------
объявление переменных
----------------------
$file - имя инсталляционного файла
$avsfile - новая версия AviSynth
$AviSynthFolder - в какой подкаталог GKnot-а установить AviSynth
$VobSubFolder - в какой подкаталог GKnot-а установить VobSub
$vdubmodplug - rarsfx-архив с плагинами к VirtualDubMod
команды SFX-сценария (положите каталог PLUGINS целиком внутрь архива, в противном сл. задайте Path=GordianKnot\VirtualDubMod\Plugins):
	Path=GordianKnot\VirtualDubMod
	SavePath
	Silent=1
	Overwrite=1
----------------------
#ce
Global $file='GordianKnot.RipPack.0.35.0.Setup.exe', $avsfile='AviSynth\AviSynth_256_040905.exe', $AviSynthFolder='\AviSynth', $VobSubFolder='\Vobsub', $vdubmodplug='vdubmod_plugins.exe'
Run ( $file )
WinWaitActive ( 'Gordian Knot', 'License Agreement' )
Send ( '{ENTER}' )
WinWaitActive ( 'Gordian Knot', 'Choose Components' )
Send ( '{ENTER}' )
WinWaitActive ( 'Gordian Knot', 'Choose Install Location' )
$InstPath = ControlGetText ( 'Gordian Knot', 'Choose Install Location', 'Edit1')
Send ( '{ENTER}' )
WinWaitActive ( 'Installer Language' )
Send ( '{ENTER}' )
AutoItSetOption("WinTitleMatchMode", 2)
WinWaitActive ( 'VobSub', 'Welcome to the VobSub Setup Wizard' )
Send ( '{ENTER}' )
WinWaitActive ( 'Installation Options' )
Send ( '{ENTER}' )
WinWaitActive ( 'Installation Folder' )
ControlSetText( 'Installation Folder', '', 'Edit1', $InstPath & $VobSubFolder )
Send ( '{ENTER}' )
WinWaitActive ( 'Completed' )
Send ( '{ENTER}' )

AutoItSetOption("WinTitleMatchMode", 1)
If FileExists ( @ScriptDir & '\' & $avsfile ) Then
   ; Отказ от установки AviSynth 2.5.5
   WinWaitActive ( 'AviSynth', 'License Agreement' )
   ControlClick( 'AviSynth', 'License Agreement', 'Button3')
   Send ( '{ENTER}' )
Else
   ; Установка AviSynth из пакета Gknot
   WinWaitActive ( 'AviSynth', 'License Agreement' )
   Send ( '{ENTER}' )
   WinWaitActive ( 'AviSynth', 'Choose Components' )
   Send ( '{ENTER}' )
   WinWaitActive ( 'AviSynth', 'Choose Install Location' )
   ControlSetText( 'AviSynth', 'Choose Install Location', 'Edit1', $InstPath & $AviSynthFolder )
   Send ( '{ENTER}' )
   WinWaitActive ( 'AviSynth', 'Completing the AviSynth Setup Wizard' )
   Send ( '{ENTER}' )
EndIf

WinWait ( 'Gordian Knot', 'Installation Complete' )
WinClose ( 'Gordian Knot', 'Installation Complete' )
WinWaitClose ( 'Gordian Knot', 'Installation Complete' )

If FileExists ( @ScriptDir & '\' & $avsfile ) Then
   ; Установка новой версии AviSynth
   Run ( $avsfile )
   WinWaitActive ( 'AviSynth', 'License Agreement' )
   Send ( '{ENTER}' )
   WinWaitActive ( 'AviSynth', 'Choose Components' )
   ; Отметка русской справки
   Send ('{TAB}{DOWN}{RIGHT}r{SPACE}')
   ControlClick( 'AviSynth', '', 'Button2')
   WinWaitActive ( 'AviSynth', 'Choose Install Location' )
   ControlSetText( 'AviSynth', 'Choose Install Location', 'Edit1', $InstPath & $AviSynthFolder )
   Send ( '{ENTER}' )
   WinWaitActive ( 'AviSynth', 'Completing the AviSynth Setup Wizard' )
   Send ( '{ENTER}' )
EndIf

;запуск программы для внесения в реестр базовых настроек
Run ( $InstPath & '\GordianKnot.exe' )
WinWait ( 'Choose Language' )
WinActivate ( 'Choose Language' )
Send ( '{ENTER}' )
AutoItSetOption("WinTitleMatchMode", 2)
WinWait ( '(gordianknot.sourceforge.net)' )
WinClose ( '(gordianknot.sourceforge.net)' )
WinWaitClose ( '(gordianknot.sourceforge.net)' )
Sleep ( 50 )
;путь к DVDDecrypter почему-то не вносится в реестр в отличие от других (глюк наблюдается в версии GKnot 0.35.0)
RegWrite('HKEY_CURRENT_USER\Software\GordianKnot',"DvdDecrypterExe","REG_SZ",FileGetShortName($InstPath)&'\DVDDecrypter\dvddecrypter.exe')
;н-рые настройки
RegWrite('HKEY_CURRENT_USER\Software\GordianKnot',"DvdDecrypterNotUsed","REG_DWORD","00000000")
RegWrite('HKEY_CURRENT_USER\Software\GordianKnot',"ActivePage","REG_DWORD","00000000")
RegWrite('HKEY_CURRENT_USER\Software\GordianKnot',"Language","REG_SZ",'Russian')
RegWrite('HKEY_CURRENT_USER\Software\GordianKnot\Slot0',"Bitrate","REG_DWORD","00000421")
RegWrite('HKEY_CURRENT_USER\Software\GordianKnot\Slot0',"DivXMode","REG_DWORD","00000005")
RegWrite('HKEY_CURRENT_USER\Software\GordianKnot\Slot0',"CalculateAVIOverhead","REG_DWORD","00000001")
Sleep ( 50 )

;Распаковка дополнительных плагинов к VirtualDubMod
If FileExists ( @ScriptDir & '\' & $vdubmodplug ) Then RunWait ( @ScriptDir & '\' & $vdubmodplug )
;Копирование дополнительных плагинов AviSynth
DirCopy ( @ScriptDir & '\AviSynth\plugins', $InstPath & '\AviSynthPlugins', 1 )

;перенос ярлыков
;DirCopy ( @ProgramsCommonDir & '\Gordian Knot', @ProgramsCommonDir & '\CD и DVD утилиты\Gordian Knot', 1 )
DirCopy ( @ProgramsCommonDir & '\AviSynth 2.5', @ProgramsCommonDir & '\Gordian Knot\AviSynth', 1 )
DirCopy ( @ProgramsDir & '\AviSynth 2.5', @ProgramsCommonDir & '\Gordian Knot\AviSynth', 1 )
DirCopy ( @ProgramsDir & '\VobSub', @ProgramsCommonDir & '\Gordian Knot\VobSub', 1 )
;DirRemove ( @ProgramsCommonDir & '\Gordian Knot', 1 )
DirRemove ( @ProgramsCommonDir & '\AviSynth 2.5', 1 )
DirRemove ( @ProgramsDir & '\AviSynth 2.5', 1 )
DirRemove ( @ProgramsDir & '\VobSub', 1 )

Последний раз редактировалось EgOrus, 28-10-2005 в 07:34.


Отправлено: 08:53, 27-10-2005 | #188