Popular Post abberration Posted August 27, 2012 Popular Post Share Posted August 27, 2012 (edited) Software Installer Version: 2.0 It's been been a long year, but I finally got some time to rework this project. I re-wrote everything from scratch because the old version was getting too complicated with so many options and sub-menus. This new version is much easier to use and I have been testing for a few days and it seems very stable. For those who are new to this software, it helps you install software silently/unattended. This new version tries to determine the silent switch automatically. You can also re-organize the order in which the software installs by dragging & dropping them in the listview. It now supports creating profiles and checks for missing software (and automatically unchecks them, so it does not attempt to install non-existent software). One feature I included was because I have seen several people on Youtube talk about disliking bright screens at night. So, now you can choose from a few color theme (half of them are dark). I dabbled a bit more into GDI+ to draw a few things and show my logo with a transparent background (hint: I'm not good at GDI+). Under the Help menu, you will find a User Guide, which goes through most of it's features. I included a new icon if you want to use when you compile the script (in the Assets > Misc folder). If you have questions, comments or suggestions, all are welcome. Hope you enjoy! Here it is in action: Software_Installer_2.0.zip Edited December 19, 2021 by abberration New version posted robertocm, mLipok, caleb41610 and 3 others 6 Easy MP3 | Software Installer | Password Manager Link to comment Share on other sites More sharing options...
Chimaera Posted August 29, 2012 Share Posted August 29, 2012 Its a nice piece of code and a usefull tool Many Thanks abberration 1 If Ive just helped you ... miracles do happen. Chimaera CopyRobo() * Hidden Admin Account Enabler * Software Location From Registry * Find Display Resolution * _ChangeServices() Link to comment Share on other sites More sharing options...
ilfrin Posted October 24, 2012 Share Posted October 24, 2012 is it possible to place the *.exe in the folders? for example, some programs require different files that can be reproduced (eg some files *. ini)? That could be done so that every program was in a separate file in the software? eg AdobeReader -> Software1 FineReader -> Software2 etc.? Link to comment Share on other sites More sharing options...
suxx0r Posted October 30, 2012 Share Posted October 30, 2012 nice job, but can you add an detection of 32 or 64bit windows and automatically only show the fitting version of the software? Link to comment Share on other sites More sharing options...
Chimaera Posted October 31, 2012 Share Posted October 31, 2012 (edited) From playing with it i came up with this for 64/32 bit I added an extra line to the .ini file for each product like this [install_adobe.exe] Desc=Adobe Reader X switch= /sPB /rs /rps Category=1 Arch=3264 Arch = either 32 (32 bit installers) or 64 (64 bit installers) or 3264 (32 &64 bit installers in one file) And changed the function populate like this, which appears to work expandcollapse popupFunc _Populate() $OsArch = @OSArch ; Find all files in the Software folder and populate the tabs with the installers. $f = FileFindFirstFile("Software/*.*") Dim $array[1] $i = 0 Do $s = FileFindNextFile($f) If Not @error Then $array[$i] = $s $i += 1 ReDim $array[$i + 1] EndIf Until @error ReDim $array[$i] Select Case $OsArch = "X64" For $i = 1 To UBound($array) Step 1 $category = IniRead($iniFile, $array[$i - 1], "Category", "6") $desc = IniRead($iniFile, $array[$i - 1], "Desc", "") $IniArch = IniRead($iniFile, $array[$i - 1], "Arch", "") If $category = 1 And $IniArch > 32 Then GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, $ListView1) ElseIf $category = 2 And $IniArch > 32 Then GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, $ListView2) ElseIf $category = 3 And $IniArch > 32 Then GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, $ListView3) ElseIf $category = 4 And $IniArch > 32 Then GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, $ListView4) ElseIf $category = 5 And $IniArch > 32 Then GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, $ListView5) ElseIf $category = 6 And $IniArch > 32 Then GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, $ListView6) Else GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, $ListView7) EndIf Next Case $OsArch = "X86" For $i = 1 To UBound($array) Step 1 $category = IniRead($iniFile, $array[$i - 1], "Category", "6") $desc = IniRead($iniFile, $array[$i - 1], "Desc", "") $IniArch = IniRead($iniFile, $array[$i - 1], "Arch", "") If $category = 1 And $IniArch <> 64 Then GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, $ListView1) ElseIf $category = 2 And $IniArch <> 64 Then GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, $ListView2) ElseIf $category = 3 And $IniArch <> 64 Then GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, $ListView3) ElseIf $category = 4 And $IniArch <> 64 Then GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, $ListView4) ElseIf $category = 5 And $IniArch <> 64 Then GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, $ListView5) ElseIf $category = 6 And $IniArch <> 64 Then GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, $ListView6) Else GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, $ListView7) EndIf Next EndSelect EndFunc ;==>_Populate The only downside with this method is you have to add the Arch for each product. But im sure there are many other ways Edited October 31, 2012 by Chimaera If Ive just helped you ... miracles do happen. Chimaera CopyRobo() * Hidden Admin Account Enabler * Software Location From Registry * Find Display Resolution * _ChangeServices() Link to comment Share on other sites More sharing options...
suxx0r Posted November 2, 2012 Share Posted November 2, 2012 I get an Error: ...installer.au3 (108) : ==> Variable used without being declared.: GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, $ListView7) GUICtrlCreateListViewItem($array[$i - 1] & "|" & $desc, ^ ERROR when trying to execute/compile your script Link to comment Share on other sites More sharing options...
Chimaera Posted November 2, 2012 Share Posted November 2, 2012 (edited) just add at the top Global $ListView7 It was for some other changes i made Edited November 2, 2012 by Chimaera If Ive just helped you ... miracles do happen. Chimaera CopyRobo() * Hidden Admin Account Enabler * Software Location From Registry * Find Display Resolution * _ChangeServices() Link to comment Share on other sites More sharing options...
shai Posted November 9, 2012 Share Posted November 9, 2012 thanks for shering. little fix. if the software folder is empty your code crash with this error: Software Installer.au3 (86) : ==> Array variable subscript badly formatted.: ReDim $array[$i] ReDim $array[^ ERROR to fix that add this line before line 86: if $i = 0 Then Return 0 thanks again Link to comment Share on other sites More sharing options...
jgrubb2028 Posted January 7, 2013 Share Posted January 7, 2013 I cannot get it to read the config.ini? any help greatly appreciated.. Link to comment Share on other sites More sharing options...
Mun Posted January 12, 2013 Share Posted January 12, 2013 Is it possible to use this for some installation without silent switch? Link to comment Share on other sites More sharing options...
Chimaera Posted January 12, 2013 Share Posted January 12, 2013 (edited) Is it possible to use this for some installation without silent switch? Yes just omit the switch in the ini file [install_adobe.exe] Desc=Adobe Reader X switch= /sPB /rs /rps ;==> becomes switch= Category=1 it will still check but there is nothing to add Edited January 12, 2013 by Chimaera If Ive just helped you ... miracles do happen. Chimaera CopyRobo() * Hidden Admin Account Enabler * Software Location From Registry * Find Display Resolution * _ChangeServices() Link to comment Share on other sites More sharing options...
Copyrigth Posted March 9, 2013 Share Posted March 9, 2013 (edited) Hi, i was wondering two things: 1) is it possible to check for software in multiple location? 2) is it possible to check for software published to a ftp path? BTW: This is an awesome script Edited March 9, 2013 by Copyrigth Link to comment Share on other sites More sharing options...
Copyrigth Posted March 9, 2013 Share Posted March 9, 2013 I cannot get it to read the config.ini?any help greatly appreciated..I hadd the same problem, but when i added "." before the path it worked. (for me, atleast) Link to comment Share on other sites More sharing options...
AI4mfe Posted March 11, 2013 Share Posted March 11, 2013 Maybe I'am to stupid or there is a wrong default on my pc. There are many missing backslashes or am I wrong? Global $iniFile = @ScriptDir & "Config.ini" Run("msiexec /i " & '"' & $scriptDir & "Software" & $fileName & '" ' & $switch) RunWait('"' & $scriptDir & "Software" & $fileName & '"' & " " & $switch) Link to comment Share on other sites More sharing options...
BrewManNH Posted March 11, 2013 Share Posted March 11, 2013 It's more than likely the forum software ate the backslashes when the script was posted or edited. Unfortunately it's a too common experience, so you'll have to reinsert them where they belong. AI4mfe 1 If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
Copyrigth Posted March 12, 2013 Share Posted March 12, 2013 Maybe I'am to stupid or there is a wrong default on my pc. There are many missing backslashes or am I wrong? Mine look like this, works like a charm Global $iniFile = @ScriptDir & ".\Config.ini" Link to comment Share on other sites More sharing options...
habib64 Posted March 14, 2013 Share Posted March 14, 2013 Please i do all of this work but it is not working.please someone attach a zip file with full workable script.please please please Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted March 14, 2013 Moderators Share Posted March 14, 2013 habib64,First, welcome to the AutoIt forum. I suggest you post your code - and the associated ini file - so that we can see where you might have gone wrong. When you post your script please use Code tags - put [autoit] before and [/autoit] after your posted code. Then you get a scrolling box and syntax colouring which makes it easier to read. M23 Copyrigth 1 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
SWB Posted March 14, 2013 Share Posted March 14, 2013 Run("msiexec /i " & '"' & $scriptDir & "Software" & $fileName & '" ' & $switch) ; For MSI type installers RunWait('"' & $scriptDir & "Software" & $fileName & '"' & " " & $switch) ; For EXE installers These 2 lines don't seem to work as written, when executed a box just flashes real fast and nothing happens. Can anybody see whats wrong with this, stumped. Link to comment Share on other sites More sharing options...
Copyrigth Posted March 14, 2013 Share Posted March 14, 2013 SWB, There is nothing wrog there if your files is in a katalog kalled "Software" in the same katalog you run the script from. If that is the case try posting the hole function 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