Basixx Installer - Seite 2 von 2 - Tobi's Welt

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")

29. November 2009 von Tobias
Kategorien: Programmierung
Schlagwörter: , , , , ,
1 Kommentar

Gelesen: 13895 · Heute: 6 · Zuletzt: 10. December 2019

1 Kommentar

  1. Pingback: McDope's Thoughts » Basixx Installer 2.0

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Follow

Get every new post delivered to your Inbox

Join other followers: