| |
install.xml - Die Paket-Beschreibung
Jedes Installator Paket besteht aus einer install.xml Datei zur Paket-Beschreibung und ggF. weiteren Dateien (z.B. ZIP-Archive oder MSI Installationen).
Mit den Tools EasyConfig oder InstMaker lassen sich solche Installator Pakete einfach erzeugen.
Spätestens beim personalisierten Backup will man jedoch selber Hand anlegen.
Dazu kann die install.xml mit jedem Text Editor bearbeitet werden (z.B. Notepad).
Die erste Zeile muss (wie bei XML üblich) die XML-Deklaration enthalten.
Eine install.xml kann durchaus mehrere INSTALLATION TAGs enthalten :
<?xml version="1.0" encoding="UTF-8"?>
<INSTALLATION APPLICATION="Programm1" REVISION="1.0" GROUP="Tools" INFO="ein Programm" NEEDINST="1.6.775">
...
<INSTALLATION/>
<INSTALLATION APPLICATION="Programm2" REVISION="1.0" GROUP="Network" INFO="noch ein Programm" NEEDINST="1.6.775">
...
<INSTALLATION/>
| ATTRIBUT | Bedeutung |
| APPLICATION | Name des Paketes |
| REVISION | Versionsnummer des Programms |
| GROUP | Kategorie (dannach wird die Baumansicht sortiert) |
| INFO | Kurze Beschreibung des Paketes |
| NEEDINST | Versionsnummer des Installators, mit dem DIESES Paket auf jeden Fall läuft |
=================================================
Abhängigkeiten
| TAG | DEPENDS |
| Funktion | Jedes Paket kann Abhängigkeiten zu anderen Paketen haben. Referenziert werden Pakete über ihren Namen. |
| Kardinalität | 0-N |
| Variablen | Nein |
| Syntax | Beispiel: |
<DEPENDS APP="Java" REV="1.4" />
| ATTRIBUT | Bedeutung |
| APP | Name eines anderen Paketes |
| REV | Revisionsnummer (nur für Warnungen) |
=================================================
Betriebssystem-Tauglichkeit
| TAG | OSPROOVED |
| Funktion | Kann als Indikator (Ampel) dienen, ob das Paket getestet wurde (Grün:läuft, Gelb:nicht getestet, Rot:läuft nicht) |
| Kardinalität | 0-N |
| Variablen | Nein |
| Syntax | Beispiel: |
<OSPROOVED OS="Microsoft Windows XP" PROOF="Yes"/>
| ATTRIBUT | Bedeutung |
| OS | Name des Betriebssystems (s. $osversion$ in Variablen) |
| PROOF | YES, NO oder gar nichts für 'ungetestet' (Standard) |
=================================================
Entpacken von Archiven
| TAG | EXTRACT |
| Funktion | Zip Archive entpacken |
| Kardinalität | 0-N |
| Variablen | Ja |
| Syntax | Beispiel: |
<EXTRACT FILE="Putty.zip" DEST="$programfiles$\PuTTY"/>
| ATTRIBUT | Bedeutung |
| FILE | Zip-Datei Name (im selben Ordner wie diese install.xml) |
| DEST | Ziel Ordner |
=================================================
Ausführen
| TAG | EXECUTE |
| Funktion | Ein Programm ausführen |
| Kardinalität | 0-N |
| Variablen | Nein |
| Syntax | Beispiel: |
<EXECUTE CMD="Setup.exe" CMDARGS="-s" WAIT="120"/>
| ATTRIBUT | Bedeutung |
| CMD | Das auszuführende Programm (z.B. Setup.exe, Install.msi) |
| CMDARGS | Argumente (z.B. Silent Switches /Q oder -s) |
| WAIT | Timeout in Sekunden wie lange der Installator auf das Programm max. wartet bevor er zum nächsten Paket springt. |
=================================================
Verknüpfung erstellen
| TAG | SHORTCUT |
| Funktion | Verknüpfung erstellen |
| Kardinalität | 0-N |
| Variablen | Ja |
| Syntax | Beispiel: |
<SHORTCUT
SRC="$programfiles$\PuTTY\Putty.exe"
WDIR="$programfiles$\PuTTY"
LINK="$startmenu$\$group$\Putty starten"
ARGS=""
ICONFILE=""
ICON=""
SHOWMODE=""
HOTKEY="strg+p"
/>
| ATTRIBUT | Bedeutung |
| SRC | Datei auf die verwiesen wird |
| WDIR | Arbeitsverzeichnis |
| LINK | Pfad und Name der Verknüpfung |
| ARGS | Optional: Programm-Argumente |
| ICONFILE | Optional: alternative Datei mit Icons |
| ICON | Icon Nummer (Standard = 0) |
| SHOWMODE | Standard = 0 (normal), 1 (minimiert), 2 (maximiert) |
| HOTKEY | Schnellzugriffs-Tasten-Kombination |
=================================================
Registrierungs-Schlüssel setzen
| TAG | REGDB |
| Funktion | Registrierungs Zweig (Subkey) setzen. In diesen Block kommen dann die einzelnen Schlüssel |
| Kardinalität | 0-N |
| Variablen | Ja |
| Syntax | Beispiel: |
<REGDB HKEY="HKEY_CURRENT_USER" SUBKEY="Software\Firma\Settings">
...
</REGDB>
| ATTRIBUT | Bedeutung |
| HKEY | Haupt Zweig (z.B. HKEY_LOCAL_MACHINE) |
| SUBKEY | Pfad des Registrierungs-Zweiges. (NICHT Schlüssel) |
===========================
| TAG | RDATA |
| Funktion | Registrierungs Schlüssel setzen. (Muss in einem REGDB Block stehen!) |
| Kardinalität | 0-N |
| Variablen | Ja |
| Syntax | Beispiel: |
<RDATA TYPE="STRING" NAME="@" VALUE="$programfiles$\MIKTEX\MIKTEX\BIN\YAP.EXE "%1""/>
<RDATA TYPE="DWORD" NAME="Compression" VALUE="1b181dde"/>
<RDATA TYPE="HEX" NAME="Settings" VALUE="9a,01,00,00,13,00,00,00,7c,00,00,00,60,
03,00,00,61,02,00,00,23,00,00,00,5a,00,00,00,5a,00,00,00,82,00,00,00,c8,00,00,00,
20,53,61,6e,73,20,53,65,72,69,66,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,ff,ff,ff,00,ff,00,00,00"/>
| ATTRIBUT | Bedeutung |
| TYPE | Art des Schlüssels (STRING, DWORD oder HEX) |
| NAME | Name des Schlüssels (Ein '@' setzt den Standard Schlüssel) |
| VALUE | Wert (bei HEX alle 8bit ein Komma) |
=================================================
Backup
| TAG | BACKUP |
| Funktion | Backup Block. Die zu sichernden Settings stehen darin |
| Kardinalität | 0-1 |
| Syntax | Beispiel: |
<BACKUP>
...
</BACKUP>
===========================
| TAG | SAVE |
| Funktion | Sichern von Dateien, Verzeichnissen oder Registrierschlüsseln |
| Kardinalität | 1-N |
| Variablen | Ja |
| Syntax | Beispiel: |
<SAVE FILE="$programfiles$\application\*.ini"/>
<SAVE FOLDER="$windowsdir$\SendTo"/>
<SAVE HKEY="HKEY_CURRENT_USER" SUBKEY="Software\Tool\Settings" NAME="importantOption"/>
<SAVE HKEY="HKEY_CURRENT_USER" SUBKEY="Software\DeepHistoryTree\firstNode" NAME="*"/>
<SAVE HKEY="HKEY_CURRENT_USER" SUBKEY="Software\Office\AllSettings" NAME=""/>
| ATTRIBUT | Bedeutung |
| FILE | zu sicherne Datei. Masken sind erlaubt (z.B. *.ini) |
| (oder) | |
| FOLDER | zu sicherndes Verzeichnis |
| (oder) | |
| HKEY | zu sichernder Registrierschlüssel (Haupt-Key) |
| SUBKEY | zu sichernder Registrierschlüssel (Sub-Key) |
| NAME | zu sichernder Registrierschlüssel-Name ( oder '*' für alle auf Ebene dieses Subkeys, ODER leer ' ' für den gesammten Subkey mit allen Unter-Schlüsseln ! ) |
=================================================
Erklärungen: Wie oft ein TAG vorkommen darf bezeichne ich als Kardinalität (z.B. 0 bis N = beliebig), also quasi die Anzahl.
Kardinalitäten mit 0 (Null) dürfen weggelassen werden, ebenso Attribute, die als Optional gekennzeichnet sind.
Wenn ein Standard-Wert angegeben ist, darf das Attribut ebenfalls weggelassen oder leergelassen werden.
In XML dürfen Zeilenumbrüche an beliebiger Stelle gemacht werden.
Sonderzeichen sollten escaped werden: z.B.
" entspricht einem doppelten Anführungszeichen (")
| |