오토잇용 팟플레이어 베타버전 업데이트 소스코드입니다.
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=E:\Downloads\PotPlayer Auto Updater 0.22 Source\PotPlayer.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;#include <InetConstants.au3>
;#include <MsgBoxConstants.au3>
#include <FileConstants.au3>
Global $IpfilterURL = "http://117.52.4.235/beta/PotPlayerSetup.exe"
Global $IpfilterSize = InetGetSize($IpfilterURL)
Global $CheckFileSizeOld = FileGetSize("PotPlayerSetup_backup.exe")
Global $sFilePath = @ScriptDir & "\PotPlayerSetup.exe"
Global $sFilePathOld = @ScriptDir & "\PotPlayerSetup_backup.exe"
;Global $sFilePathIpfilter = "e:\uTorrent"
if $CheckFileSizeOld == 0 Then ;백업파일이 없는 경우 :다운
IpFilterDownload()
install()
Elseif not($CheckFileSizeOld == $IpfilterSize) Then ;백업파일이 최신 파일과 같지 않은 경우 : 다운
local $up = MsgBox(1,"업데이트","업데이트 파일이 있습니다. 업데이트 하시겠습니까? ")
if $up=1 Then
FileDelete($sFilePathOld) ;백업파일 삭제
IpFilterDownload()
install()
EndIf
ElseIf $CheckFileSizeOld == $IpfilterSize Then ;백업파일이 최신파일과 같은 경우
MsgBox(0,"확인 ", "새로운 업데이트 파일이 없습니다.")
EndIf
Func IpFilterDownload()
Local $FileDownloading = InetGet($IpfilterURL, $sFilePath,1,1)
ProgressOn("팟플레이어","팟플레이어 다운 중...","0% ")
For $i = 1 To $IpfilterSize Step 1
$FileDownloadingInfo = InetGetInfo($FileDownloading)
$FilePercentDownloaded = Round($FileDownloadingInfo[0] * 100 / $IpfilterSize, 0)
ProgressSet($FilePercentDownloaded, $FilePercentDownloaded & " % 다운 중...")
Sleep(100)
If InetGetInfo($FileDownloading, 2) Then ;다운로드 완료시까지 대기
InetClose($FileDownloading)
ExitLoop
Else
ContinueLoop
EndIf
Next
ProgressSet(100, "100%", "다운로드 완료")
Sleep(200)
ProgressOff()
EndFunc
Func install()
FileInstall(".\7Z.dll", @ScriptDir & "\7z.dll") ;압축해제를 위한 7z 생성
FileInstall(".\7Z.exe", @ScriptDir & "\7z.exe")
RunWait("7z.exe x PotPlayerSetup.exe -aoa",@ScriptDir, @SW_HIDE) ;설치파일 압축 해제
FileCopy(@ScriptDir & "\$SYSDIR\PotPlayerLauncher.ocx",@SystemDir & "PotPlayerLauncher.ocx",1)
RunWait(@ScriptDir & "\SetTime.exe",@ScriptDir,@SW_HIDE)
DirRemove(@ScriptDir & "\$EXEDIR", 1) ;필요없는 폴더 삭제
DirRemove(@ScriptDir & "\$PLUGINSDIR", 1)
DirRemove(@ScriptDir & "\$TEMP", 1)
DirRemove(@ScriptDir & "\$SYSDIR", 1)
DirRemove(@ScriptDir & "\Logos\$INSTDIR", 1)
FileDelete(@ScriptDir & "\SetTime.exe")
FileDelete(@ScriptDir & "\7z.exe") ;7z 삭제
FileDelete(@ScriptDir & "\7z.dll")
;ShellExecute(@ScriptDir & "\" & $Player, $CmdLineRaw, @scriptdir)
FileMove($sFilePath,$sFilePathOld,$FC_OVERWRITE )
MsgBox(0,"완료","업데이트가 완료 되었습니다.!")
EndFunc
댓글