firestrife23 Posted January 1, 2010 Share Posted January 1, 2010 Hello, This is one of my few first attempt in autoit scripting, yes I'm newbie. It may look very basic so bear with me, it's quite long and repeative stuffs in there and I'm sure there's plenty of room for improvement to my code. Ok let's get to the point, I'm wondering if it's possible to read from applist.ini for listing of software to run application's silent install for instance... \\uncpath\app1.exe /silent \\uncpath\app2.msi /qn so on and on... so that way I don't have to go back into source code and edit every now and then. I only want to make revision to applist.ini Here's my Code, feel free to make suggestion how I can improve this. expandcollapse popup#include <GUIConstantsEx.au3> #include <ProgressConstants.au3> ;--Declaring Varibles $repository = "\\CLASSROOMSVR\Public\Apps\" $profile = "\\CLASSROOMSVR\Public\Profile\" $applist = "\\CLASSROOMSVR\Public\Apps\List.txt" ;--Main GUI Opt("GUIOnEventMode", 1) $mainwindow = GUICreate("Post-Install for 32-bits", 250, 150) GUISetOnEvent($GUI_EVENT_CLOSE, "Quit") $status = GUICtrlCreateLabel ("Ready ", 10, 10, 205) $status2 = GUICtrlCreateLabel ("", 10, 25, 205, 20) $progressbar1 = GUICtrlCreateProgress(10, 45, 205, 20) GUICtrlCreateLabel ("Techincal Support", 10, 70, 190) GUICtrlCreateLabel ("IT@XXXXX.XXX", 10, 85, 190) $button = GUICtrlCreateButton("Start", 120, 120, 60, 25) $quitbutton = GUICtrlCreateButton("Abort", 185, 120, 60, 25) GUICtrlSetOnEvent($button, "Go") GUICtrlSetOnEvent($quitbutton, "Quit") GUISetState(@SW_SHOW) While 1 Sleep(1000) ;--Idling around WEnd Func Go() MsgBox(0, "Important Information", "This will take anywhere between 2-4 hours depending on processor speed and condition of network traffic.") GUICtrlSetState($button, $GUI_DISABLE) GUICtrlSetState($quitbutton, $GUI_DISABLE) ;--check to see if this computer's within campus network GUICtrlSetData ($status, "Searching for Repository") GUICtrlSetData ($status2, "Please Wait...") If FileExists ($repository) Then GUICtrlSetData ($status, "Copying Files:") GUICtrlSetData ($status2, "[1/2] - USBDLM Service") GUICtrlSetData ($progressbar1, 100 - 98) FileCopy( $repository & "USBDLM\32x86\*", "C:\Tools\USBDLM\", 1) Sleep ( 2000 ) GUICtrlSetData ($status2, "[2/3] - Desktop Background") GUICtrlSetData ($progressbar1, 100 - 96) FileCopy( $profile & "GIL.jpg", "C:\Default_Profile\", 1) Sleep ( 2000 ) GUICtrlSetData ($status2, "[3/3] - Theme Style") GUICtrlSetData ($progressbar1, 100 - 94) FileCopy( $profile & "Themes\*", @WindowsDir & "\resources\Themes\", 1) Sleep ( 2000 ) GUICtrlSetData ($status, "Installing:") GUICtrlSetData ($status2, "[1/11] - USBDLM Service") GUICtrlSetData ($progressbar1, 100 - 92) RunWait ( "C:\USBDLM\USBDLM.exe -silentinstall", @SW_HIDE) Sleep (2000) GUICtrlSetData ($status2, "[2/11] - Microsoft Security Essentials") GUICtrlSetData ($progressbar1, 100 - 90) RunWait ( $repository & "mssefullinstall-x86fre-en-us-xp.exe /s /runwgacheck /o", @SW_HIDE) Sleep (2000) GUICtrlSetData ($status2, "[3/11] - Latest Antivirus Definition") GUICtrlSetData ($progressbar1, 100 - 75) RunWait ( @ProgramFilesDir & "\Microsoft Security Essentials\MpCmdRun.exe -SignatureUpdate", @SW_HIDE) Sleep (2000) GUICtrlSetData ($status2, "[4/11] - Spybot Search & Destory") GUICtrlSetData ($progressbar1, 100 - 70) RunWait ( $repository & "spybotsd.exe /VERYSILENT /NORESTART /COMPONENTS=MAIN /tasks=!launchteatimer", @SW_HIDE) GUICtrlSetData ($status2, "[5/11] - Spybot Search & Destory Definition") GUICtrlSetData ($progressbar1, 100 - 78) RunWait ( @ProgramFilesDir & "\Spybot - Search & Destroy\SpybotSD.exe /taskbarhide /autoclose /autoupdate /autoimmunize", @SW_HIDE) Sleep(2000) GUICtrlSetData ($status2, "[6/11] - Microsoft Office 2007 SP2") GUICtrlSetData ($progressbar1, 100 - 65) RunWait ( $repository & "Office2007\setup.exe", @SW_SHOW) Sleep (2000) GUICtrlSetData ($status2, "[7/11] - CCleaner") GUICtrlSetData ($progressbar1, 100 - 40) RunWait ( $repository & "ccleaner.exe /S", @SW_HIDE) Sleep (2000) GUICtrlSetData ($status2, "[8/11] - Defraggler") GUICtrlSetData ($progressbar1, 100 - 35) RunWait ( $repository & "defraggler.exe /S", @SW_HIDE) Sleep (2000) GUICtrlSetData ($status2, "[9/11] - Flash Player") GUICtrlSetData ($progressbar1, 100 - 30) RunWait ( $repository & "install_flash_player.exe /silent", @SW_HIDE) RunWait ( $repository & "install_flash_player_ax.exe /silent", @SW_HIDE) Sleep (2000) GUICtrlSetData ($status2, "[10/11] - Adobe PDF Reader") GUICtrlSetData ($progressbar1, 100 - 25) RunWait ( $repository & "AdbeRdr920_en_US.exe /msi /norestart /quiet", @SW_HIDE) Sleep (2000) GUICtrlSetData ($status2, "[11/11] - Java Runtime v6 update 17") GUICtrlSetData ($progressbar1, 100 - 20) RunWait ( $repository & "jre-6u17-windows-i586-s.exe /q", @SW_HIDE) Sleep (2000) GUICtrlSetData ($status, "Purging:") GUICtrlSetData ($status2, "[1/2] - Desktop Shortcuts") GUICtrlSetData ($progressbar1, 100 - 10) FileDelete("%userprofile%\Desktop\*") FileDelete("%allusersprofile%\Desktop\*") Sleep (2000) GUICtrlSetData ($status2, "[2/2] - Removing Yahoo! Toolbar") GUICtrlSetData ($progressbar1, 100 - 5) RunWait ( @ProgramFilesDir & "\Yahoo!\Common\unyt_wrap /S", @SW_HIDE) Sleep (2000) GUICtrlSetData ($status, "Finished") GUICtrlSetData ($status2, "") GUICtrlSetData ($progressbar1, 100 - 0) GUICtrlSetState($quitbutton, $GUI_ENABLE) MsgBox (64, "Reboot Required", "You must restart your computer for installation to completed.") Else MsgBox (64, "Error", "You are either off-campus or do not have permission to access our software repository.") Exit EndIf EndFunc Func Quit() Exit EndFunc Link to comment Share on other sites More sharing options...
Danny35d Posted January 1, 2010 Share Posted January 1, 2010 Hello, Ok let's get to the point, I'm wondering if it's possible to read from applist.ini for listing of software to run application's silent install for instance... Yes, it is possible. Take a look to the help file and search for IniRead() function. Also you have the following functions to work with ini files:IniDelete, IniWrite, IniReadSection, IniReadSectionNames, IniRenameSection, and IniWriteSection AutoIt Scripts:NetPrinter - Network Printer UtilityRobocopyGUI - GUI interface for M$ robocopy command line Link to comment Share on other sites More sharing options...
firestrife23 Posted January 1, 2010 Author Share Posted January 1, 2010 (edited) Seem like ini limited to reading from key only? but something else caught my eyes FileReadLine() this may be what I'm looking for, for starting point, will this work? $applist = FileOpen("apps.ini", 0) ; Check if file opened for reading OK If $applist = -1 Then MsgBox(0, "Error", "Unable to open file.") Exit EndIf ; Read in lines of text until the EOF is reached While 1 $line = FileReadLine($applist) If @error = -1 Then ExitLoop RunWait ($line, @SW_HIDE) Wend FileClose($applist) Edited January 1, 2010 by firestrife23 Link to comment Share on other sites More sharing options...
GEOSoft Posted January 1, 2010 Share Posted January 1, 2010 (edited) Seem like ini limited to reading from key only? but something else caught my eyes FileReadLine() this may be what I'm looking for, for starting point, will this work? $applist = FileOpen("apps.ini", 0) ; Check if file opened for reading OK If $applist = -1 Then MsgBox(0, "Error", "Unable to open file.") Exit EndIf ; Read in lines of text until the EOF is reached While 1 $line = FileReadLine($applist) If @error = -1 Then ExitLoop RunWait ($line, @SW_HIDE) Wend FileClose($applist) I'm getting the impression that you are trying to read a flat text file and not a properly structured INI file. Th INI functions work with a file structured like this. [section1] key1=value1 key2=value2 [section2] key1=value1 key2=value2 FileReadLine() is the slowest possible method to loop through a file one line at a time. Read the explanation in the help file. Better to move it to an array and then loop through that. #include<array.au3> ;; for _ArrayDisplay() only. $sTxt = FileRead("C:\path\Somefile.txt") ;; No FileOpen() is required $sTxt = StringStripWS($sTxt, 3);; Not needed, it's here just to make sure you don't have empty lines before or after the actual text. $aTxt = StringRegExp($sTxt, "(?m:^).+(?:\v|\z)+", 3);; Create a 0 based array of the lines. If NOT @Error Then ;; This is where your code goes (looping through elements). I'll just display the array ;; For $i = 0 To Ubound($aTxt) -1 ;; do something ;; Next _ArrayDisplay($aTxt) Else MsgBox(0, "Error", "Houston, we have a problem") EndIf Edited January 1, 2010 by GEOSoft George Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.*** The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number. Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else. "Old age and treachery will always overcome youth and skill!" Link to comment Share on other sites More sharing options...
firestrife23 Posted January 1, 2010 Author Share Posted January 1, 2010 You've got really interesting point here, I like sticking with ini due to well organized information under sections and such. I've came up with this, seem to be working. $applist = "C:\Users\Jason\list.ini" $var = IniReadSection( $applist, "SOFTWARE") If @error Then MsgBox(4096, "", "Error occurred, missing INI file.") Else For $i = 1 To $var[0][0] RunWait($var[$i][1], @SW_HIDE) Next EndIf Link to comment Share on other sites More sharing options...
GEOSoft Posted January 1, 2010 Share Posted January 1, 2010 (edited) That's much better to use anyway. The only thing wrong now is your error message. @Error does not mean that the file definitely doesn't exist. It shows that eitherThe ini file doesn't existThe function was unable to read the specified sectionEDIT: A better method is to do more error checking.$applist = "C:\Users\Jason\list.ini" If FileExists($applist) Then $var = IniReadSection( $applist, "SOFTWARE") If @error Then MsgBox(4096, "Error", "Unable to read section.") Else For $i = 1 To $var[0][0] RunWait($var[$i][1], @SW_HIDE) Next EndIf Else MsgBox(4096, "Error", "The INI file does not exist.") EndIf Edited January 1, 2010 by GEOSoft George Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.*** The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number. Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else. "Old age and treachery will always overcome youth and skill!" Link to comment Share on other sites More sharing options...
firestrife23 Posted January 1, 2010 Author Share Posted January 1, 2010 Thanks, that's awesome! what if value is something like \app\installer.msi /qb as you can see there's space in there will that cause problem, should i put in quotation mark inside ini file? Link to comment Share on other sites More sharing options...
GEOSoft Posted January 1, 2010 Share Posted January 1, 2010 Thanks, that's awesome! what if value is something like \app\installer.msi /qb as you can see there's space in there will that cause problem, should i put in quotation mark inside ini file? It could but not too likely. Have you tried using ShellExecuteWait() instead of RunWait()? If that works then I have a simple solution to yout quandry. $sCmd = "\app\installer.msi /qb" ;; This would actually be $sCmd = $var[$i][1] in your script (For/Next) $aCmd = StringRegExp($sCmd, "(.*\.\w{3})\s*(.*)", 1);; convert the ini value to an array where[0] = command and [1] = prams If NOT @Error Then ShellExecuteWait($aCmd[0], $aCmd[1], "", "", @SW_HIDE) EndIf George Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.*** The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number. Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else. "Old age and treachery will always overcome youth and skill!" Link to comment Share on other sites More sharing options...
firestrife23 Posted January 2, 2010 Author Share Posted January 2, 2010 (edited) GEOsoft, I like your solution, I'm trying my best to follow you, hopefully i get this this right... see below. Sorry If I got too many questions, obviously I have alot to learn. Func Go() GUICtrlSetState($button, $GUI_DISABLE) GUICtrlSetState($quitbutton, $GUI_DISABLE) If FileExists($applist) Then $var = IniReadSection( $applist, "SOFTWARE") If @error Then MsgBox(64, "Error", "Unable to read INI file.") Else For $sCmd = $var[$i][1] $aCmd = StringRegExp($sCmd, "(.*\.\w{3})\s*(.*)", 1) If NOT @Error Then ShellExecuteWait($aCmd[0], $aCmd[1], "", "", @SW_HIDE) EndIf Sleep(2000) Next EndIf Else MsgBox(64, "Error", "You are either off-campus or do not have permission to access our software repository.") Exit EndIf EndFunc Assuming list.ini should read as in: [SOFTWARE] \LanguageDept\app1\setup.exe= /silent \LanguageDept\app2\install.msi= /qb /norestart Once I get that underway, then my next step is to figure out how to dynamically update GUICtrlSetData for Message such as "Installing Office 2007" so on and on, I think I've made my script quite complicated LOL. Edited January 2, 2010 by firestrife23 Link to comment Share on other sites More sharing options...
GEOSoft Posted January 2, 2010 Share Posted January 2, 2010 We would need to see some of your GUI code to get that sorted out. Up until now there was nothing that indicated you were even using a GUI. George Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.*** The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number. Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else. "Old age and treachery will always overcome youth and skill!" Link to comment Share on other sites More sharing options...
firestrife23 Posted January 2, 2010 Author Share Posted January 2, 2010 We would need to see some of your GUI code to get that sorted out. Up until now there was nothing that indicated you were even using a GUI. No problem but it's incomplete, still a work in progress. So here goes... expandcollapse popup#include <GUIConstantsEx.au3> #include <ProgressConstants.au3> ;--Declaring Varibles $repository = "\\CLASSROOMSVR\Public\Apps\" $profile = "\\CLASSROOMSVR\Public\Profile\" $applist = $repository & "list.ini" ;--Main GUI Opt("GUIOnEventMode", 1) $mainwindow = GUICreate("Post-Install for 32-bits", 250, 150) GUISetOnEvent($GUI_EVENT_CLOSE, "Quit") $status = GUICtrlCreateLabel ("Ready ", 10, 10, 205) $progressbar1 = GUICtrlCreateProgress(10, 45, 205, 20) GUICtrlCreateLabel ("Techincal Support", 10, 70, 190) GUICtrlCreateLabel ("IT@xxxx.xxx", 10, 85, 190) $button = GUICtrlCreateButton("Start", 120, 120, 60, 25) $quitbutton = GUICtrlCreateButton("Abort", 185, 120, 60, 25) GUICtrlSetOnEvent($button, "Go") GUICtrlSetOnEvent($quitbutton, "Quit") GUISetState(@SW_SHOW) While 1 Sleep(1000) ;--Idling around WEnd Func Go() GUICtrlSetState($button, $GUI_DISABLE) GUICtrlSetState($quitbutton, $GUI_DISABLE) If FileExists($applist) Then $var = IniReadSection( $applist, "SOFTWARE") If @error Then MsgBox(64, "Error", "Unable to read INI file.") Else For $sCmd = $var[$i][1] $aCmd = StringRegExp($sCmd, "(.*\.\w{3})\s*(.*)", 1) If NOT @Error Then ShellExecuteWait($aCmd[0], $aCmd[1], "", "", @SW_HIDE) EndIf Sleep(2000) Next EndIf Else MsgBox(64, "Error", "You are either off-campus or do not have permission to access our software repository.") Exit EndIf EndFunc Func Quit() Exit EndFunc Link to comment Share on other sites More sharing options...
GEOSoft Posted January 2, 2010 Share Posted January 2, 2010 (edited) And what is it you want updated with GUICtrlSetData(). It may be just as easy to add a section to your IniFile and read that to get the name of the App that is being installed. If you are talking about getting text from one of the installer Windows, that will be a bit more difficult to do because you are running the installs silently so there shouldn't be any window to get the text from. EDIT: I just thought of something else. Is that sample Ini the way you have it? If it is then that RegExp probably won't work. It should be something like [sOFTWARE] Microsoft Office 2007=\LanguageDept\app1\setup.exe /silentThat way $var[$i][0] would contain the name to be displayed and $var[$i][1] is the portion I split with the RegEx to get the filename and parameters with the RegExp. Edited January 2, 2010 by GEOSoft George Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.*** The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number. Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else. "Old age and treachery will always overcome youth and skill!" Link to comment Share on other sites More sharing options...
firestrife23 Posted January 2, 2010 Author Share Posted January 2, 2010 (edited) And what is it you want updated with GUICtrlSetData(). It may be just as easy to add a section to your IniFile and read that to get the name of the App that is being installed. If you are talking about getting text from one of the installer Windows, that will be a bit more difficult to do because you are running the installs silently so there shouldn't be any window to get the text from. EDIT: I just thought of something else. Is that sample Ini the way you have it? If it is then that RegExp probably won't work. It should be something like That way $var[$i][0] would contain the name to be displayed and $var[$i][1] is the portion I split with the RegEx to get the filename and parameters with the RegExp. Yes that's what I'm trying to accomplish, the problem with $var[$i][0] will only show number 1, 2, 3, instead of value i believe it's due to looping count, I think I'm not doing this right. Here's my silly attempt: For $i = 1 To $var[0][0] GUICtrlSetData ($status, $var[$i][0]) RunWait( $repository & $var[$i][1]) Sleep(2000) Next EDIT: Nevermind that, felt like idiot I forgot to click save on my notepad for list.ini lol it's now showing properly. Edited January 2, 2010 by firestrife23 Link to comment Share on other sites More sharing options...
firestrife23 Posted January 2, 2010 Author Share Posted January 2, 2010 I'm very please with outcome, now I need to find out how to incorporate progress bar with this script. I only know how to do pseudo bar with fixed value but for realtime progress.... erm how does that work? Here's latest revision of Code: expandcollapse popup#include <GUIConstantsEx.au3> #include <ProgressConstants.au3> ;--Declaring Varibles $repository = "\\CLASSROOMSVR\Public\Apps\" $profile = "\\CLASSROOMSVR\Public\Profile\" $applist = $repository & "list.ini" ;--Main GUI Opt ("GUIOnEventMode", 1) $mainwindow = GUICreate("Post-Install for 32-bits", 250, 150) GUISetOnEvent ($GUI_EVENT_CLOSE, "Quit") $status = GUICtrlCreateLabel ("Ready ", 10, 10, 205) $status2 = GUICtrlCreateLabel ("", 10, 25, 205, 20) $progressbar1 = GUICtrlCreateProgress(10, 45, 205, 20) GUICtrlCreateLabel ("Techincal Support", 10, 70, 190) GUICtrlCreateLabel ("IT@xxxxxx.xxx", 10, 85, 190) $button = GUICtrlCreateButton("Start", 120, 120, 60, 25) $quitbutton = GUICtrlCreateButton("Abort", 185, 120, 60, 25) GUICtrlSetOnEvent ($button, "Go") GUICtrlSetOnEvent ($quitbutton, "Quit") GUISetState(@SW_SHOW) While 1 Sleep(1000) ;--Idling around WEnd Func Go() MsgBox(0, "Important Information", "This will take anywhere between 2-4 hours depending on processor speed and condition of network traffic.") GUICtrlSetState ($button, $GUI_DISABLE) GUICtrlSetState ($quitbutton, $GUI_DISABLE) GUICtrlSetData ($status, "Searching for Repository") GUICtrlSetData ($status2, "Please Wait...") If FileExists($applist) Then $var = IniReadSection( $applist, "SOFTWARE") $var1 = IniReadSection( $applist, "RETRIEVE") $var2 = IniReadSection( $applist, "UPDATE") $var3 = IniReadSection( $applist, "PURGE") If @error Then MsgBox(64, "Error", "Unable to read INI file.") Else GUICtrlSetData ($status, "Retrieving:") For $i = 1 To $var[0][0] GUICtrlSetData ($status2, $var[$i][0]) RunWait ($profile & $var[$i][1], @SW_HIDE) Next GUICtrlSetData ($status, "Installing:") For $i = 1 To $var1[0][0] GUICtrlSetData ($status2, $var1[$i][0]) RunWait ($repository & $var1[$i][1], @SW_HIDE) Next GUICtrlSetData ($status, "Updating:") For $i = 1 To $var2[0][0] GUICtrlSetData ($status2, $var2[$i][0]) RunWait (@ProgramFilesDir & $var2[$i][1], @SW_HIDE) Next GUICtrlSetData ($status, "Purging:") For $i = 1 To $var3[0][0] GUICtrlSetData ($status2, $var3[$i][0]) RunWait ($var3[$i][1], @SW_HIDE) Next EndIf Else MsgBox(64, "Error", "You are either off-campus or do not have permission to access our software repository.") Exit EndIf GUICtrlSetData ($status, "Finished") GUICtrlSetData ($status2, "") GUICtrlSetData ($progressbar1, 100 - 0) GUICtrlSetState($quitbutton, $GUI_ENABLE) EndFunc Func Quit() Exit EndFunc Link to comment Share on other sites More sharing options...
GEOSoft Posted January 2, 2010 Share Posted January 2, 2010 I don't see any good way of setting the progress bar but there is a way to get it somewhat close. Before we do that lets take a look at the ini file structure again. George Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.*** The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number. Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else. "Old age and treachery will always overcome youth and skill!" Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now