weaponx Posted July 19, 2006 Share Posted July 19, 2006 (edited) I have been using AutoIT for a few years. I think it's time to give something back to the community.Archrival Deploy(Original link removed to free up attachment space 2/15/08: 460 downloads)Description: Archrival Deploy 1.0 (AutoIT BETA 3.1.1.130)Connects to AD and populates treeview with available OU's \ Computers, populates listview with items in Packages folder. When you have selected the destination and start the process, PSEXEC will copy the package host EXE to the client machine and run it with the same credentials you used for AD. That EXE in turn launches whatever program on whatever UNC path it contains (hard coded). A folder called "logs" should be created under the UNC path which will tell you if the program completed successfully or failed. This first version offers no settings aside from the config.ini and will probably crash if run outside a domain.Installation: 1. Unzip to a folder2. Compile with latest BETA (don't have to)3. Modify config.ini to reflect your domain, I recommend using User name and Password for testing only4. Edit plugins individually to reflect their UNC paths and file names, MUST COMPILE EACH ONENotes: -Checking a root OU does not select sub-items, I have not written a routine for this yet.-This will currently push one item at a time onto one machine at a time (Sequentially), else too many items will spawn on the client machine.-I have tested this on both machines that are locked and logged off and it ran okay. The included packages will run completely silent aside from the tray icon. I think Office 2003 is the only one that shows a status bar.-The Active Directory / LDAP functionality was borrowed from the Join Domain tool floating around but is stripped down.-The settings I use for PSEXEC push the individual package scripts to the clients before running. You could also run from a local share and consolidate the packages and the files together. I personally have the installation source for each plugin strewn about different servers and don't want shares open from my machine.If there are any problems / questions let me know. Edited February 22, 2008 by weaponx Link to comment Share on other sites More sharing options...
blitzkrg Posted July 20, 2006 Share Posted July 20, 2006 is it possible to remote query the target before installation to see if a specific package has been installed? Link to comment Share on other sites More sharing options...
weaponx Posted July 20, 2006 Author Share Posted July 20, 2006 is it possible to remote query the target before installation to see if a specific package has been installed? Well there are a couple ways I could implement that. The first would be to check the admin shares of the remote system to verify that certain files exist, maybe in the Packages config.ini I could put a list of paths to be checked. An easier way would be to implement the check right into each package. Since the package is executed on the destination machine before any actual installation takes place you could have it check the registry and check if files exist on the destination. Try this one for Adobe Reader 7.0.7 $root="\\United\3rdParty\Software\Acrobat Reader\Adobe 7.0.7" $file = FileExists ( $root & "\setup.exe" ) If $file = 0 Then Exit DirCreate ( $root & "\Logs" ) $log = FileOpen ( $root & "\Logs\" & @ComputerName & "-" & @YEAR & "-" & @MON &"-" & @MDAY & ".log", 1 ) If FileExists ( @ProgramFilesDir & "\Adobe\Acrobat 7.0\Reader\AcroRd32.exe" ) Then FileWrite($log, "Package already installed " & @HOUR & ":" & @MIN & @CRLF) Exit(0) EndIf FileWrite($log, "Started at " & @HOUR & ":" & @MIN & @CRLF) $run = RunWait ("msiexec.exe /i ""Adobe Reader 7.0.7.msi"" TRANSFORMS=""acrobat7.mst"" /qb- /norestart" , $root & "\") If $run = 0 Then FileWrite($log, "Complete at " & @HOUR & ":" & @MIN & @CRLF) FileClose ( $log ) Exit(0) Else FileWrite($log, "Failed at " & @HOUR & ":" & @MIN & @CRLF) FileClose ( $log ) Exit(1) EndIf I really like PSEXEC as it makes my job easier but theres no 2 way communication involved. I was working on another version of this program which required a service be installed on every machine (TCP Functions). This works nicely for me though. At my old job we used Symantec ON Technology to deploy everything but it was bloated. My version is quite fast and it simply writes logs to let you know the status of a package. Link to comment Share on other sites More sharing options...
busysignal Posted August 9, 2006 Share Posted August 9, 2006 @weaponx, nice idea. It has much potential. Cheers.. Link to comment Share on other sites More sharing options...
weaponx Posted August 9, 2006 Author Share Posted August 9, 2006 @weaponx, nice idea. It has much potential. Cheers.. Thanks, I actually use this daily. I wonder if anyone has had any luck with it since I posted. Link to comment Share on other sites More sharing options...
busysignal Posted August 13, 2006 Share Posted August 13, 2006 Thanks, I actually use this daily. I wonder if anyone has had any luck with it since I posted.Not sure but I think it is a useful tool in deplying software. With a little automation on creating some of the files would make this a great. Cheers.. Link to comment Share on other sites More sharing options...
2tim3_16 Posted February 1, 2007 Share Posted February 1, 2007 weaponx, are you still doing any development on this, or have you stopped? I've been wanting a way to do something similar to this for some time, and just came across this topic. Link to comment Share on other sites More sharing options...
weaponx Posted February 6, 2007 Author Share Posted February 6, 2007 weaponx, are you still doing any development on this, or have you stopped? I've been wanting a way to do something similar to this for some time, and just came across this topic.I'm still alive. I will try to update the packages soon and maybe automate the initial setup of your OU and whatnot. Link to comment Share on other sites More sharing options...
weaponx Posted February 8, 2007 Author Share Posted February 8, 2007 ADOBE READER 8 PLUGIN, EXE INSTALL expandcollapse popup;Path to FOLDER where exe resides $root= "\\Path\to\folder\containing\exe\" ;$root = @ScriptDir ;Verify EXE is present $file = FileExists ( $root & "\AdbeRdr80_en_US.exe" ) If $file = 0 Then Exit ;Create logfile folder DirCreate ( $root & "\Logs" ) ;Create logfile in this format ComputerName-YYYY-MM-DD.log $log = FileOpen ( $root & "\Logs\" & @ComputerName & "-" & @YEAR & "-" & @MON &"-" & @MDAY & ".log", 1 ) FileWrite($log, "Started at " & @HOUR & ":" & @MIN & @CRLF) ;Check if already installed If FileExists ( @ProgramFilesDir & "\Adobe\Reader 8.0\Reader\AcroRd32.exe" ) Then FileWrite($log, "Package already installed " & @HOUR & ":" & @MIN & @CRLF) Exit(0) EndIf ;Run unattended with progress bar $run = RunWait ( $root & '\AdbeRdr80_en_US.EXE /sPB /rs /rps /msi"ALLUSERS=TRUE EULA_ACCEPT=YES SUPPRESS_APP_LAUNCH=YES"' , $root & "\") ;Run unattended silently ;$run = RunWait ( $root & '\AdbeRdr80_en_US.EXE /rs /rps /msi"ALLUSERS=TRUE EULA_ACCEPT=YES SUPPRESS_APP_LAUNCH=YES"' , $root & "\") ;Record log If $run = 0 Then FileWrite($log, "Complete at " & @HOUR & ":" & @MIN & @CRLF) FileClose ( $log ) Exit(0) Else FileWrite($log, "Failed at " & @HOUR & ":" & @MIN & @CRLF) FileClose ( $log ) Exit(1) EndIf Link to comment Share on other sites More sharing options...
weaponx Posted February 8, 2007 Author Share Posted February 8, 2007 (edited) JAVA RUNTIME 1.5 Update 10 EXE INSTALL ;Path to FOLDER where exe resides $root= "\\Path\to\folder\containing\exe\" ;Local test path ;$root = @ScriptDir ;Verify EXE is present $file = FileExists ( $root & "\jre-1_5_0_10-windows-i586-p-s.exe" ) If $file = 0 Then Exit ;Create logfile folder DirCreate ( $root & "\Logs" ) ;Create logfile in this format ComputerName-YYYY-MM-DD.log $log = FileOpen ( $root & "\Logs\" & @ComputerName & "-" & @YEAR & "-" & @MON &"-" & @MDAY & ".log", 1 ) FileWrite($log, "Started at " & @HOUR & ":" & @MIN & @CRLF) ;Check if already installed If FileExists ( @ProgramFilesDir & "\Java\jre1.5.0_10\bin\java.exe" ) Then FileWrite($log, "Package already installed " & @HOUR & ":" & @MIN & @CRLF) Exit(0) EndIf ;Run unattended silently $run = RunWait ( $root & '\jre-1_5_0_10-windows-i586-p-s.exe /s /v"/qn IEXPLORER=1 MOZILLA=1 JAVAUPDATE=0 AgreeToLicense=1 EULA=1"' , $root & "\") ;Record log If $run = 0 Then FileWrite($log, "Complete at " & @HOUR & ":" & @MIN & @CRLF) FileClose ( $log ) Exit(0) Else FileWrite($log, "Failed at " & @HOUR & ":" & @MIN & @CRLF) FileClose ( $log ) Exit(1) EndIf Edited February 8, 2007 by weaponx Link to comment Share on other sites More sharing options...
flyonthewall Posted January 4, 2008 Share Posted January 4, 2008 (edited) *** moving this to general support forum...sorry ****updating software for each end-user and looking for some feedback please.once the users click the menu option on the intranet, the silent script will start.i would like to record each @ComputerName and time, and if their file alreadyt exists, then a msgbox will let them know the update has already been made, and exit script.if not, then the silent install will begin, and after it's finished, have a quick msgbox letting them know it's complete.this way we can monitor who has made the update afer we send out the email notification.many thanks to weaponx for the start. ;~ path to folder where msi resides $root= "\\server\fld1\fld2\fld3\Logs\" If FileExists ( $root & @ComputerName & "-" & @YEAR & "-" & @MON &"-" & @MDAY & ".log") Then MsgBox (0, "File Exists", "Update Exists Already!", 1) Exit(0) EndIf RunWait(@ComSpec & ' /c "msiexec /i \\server\fld1\fld2\fld3\filetorun.msi/q"', @TempDir, @SW_HIDE) ;~ create logfile in this format computername-yyyy-mm-dd.log $log = FileOpen ( $root & @ComputerName & "-" & @YEAR & "-" & @MON &"-" & @MDAY & ".log", 1 ) FileWrite($log, "Started at " & @HOUR & ":" & @MIN & @CRLF) ;~ update complete msgbox MsgBox (0, "Update", "Update Complete!", 1) Edited January 4, 2008 by flyonthewall Link to comment Share on other sites More sharing options...
clarkster26 Posted April 17, 2014 Share Posted April 17, 2014 You do not by chance still have this posted somewhere do you? Link to comment Share on other sites More sharing options...
water Posted April 17, 2014 Share Posted April 17, 2014 This thread is more than 6 years old and the poster has been offline for more than 3 years. Do you really expect a response? My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
Recommended Posts