Basixx Installer
About the package database
Package Info Files
The package database is no real database, it is just a bunch of ini files. You now maybe ask why such ancient stuff? Simply because they are easily editable and, more importantly, easier to parse then most other stuff. Like you will see, defining a own package is easy (and will get even easier when i’ll publish the tool) and combined with a custom script you will be able to install every software silently in batch mode.
Each „package info file“, or in other words each ini file, consist of atleast this:
[package]
name=Descriptive text shown in the UI while installing the package
filename=name_of_the_install_package.exe
There are also the following optional entries:
params=/params /needed /to /install /in /unattended /mode
script=custom_script_to_automate_the_install.exe
See this package info file for Winamp for a real world example:
[package]
name=Winamp 5.56
filename=winamp556_deu.exe
params=
script=winamp556.exe
„Dumb Installer“ Automation with custom scripts
In the example we called a custom, compiled, AutoIt script to automate the install since Winamp supports only a non-customizable silent install with components i don’t like. Note that you should compile your script, except you gonna install AutoIt (or whatever runtime it needs) BEFORE the package using this script will get installed. Such a script could look like this, the script used for Winamp:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=D:\Graphics\update.ico
#AutoIt3Wrapper_outfile=winamp556.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
Opt("SendKeyDelay", 350)
WinWait("Sprache wählen")
WinActivate("Sprache wählen")
ControlFocus("Sprache wählen", "Bitte wählen Sie eine Sprache", "ComboBox1")
Send("{HOME}")
Send("{ENTER}")
WinWait("Winamp Installationsprogramm")
Send("{ENTER}")
WinWait("Winamp Installationsprogramm", "Annehmen")
Send("!a")
WinWait("Winamp Installationsprogramm", "Zielverzeichnis")
Send("{ENTER}")
ControlFocus("Winamp Installationsprogramm", "Komponenten auswählen", "SysTreeView321")
Send("{HOME}")
Send("{DOWN}")
Send("{SPACE}")
Send("{DOWN}")
Send("{RIGHT}")
Send("{DOWN 6}")
Send("{SPACE}")
Send("{ENTER}")
WinWait("Winamp Installationsprogramm", "Eintrag im Startmenü erstellen")
ControlClick("Winamp Installationsprogramm", "Eintrag im Startmenü erstellen", "Button6")
Send("{ENTER}")
WinWait("Winamp Installationsprogramm", "Holen Sie das Beste aus Winamp heraus")
ControlClick("Winamp Installationsprogramm", "Holen Sie das Beste aus Winamp heraus", "Button5")
ControlClick("Winamp Installationsprogramm", "Holen Sie das Beste aus Winamp heraus", "Button6")
ControlClick("Winamp Installationsprogramm", "Holen Sie das Beste aus Winamp heraus", "Button7")
Send("{ENTER}")
WinWait("Winamp Installationsprogramm", "Winamp wurde auf Ihrem Computer installiert.")
Send("{ENTER}")
WinWait("Winamp Installation", "Wählen Sie das passende Design für Ihr Winamp")
ControlClick("Winamp Installation", "Wählen Sie das passende Design für Ihr Winamp", "Button5")
WinWait("Winamp Installation", "Wählen Sie die Dateitypen aus, die Sie mit Winamp verknüpfen möchten.")
ControlClick("Winamp Installation", "Wählen Sie die Dateitypen aus, die Sie mit Winamp verknüpfen möchten.", "Button5")
WinWait("Winamp Installation", "Wählen Sie Winamps Online-Dienste, um Premium Online-Medien zu erleben")
ControlClick("Winamp Installation", "Wählen Sie Winamps Online-Dienste, um Premium Online-Medien zu erleben", "Button4")
WinWait("Winamp Installation", "Geschlecht auswählen")
ControlClick("Winamp Installation", "Geschlecht auswählen", "Button4")
ControlClick("Winamp Installation", "Geschlecht auswählen", "Button6")
WinWait("Medien zur Bibliothek hinzufügen", "Nicht erneut anzeigen")
ControlClick("Medien zur Bibliothek hinzufügen", "Nicht erneut anzeigen", "Button3")
ControlClick("Medien zur Bibliothek hinzufügen", "Nicht erneut anzeigen", "Button4")
ProcessClose("winamp.exe")
ProcessWaitClose("winamp.exe")
Eine Antwort
[…] remember my “Basixx Installer” for automated/unattended install? I’ve just finished a new version. There where some […]