#region - SciTe4AutoIt3 install script - (Nullsoft) #include <Common_Functions.au3> Opt('TrayIconDebug', 1) Break(False) ; Installer. $executable = 'SciTe4AutoIt3 2007.05.22.exe' ; Default group folder in startmenu. $group = 'AutoIt 3\Scite' ; Installation folder in Program Files. $directory = 'AutoIt3' ; Add property files $source = @ScriptDir & '\Files\UserProfile\SciteUser.properties' $destination = @UserProfileDir & '\SciteUser.properties' If FileExists($source) And Not FileExists($destination) Then FileCopy($source, $destination) EndIf ; Run the installer. $pid = _Nullsoft('/S BETA') ProcessWaitClose($pid) ; Run update installer. If FileExists(@ScriptDir & '\Scite4Au3Upd.exe') Then Sleep(500) RunWait(@ScriptDir & '\Scite4Au3Upd.exe /S') Sleep(500) EndIf ; Add files. $source = @ScriptDir & '\Files\Scite4AutoIt3' $destination = @ProgramFilesDir & '\' & $directory If FileExists($source) Then DirCopy($source, $destination) ; Create Hardlinks. $source = @ScriptDir & '\Files\ResHacker.exe' $destination = @CommonFilesDir & '\Reshacker\ResHacker.exe' $hardlink = @ProgramFilesDir & '\' & $directory & '\AutoIt3Wrapper\ResHacker.exe' ; Extract SFX if needed. If Not FileExists($destination) And FileExists($source) Then RunWait($source & ' /S') If Not FileExists($hardlink) Then FileCreateNTFSLink($destination, $hardlink) $destination = @CommonFilesDir & '\Reshacker\ResHacker.hlp' $hardlink = @ProgramFilesDir & '\' & $directory & '\AutoIt3Wrapper\ResHacker.hlp' FileCreateNTFSLink($destination, $hardlink) EndIf ; Remove Edit and use Open as default for Edit. $key = 'HKLM\SOFTWARE\Classes\AutoIt3Script\Shell' If RegDelete($key & '\Edit') And Not @error Then RegWrite($key & '\Open', '', 'Reg_sz', 'Edit Script') EndIf If RegRead($key, '') <> 'Open' Then RegWrite($key, '', 'Reg_sz', 'Open') EndIf ; Hide contextmenu entries RegWrite($key & '\Compile with Options', 'extended', 'Reg_sz', '') ; Remove shortcuts. If _Programs('Scite.lnk') Then DirCopy($group, 'Development', 1) DirRemove('AutoIt v3', 1) FileChangeDir('Development') FileDelete('GettingStarted.lnk') FileDelete('SciteConfig.lnk') FileDelete('ScriptWriter.lnk') FileDelete('Switch-Definitions.lnk') FileDelete('Tidy.lnk') FileDelete('Uninstall.lnk') FileDelete('Website.lnk') FileMove('Scite.lnk', 'Scite4AutoIt3.lnk', 1) EndIf _Desktop('Scite.lnk') Exit #endregion Func _AutoItVersion($scriptver) Local $au3ver, $expectver, $exitcode If Not @Compiled Then $au3ver = StringSplit(@AutoItVersion, '.') $expectver = StringSplit($scriptver, '.') If @error Then Return ConsoleWrite('_AutoItVersion() error with using StringSplit()' & @LF) Exit -2 EndIf For $i = 1 To $expectver[0] If $au3ver[$i] = $expectver[$i] Then ContinueLoop ElseIf $au3ver[$i] > $expectver[$i] Then Return Else MsgBox(0x40010, @ScriptName, 'Need atleast ' & $scriptver & ' to execute this script', 10) $exitcode = StringReplace($scriptver, '.', '') Exit $exitcode EndIf Next EndIf EndFunc