#region - CDCheck install script - (Nullsoft)
#include <Common_Functions.au3>
Opt('TrayIconDebug', 1)
Break(False)

; Installer.
$executable = 'CDCheck 3.1.13.exe'
; Default group folder in startmenu.
$group = 'CDCheck'
; Installation folder in Program Files.
$directory = 'CDCheck'

; Run the installer.
$pid = _Nullsoft()
_Window()
ProcessWaitClose($pid)

; Remove shortcuts.
If _Programs('CDCheck.lnk') Then
    FileMove($group & '\CDCheck.lnk', 'CD Creators\', 9)
    DirRemove($group, 1)
EndIf
_Desktop('CDCheck.lnk')

; Register
RegWrite('HKCU\Software\CDCheck', 'RegCode', 'Reg_Dword', '0x067090b1')
RegWrite('HKCU\Software\Classes\*\shell\CDCheck', 'extended', 'Reg_sz', '')

; Remove non English languages.
If FileChangeDir(@ProgramFilesDir & '\' & $directory) Then
    _FileDeleteSearch('*.lng', 'English.lng')
EndIf

Exit
#endregion

Func _Window()
    Local $title = 'CDCheck Setup'
    Local $text = 'Installation finished successfully'
    If WinWait($title, $text, 5) Then
        Sleep(500)
        For $i = 1 To 5
            ControlClick($title, $text, 'Button2')
            WinWaitClose($title, $text, 1)
            If Not WinExists($title, $text) Then Return 1
        Next
        If WinActivate($title, $text) Then
            Sleep(500)
            Send('!y')
            TrayTip($title, 'Send used', 20)
        EndIf
    EndIf
EndFunc

Func _FileDeleteSearch($pattern, $filter = '')
    Local $i, $handle, $file, $item, $loop
    $item = StringSplit($filter, '|')
    If Not @error Then $loop = 1
    $handle = FileFindFirstFile($pattern)
    If @error Then Return
    While 1
        $file = FileFindNextFile($handle)
        If @error Then Return
        If $file = '.' Or $file = '..' Then ContinueLoop
        If $filter And $loop Then
            For $i = 1 To $item[0]
                If $file = $item[$i] Then ContinueLoop
            Next
        ElseIf $filter Then
            If $file = $filter Then ContinueLoop
        EndIf
    WEnd
EndFunc