Автор: semiono
Дата сообщения: 03.03.2011 21:11
Для себя зделал скрипт автоит для установки MAGIX Video Deluxe или Movie Edit.
Код: #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=..\Videodeluxe.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Res_Description=Videodeluxe.exe
#AutoIt3Wrapper_Res_Fileversion=10.0.0.33
#AutoIt3Wrapper_Res_LegalCopyright=2001-2005 GmbH
#AutoIt3Wrapper_Res_Language=1033
#AutoIt3Wrapper_Res_Field=ProductVersion|10.0.0.33
#AutoIt3Wrapper_Res_Field=OriginalFilename|Videodeluxe.exe
#AutoIt3Wrapper_Res_Field=Company|Semiono
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
$sLable='Videodeluxe...'
$ProgramFilesDir = RegRead('HKLM64\Software\Microsoft\Windows\CurrentVersion','ProgramFilesDir')
ShellExecute('mep17plus_download_version_uk_us_10_0_0_33.exe')
WinWaitActive('Select Language')
ControlClick('Select Language','','Button1')
WinWaitActive('MAGIX Movie Edit Pro','Welcome to the Setup')
WinSetTitle('MAGIX Movie Edit Pro','',$sLable)
SplashTextOn('','Don''t close! Please wait...',573,428,@DesktopWidth/2-290,@DesktopHeight/2-230,8,'',15)
ControlClick($sLable,'Welcome to the Setup','Button1')
WinWaitActive($sLable,'License Conditions')
ControlCommand($sLable,'License Conditions','Button5','Check')
ControlClick($sLable,'License Conditions','Button2')
WinWaitActive($sLable,'Select Installation Type')
ControlClick($sLable,'Select Installation Type','Button7')
ControlClick($sLable,'Select Installation Type','Button2')
WinWaitActive($sLable,'Select target paths')
ControlSend($sLable,'Select target paths','Edit2','{DEL 150}')
ControlCommand($sLable,'Select target paths','Edit2','EditPaste',StringLeft(@ComSpec,2)&'\Videodeluxe')
ControlSend($sLable,'Select target paths','Edit3','{DEL 150}')
ControlCommand($sLable,'Select target paths','Edit3','EditPaste',@AppDataCommonDir&'\MAGIX\Videodeluxe')
ControlSend($sLable,'Select target paths','Edit5','{DEL 150}')
ControlCommand($sLable,'Select target paths','Edit5','EditPaste',@MyDocumentsDir&'\Videodeluxe')
ControlClick($sLable,'Select target paths','Button2')
WinWaitActive('Disk Usage','',5)
If WinExists('Disk Usage') Then ControlClick('Disk Usage','','Button1')
WinWaitActive('Disk Usage','',2)
If WinExists('Disk Usage') Then ControlClick('Disk Usage','','Button1')
WinWaitActive($sLable,'Desktop Shortcut')
ControlCommand($sLable,'Desktop Shortcut','Button18','UnCheck')
ControlClick($sLable,'Desktop Shortcut','Button2')
WinWaitActive($sLable,'Microsoft .NET')
ControlCommand($sLable,'Microsoft .NET','Button19','UnCheck')
ControlClick($sLable,'Microsoft .NET','Button2')
WinWaitActive($sLable,'Install the free MAGIX Ask Toolbar')
ControlCommand($sLable,'Install the free MAGIX Ask Toolbar','Button20','UnCheck')
ControlClick($sLable,'Install the free MAGIX Ask Toolbar','Button2')
WinWaitActive($sLable,'Start Installation')
ControlClick($sLable,'Start Installation','Button2')
; Installation in progress
WinWaitActive('MAGIX','Could not',5)
If WinExists('MAGIX','Could not') Then ControlClick('MAGIX','Could not','Button3')
WinWaitActive('MAGIX','Dieses MSXML6.0-Paket',5)
If WinExists('MAGIX','Dieses MSXML6.0-Paket') Then WinClose('MAGIX','Dieses MSXML6.0-Paket')
WinWaitActive('MAGIX','Could not access network location',5)
If WinExists('MAGIX','Could not access network location') Then WinClose('MAGIX','Could not access network location')
WinWaitActive('MAGIX','Could not access network location',5)
If WinExists('MAGIX','Could not access network location') Then WinClose('MAGIX','Could not access network location')
WinWaitActive('MAGIX','Could not access network location',5)
If WinExists('MAGIX','Could not access network location') Then WinClose('MAGIX','Could not access network location')
WinWaitActive('MAGIX','Could not access network location',5)
If WinExists('MAGIX','Could not access network location') Then WinClose('MAGIX','Could not access network location')
WinWaitActive('MAGIX','Could not access network location',5)
If WinExists('MAGIX','Could not access network location') Then WinClose('MAGIX','Could not access network location')
WinWaitActive('MAGIX','Could not access network location',5)
If WinExists('MAGIX','Could not access network location') Then WinClose('MAGIX','Could not access network location')
WinWaitActive('MAGIX','Could not access network location',5)
If WinExists('MAGIX','Could not access network location') Then WinClose('MAGIX','Could not access network location')
WinWaitActive('MAGIX','Could not access network location',5)
If WinExists('MAGIX','Could not access network location') Then WinClose('MAGIX','Could not access network location')
; Successful!
WinWaitActive($sLable,'Installation Successful')
ControlCommand($sLable,'Installation Successful','Button23','UnCheck')
ControlClick($sLable,'Installation Successful','Button1')
SplashOff()
Sleep(1000)
$PID1 = ProcessExists('FABS.exe')
If $PID1 Then ProcessClose($PID1)
$PID2 = ProcessExists('fbserver.exe')
If $PID2 Then ProcessClose($PID2)
$PID3 = ProcessExists('msiexec.exe')
If $PID3 Then ProcessClose($PID3)
DirRemove(StringLeft(@ComSpec,2)&'\Videodeluxe\Movie_Edit_Pro_17_Plus_en-US_SetupResources',1)
FileDelete(StringLeft(@ComSpec,2)&'\Videodeluxe\license.txt')
FileDelete(StringLeft(@ComSpec,2)&'\Videodeluxe\manual.pdf')
FileDelete(StringLeft(@ComSpec,2)&'\Videodeluxe\Movie_Edit_Pro_17_Plus_en-US_setup.exe')
FileDelete(StringLeft(@ComSpec,2)&'\Videodeluxe\Movie_Edit_Pro_17_Plus_en-US_SetupInfo.ini')
FileDelete(StringLeft(@ComSpec,2)&'\Videodeluxe\support.rtf')
FileDelete(StringLeft(@ComSpec,2)&'\Videodeluxe\Trayserver_EN.exe')
FileDelete(StringLeft(@ComSpec,2)&'\Videodeluxe\Videodeluxe.exe')
$aSearch = _FileSearch(StringLeft(@ComSpec,2)&'\Videodeluxe','_msi_keyfile*',1)
If $aSearch[0] Then
For $i = 1 To $aSearch[0]
If Not FileDelete($aSearch[$i]) Then
FileSetAttrib($aSearch[$i],'-RASHOT')
FileDelete($aSearch[$i])
EndIf
Next
EndIf
Sleep(1000)
DirMove(StringLeft(@ComSpec,2)&'\Videodeluxe',$ProgramFilesDir&'\Videodeluxe',1)
Sleep(1000)
FileCopy('Videodeluxe',$ProgramFilesDir&'\Videodeluxe\Videodeluxe.exe',9)
FileCopy('Videodeluxe64',@SystemDir&'\Videodeluxe.exe',9)
FileCreateShortcut(@SystemDir&'\Videodeluxe.exe',@ProgramsDir&'\Videodeluxe',$ProgramFilesDir&'\Videodeluxe','','Videodeluxe',$ProgramFilesDir&'\Videodeluxe\Videodeluxe.exe')
$file = FileOpen($ProgramFilesDir&'\Videodeluxe\desktop.ini',10)
FileWrite($file,'[.ShellClassInfo]'&@CRLF)
FileWrite($file,'InfoTip=Videodeluxe...'&@CRLF)
FileWrite($file,'IconFile=Videodeluxe.exe'&@CRLF)
FileWrite($file,'IconIndex=0'&@CRLF)
FileClose($file)
FileSetTime($ProgramFilesDir&'\Videodeluxe', '20010101000000', 0, 1)
FileSetTime($ProgramFilesDir&'\Videodeluxe', '20010101000000', 1, 1)
FileSetTime($ProgramFilesDir&'\Videodeluxe', '20010101000000', 2, 1)
FileSetAttrib($ProgramFilesDir&'\Videodeluxe','-RASH',1)
FileSetAttrib($ProgramFilesDir&'\Videodeluxe','+R',0)
IniWrite($ProgramFilesDir&'\Videodeluxe\Language\local_en_US.cfg','magixofa-overrides','mxserv*directory',$ProgramFilesDir&'\Videodeluxe\Online Services Info\')
IniWrite($ProgramFilesDir&'\Videodeluxe\install.cfg','magixofa-overrides','mxserv*directory',$ProgramFilesDir&'\Videodeluxe\Online Services Info\')
IniWrite($ProgramFilesDir&'\Videodeluxe\install.cfg','install','UserContentPath',@AppDataCommonDir&'\MAGIX\Videodeluxe\')
IniWrite($ProgramFilesDir&'\Videodeluxe\install.cfg','install','UserDataPath',$ProgramFilesDir&'\Videodeluxe')
IniWrite($ProgramFilesDir&'\Videodeluxe\install.cfg','install','UserProgramPath',$ProgramFilesDir&'\Videodeluxe')
IniWrite($ProgramFilesDir&'\Videodeluxe\install.cfg','install','DocumentsPath',$ProgramFilesDir&'\Videodeluxe\')
IniWrite($ProgramFilesDir&'\Videodeluxe\install.cfg','install','UserDataDir','Videodeluxe')
IniWrite($ProgramFilesDir&'\Videodeluxe\install.cfg','install','DefaultInstallDir','Videodeluxe')
IniWrite($ProgramFilesDir&'\Videodeluxe\install.cfg','install','BurnerPath',$ProgramFilesDir&'\Videodeluxe\Speed\Speed.exe')
IniWrite($ProgramFilesDir&'\Videodeluxe\install.cfg','install','CoverEditorPath',$ProgramFilesDir&'\Videodeluxe\Coverlabel\cdprinter.exe')
IniWrite($ProgramFilesDir&'\Videodeluxe\install.cfg','install','MusicEditorPath',$ProgramFilesDir&'\Videodeluxe\Musiceditor\musiceditor.exe')
IniWrite($ProgramFilesDir&'\Videodeluxe\install.cfg','install','PhotoEditorPath',$ProgramFilesDir&'\Videodeluxe\PhotoDesigner\PhotoDesigner.exe')
;IniWrite(@AppDataCommonDir&'\MAGIX\Videodeluxe\installation.ini','VersionUnlock','NumberOfStarts','0')
;IniWrite(@AppDataCommonDir&'\MAGIX\Videodeluxe\installation.ini','VersionUnlock','DontShowNagBox','0')
;IniWrite(@AppDataCommonDir&'\MAGIX\Videodeluxe\installation.ini','VersionUnlock','IsRegisteredUser','1')
;IniWrite(@AppDataCommonDir&'\MAGIX\Videodeluxe\installation.ini','Serial','MAGIX_CODE','VDL17PLC-00000-00000-00000-00000-00000-00000')
;IniWrite(@AppDataCommonDir&'\MAGIX\Videodeluxe\installation.ini','Serial','string','P2-00000-00000-00000-00000-00000-00000')
IniWrite(@AppDataCommonDir&'\MAGIX\Videodeluxe\Videodeluxe.ini','UserDirectories','SYSTEM',@AppDataCommonDir&'\Videodeluxe\')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\DSCapture.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\dvpatcher.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\dxmpeg2.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\flexrend.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\FrameGrab.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\hhmultee.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\hhmultirend.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\hhmultisource.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\hhvideosource.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\HHVREND2.AX')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\hhwavsource.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\magixdsmpeg.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\magixeampeg.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\magixesmpeg.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\magixevmpeg.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\magixmuxmpeg.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\magixspmpeg.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mc_dec_aac_ds.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mc_dec_amr_ds.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mc_dec_avc_ds.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mc_dec_mp2v_ds.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mc_dec_mp4v_ds.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mc_dec_mpa_ds.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mc_demux_mp2_ds.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mc_demux_mp4_ds.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mc_enc_aac_ds.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mc_enc_amr_ds.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mc_enc_mp2v_ds.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mc_enc_mp4v_ds.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mc_mux_mp2_ds.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mc_mux_mp4_ds.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mc_std_enc_avc_ds.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mcamrd.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mcamre.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mcdaac.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mceaac.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mcm2vd.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mcm4vd.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mcm4ve.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mcmp4demux.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mcmp4mux.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mcmpgdmx.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\MCMultiFileReader.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\MCSampleBuffer.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mcscaler.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mcstdavcvd.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mcstdh264ve.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mixmux.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\MuxWriter.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\MX_MJPEG_PostProcessor.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\MX_PESAnalyzer.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\MXScreenCapture.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\StreamWriter.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\UYVY_CC.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\vmr9conn.ax')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\WAVDEST.AX')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\AudioVis.dll')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\GPUInterop.dll')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\MCMultifileWriter.dll')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\Mx3d_GPUInterop.dll')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\Mx3dModeler.dll')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\MXAVIREADER.dll')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\MXCaptureEngine.dll')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mxdsread.dll')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\MXMPEG2.dll')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\MXVisuals.dll')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\mxwmsync.dll')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\MxX3dRead.dll')
ShellExecute('regsvr32.exe','/s '&$ProgramFilesDir&'\Videodeluxe\RegModule\WMServerReader.dll')
RegDelete('HKLM64\Software\Wow6432Node\MAGIX\ASIO')
RegDelete('HKLM64\Software\Wow6432Node\MAGIX\Common')
RegDelete('HKLM64\Software\Wow6432Node\MAGIX\Firebird')
RegDelete('HKLM64\Software\Wow6432Node\MAGIX\PCVisit')
RegDelete('HKLM64\Software\Wow6432Node\MAGIX\ScreenSharing')
RegDelete('HKLM64\Software\Wow6432Node\MAGIX\Speed3_burnR_mxcdr_MSI')
RegDelete('HKLM64\Software\Wow6432Node\MAGIX\Videodeluxe17_plus')
RegDelete('HKLM64\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run','TrayServer')
RegDelete('HKLM64\System\CurrentControlSet\Services\Fabs')
RegWrite('HKLM64\Software\Wow6432Node\MAGIX\Videodeluxe17_plus','Language','REG_SZ','en_US')
RegWrite('HKLM64\Software\Wow6432Node\MAGIX\Videodeluxe17_plus','Licensee','REG_SZ','Semiono')
RegWrite('HKLM64\Software\Wow6432Node\MAGIX\Videodeluxe17_plus','ProgramPath','REG_SZ',$ProgramFilesDir&'\Videodeluxe')
RegWrite('HKLM64\Software\Wow6432Node\MAGIX\Videodeluxe17_plus','ProgramTitle','REG_SZ','Videodeluxe')
DirRemove(RegRead('HKLM64\Software\Microsoft\Windows\CurrentVersion','CommonFilesDir (x86)')&'\MAGIX Services',1)
DirRemove(@AppDataCommonDir&'\MAGIX\Screenshare',1)
DirRemove(@AppDataCommonDir&'\MAGIX\Speed3_burnR_mxcdr_MSI',1)
DirRemove(@AppDataCommonDir&'\MAGIX\Common',1)
DirRemove(@ProgramsCommonDir&'\MAGIX',1)
MsgBox(0,'','Successful...',2)
Func _FileSearch($sPath,$sFileMask,$iFlag = 0)
Local $sOutBin,$sOut,$aOut,$sRead,$hDir,$sAttrib
Switch $iFlag
Case 1
$sAttrib = ' /A-D'
Case 2
$sAttrib = ' /AD'
Case Else
$sAttrib = ' /A'
EndSwitch
$sOut = StringToBinary('0'&@CRLF,2)
$aMasks = StringSplit($sFileMask,';')
For $i = 1 To $aMasks[0]
$hDir = Run(@ComSpec&' /U /C dir "'&$sPath&'\'&$aMasks[$i]&'" /S /B'&$sAttrib,@SystemDir,@SW_HIDE,6)
While 1
$sRead = StdoutRead($hDir,False,True)
If @error Then
ExitLoop
EndIf
If $sRead <> "" Then
$sOut &= $sRead
EndIf
WEnd
Next
$aOut = StringRegExp(BinaryToString($sOut,2),'[^\r\n]+',3)
If @error Then
Return SetError(1)
EndIf
$aOut[0] = UBound($aOut) - 1
Return $aOut
EndFunc ;==>_FileSearch