Smart Software Synchronisation Logo

Dokumentation

Inhaltsverzeichnis

Einführung

Arbeitsweise und Funktionsumfang

Smart Software Synchronisation (im Folgenden SSS genannt) ist ein Programm zum Synchronisieren von Softwareinstallationen für das Betriebsystem Windows, insbesondere für den Einsatz in Windows Netzwerken, wo die Software mehrerer Computer zentral verwaltet werden soll. Hierzu setzt SSS servergespeicherte, textbasierte Konfigurationsdateien ein, deren Aufbau weiter unten erläutert wird.

Das Prinzip nach dem SSS arbeitet ist Folgendes: In einer Konfigurationsdatei werden Softwarepakete definiert und es wird angegeben, durch welche Programmaufrufe diese zu installieren und deinstallieren sind. Diese Softwarepakete werden dann zu Softwaregruppen zusammengefasst. Die Softwaregruppen können ihrerseits den Computern im Netzwerk zugewiesen werden. SSS sorgt dann dafür, dass alle Softwarepakete, die den Computern indirekt über die Softwaregruppen zugewiesen sind, auf den entsprechenden Computern installiert werden.

SSS ist dabei in der Lage, Abhängigkeiten zwischen Softwarepaketen zu berücksichtigen. Wenn Abhängigkeiten zwischen Softwarepaketen in der Konfigurationsdatei angegeben werden, ermittelt SSS automatisch die richtige (De)Installationsreihenfolge für Softwarepakete.

Die Installations- und Deinstallationsvorgänge werden von SSS in Logdateien protokolliert, so dass durch den Administrator eine Kontrolle der Softwaresynchronisierung durchgeführt werden kann.

Im folgenden werden die wichtigsten Features von Smart Software Synchronisation stichpunktartig zusammengefasst:

Betriebsarten

Check-Modus

SSS ausgeführt im Check-Modus
vergrößern
SSS ausgeführt im Check-Modus

SSS kennt zwei Betriebsarten: Der sog. Check-Modus dient der Überprüfung der Konfigurationsdatei sowie zur Vorschau der bei einer Synchronisation durchzuführenden Aktionen. Enthält die Konfigurationsdatei Fehler, so wird in einem Meldungsfenster darauf hingewiesen. Ist die Konfigurationsdatei fehlerfrei, so wird für den per Kommandozeilenparameter angegebenen Computer eine Liste der nach einer erfolgreichen Synchronisation installierten Softwarepakete ausgegeben. Nach der Synchronisation installierte Pakete sind durch ein Häkchen markiert.

Die Kommandozeile für einen Aufruf im Check-Modus lautet: sss.exe –check Konfigurationsdatei Computername Logverzeichnis INI-Verzeichnis. SSS speichert den Installationsstatus der einzelnen Programme in einer INI-Datei. Das INI-Verzeichnis gibt dabei an, wo diese Dateien liegen.

Beispiel:

sss.exe –check sss.txt MARS \\pazifik\log \\pazifik\ini

Run-Modus

Im Run-Modus findet die eigentliche Softwaresynchronisation statt. Es wird anhand der Konfigurationsdatei und der auf den Clients installierten Software ermittelt, welche Software de- bzw. installiert werden muss und die erforderlichen Aktionen durchgeführt.

Die Kommandozeile für einen Aufruf im Run-Modus lautet: sss.exe –run Konfigurationsdatei Computername Logverzeichnis

Beispiel:

sss.exe –run sss.txt %ComputerName% \\pazifik\log \\pazifik\ini

Installation

Installieren Sie SSS entweder lokal durch ausführen des Setup-Programmes, oder erstellen Sie auf einem Ihrer Server eine Freigabe und installieren Sie SSS dort hin. Erstellen Sie dann eine oder mehrere Konfigurationsdateien und kopieren Sie diese in das SSS Installationsverzeichnis (Das Erstellen von Konfigurationsdateien wird weiter unten beschrieben). Es empfiehlt sich, für die Installationspakete der zu verteilenden Anwendungen Unterverzeichnisse innerhalb eben angelegten Freigabe zu erstellen.

Aufruf als Startskript

In Verbindung mit Windows-Netzwerken ist es am einfachsten, SSS als Computer-Startskript auf den Clients auszuführen, um die Softwaresynchronisation durchzuführen (zur Anleitung siehe [1]). Es ist sinnvoll, den Aufruf von SSS aus einer Batchdatei heraus vorzunehmen, mit deren Hilfe ein temporäres Drivemapping eingerichtet wird. Dies ist für Installer nötig, die keine UNC-Pfade akzeptieren.

ACHTUNG: Wenn Sie SSS als Computerstartskript aufrufen, achten Sie darauf, in den Gruppenrichtlinien den Timeout für Computerstartskripte auf einen ausreichenden Wert zu setzen!

ACHTUNG 2: Startskripte werden als Benutzer LocalSystem ausgeführt. Dieser hat standardmäßig auf dem lokalen System Administratorrechte. Es kann aber jedoch vorkommen, dass dieser Benutzer keinen Zugriff auf das Netzwerk, und somit nicht auf die Freigabe mit den Installationspaketen hat. Sie gehen am besten folgendermaßen vor:

Branding

Wenn gewünscht, kann durch Editieren der Datei sss.ini ein Branding vorgenommen werden, indem der Pfad zu einer Bitmap-Datei sowie die drei Zeilen der Überschrift angegeben werden. Die Höhe der Bitmapdatei sollte 48 Pixel nicht überschreiten. Die Breite des Bitmaps kann in Abhängigkeit zur Länge der Überschriften beliebig gewählt werden. Im Screenshot weiter oben ist z.B. ein Branding für das Institut für Wasserbau und Wasserwirtschaft der RWTH Aachen eingerichtet.

Tutorial

Dieses Tutorial führt Sie in die Erstellung von Konfigurationsdateien für SSS ein. Es wird hier nicht im Detail auf alle Möglichkeiten eingegangen. Für eine vollständige Beschreibung aller Syntaxelemente ziehen Sie bitte die Syntaxreferenz weiter unten zu Rate.

Minimale Konfigurationsdatei

Im Folgenden ist eine minimale Konfigurationsdatei für SSS aufgeführt. Jede Konfigurationsdatei für SSS enthält

Über die Softwareabschnitte werden die zu verteilenden Softwarepakete inklusive Installations- und Deinstallationskommando definiert. Über die Softwaregruppen werden dann ein oder mehrere Softwarepakete zu Gruppen zusammengefasst. Schließlich werden im Configuration Abschnitt den Computern ein oder mehrere Softwarepakete zugewiesen. SSS sorgt dafür, dass auf den Computern immer denau diejenige Software installiert ist, die den Computern durch die Angabe von Softwaregruppen zugewiesen ist.

Das folgende Beispiel definiert die Software Firefox 1.0.6 sowie die Softwaregruppe Internet. Dem Computer mit dem Hostname MARS wird die Softwaregruppe Internet zugewiesen. Wird SSS auf dem Computer MARS mit dem Kommandozeilenargument -run gestartet, so wird Mozilla Firefox 1.0.6 installiert, sofern dies nicht schon durch einen früheren Aufruf von SSS geschehen ist. Was schon installiert worden ist, und was nicht, merkt sich SSS über INI-Dateien.

# Kommentar bis zum Zeilenende

Configuration
{
   Computer "MARS" Sync With "Internet"
}

SoftwareGroup "Internet"
{
   Use "Firefox 1.0.6"
}

Software "Firefox 1.0.6"
{
   Install `\\pazifik\sss\firefox_1.0.6\setup.exe –ms –ira`
   Uninstall `%SystemRoot%\UninstallFirefox.exe –ms –ira`
}

Inhalt der INI-Dateien

Beim Durchführen der Synchronisation legt SSS in einer Ini-Datei den Installationsstatus der einzelnen Softwarepakete ab. Nachfolgend ein Beispiel für eine solche INI-Datei:

[Status]
Mozilla Firefox 1.0.6=1

[SSS]
Status=1
Synchronised=1

Unter dem Abschnitt Status wird für jedes definierte Softwarepaket gespeichert, ob es installiert ist oder nicht. Dabei steht

Im Abschnitt SSS ist Status

Unter Synchronised wird gespeichert, ob die Synchronisation vollständig ist (=1), oder ob die Synchronisation unvollständig ist bzw. ob (De)Installationsfehler aufgetreten sind (=0).

Wildcards in Computernamen

Unterstützt ab Version 0.9.8! Für Computernamen können Wildcards verwendet werden, um mehreren Computern in einer Zeile die gleiche Softwarekonfiguration zuzuweisen. Das * steht dabei für eine beliebige Zeichenfolge (auch die leere Zeichenfolge), das ? für ein beliebiges Zeichen. Das folgende Beispiel weist dem Computer MARS die Softwaregruppe Internet zu. Allen anderen Computern wird die Gruppe Basis zugewiesen:

Configuration
{
   Computer "MARS" Sync With "Internet"
   Computer "*" Sync With "Basis"
}

Bei der Benutzung von Wildcards ist auf die Reihenfolge der Definitionen zu achten. Folgendes Beispiel führt NICHT zum gewünschten Resultat!!!:

Configuration
{
   Computer "*" Sync With "Basis"
   Computer "WB??" Sync With "Internet"
}

In diesem Beispiel wird z.B. dem Computer WB11 die Softwaregruppe Basis anstatt Internet zugewiesen.

Deinstallation von Software

Folgendes Beispiel zeigt, wie es möglich ist Software zu deinstallieren. Es wird die Software Thunderbird 1.0.6 definiert. Diese wird allerdings keiner Softwaregruppe zugewiesen und folglich auch nicht dem Computer MARS. Daher wird Thunderbird, falls es auf MARS installiert ist, beim nächsten Synchronisationsvorgang deinstalliert.

Configuration
{
   Computer "MARS" Sync With "Internet"
}

SoftwareGroup "Internet"
{
   Use "Firefox 1.0.6"
   # Use "Thunderbird 1.0.6"
}

Software "Firefox 1.0.6"
{
   Install `\\pazifik\sss\firefox_1.0.6\setup.exe –ms –ira`
   Uninstall `%SystemRoot%\UninstallFirefox.exe –ms –ira`
}

Software "Thunderbird 1.0.6"
{
   Install `\\pazifik\sss\Thunderbird_1.0.6\setup.exe –ms –ira`
   Uninstall `%SystemRoot%\UninstallThunderbird.exe –ms –ira`
}

Reinstallieren von Software

Wird ein INI-Datei Eintrag für eine Software manuell auf den Wert 2 gesetzt, so wird die jeweilige Software bei der nächsten Synchronisation reinstalliert.

Softwareupdates

In diesem Beispiel wird Mozilla Firefox 1.0.6 durch die Version 1.0.7 ersetzt. Erkennt SSS, dass auf einem Computer noch die Version 1.0.6 installiert ist, so wird diese deinstalliert und durch die neue Version ersetzt. Zum Durchführen des Updates ist das Replace Schlüsselwort nicht unbedingt erforderlich. Replace führt lediglich dazu, dass ein Fehler angezeigt wird, wenn eine zu ersetzende Software per Use einer Softwaregruppe zugewiesen wird. Dies ist manchmal hilfreich beim Aktualisieren der Konfigurationsdatei.

Configuration
{
   Computer "MARS" Sync With "Internet"
   Computer "MERKUR" Sync With "Internet"
   Computer "VENUS" Sync With "Internet"
}

SoftwareGroup "Internet"
{
   Use "Firefox 1.0.7"
}

Software "Firefox 1.0.7"
{
   Replace "Firefox 1.0.6"

   Install `\\pazifik\sss\firefox_1.0.7\setup.exe –ms –ira`
   Uninstall `%SystemRoot%\UninstallFirefox.exe –ms –ira`
}

Software "Firefox 1.0.6"
{
   Install `\\pazifik\sss\firefox_1.0.6\setup.exe –ms –ira`
   Uninstall `%SystemRoot%\UninstallFirefox.exe –ms –ira`
}

Abhängigkeiten

Manchmal besteht eine Abhängigkeit zwischen Softwarepaketen. Die Syntax von SSS stellt das Schlüsselwort Require zur Verfügung, über das Abhängigkeiten definiert werden können. Es stellt sicher, dass die Software, welche durch dieses Schlüsselwort angegeben ist, ebenfalls installiert wird, wenn ein zur Installation vorgemerktes Softwarepaket durch die Angabe des Require Schlüsselwortes dies verlangt. Beispiel: „.NET SDK 2.0“ wird installiert, obwohl es nicht per Use einer Softwaregruppe zugewiesen wurde, da „Visual Studio 2005“ per Use eingebunden ist und von „.NET SDK 2.0“ abhängt. First gibt an, dass zusätzlich die Installationsreihenfolge zu beachten ist. First ".Net SDK 2.0" stellt sicher, dass ".NET SDK 2.0" auf jedenfall vor "Visual Studio 2005" installiert wird (Ist nur Visual Studio 2005 installiert, so wird es deinstalliert und dann das .NET SDK sowie Visual Studio in der richtigen Reihenfolge installiert.)

Configuration
{
   Computer "MARS" Sync With "Programmierung"
}

SoftwareGroup "Programmierung"
{
   Use "Visual Studio 2005"
}

Software "Visual Studio 2005"
{
   Require ".NET SDK 2.0"
   First ".NET SDK 2.0"

   Install `...`
   Uninstall `...`
}

Software ".NET SDK 2.0"
{
   Install `...`
   Uninstall `...`
}

Prioritäten

Eine weitere Möglichkeit die Installationsreihenfolge von Softwarepaketen zu beeinflussen bietet die Angabe von Prioritäten mit Hilfe des Schlüsselwortes Priority. Standardmäßig haben alle Softwarepakete eine Priorität von 1. Durch Priority kann eine Priorität zwischen 1 und 9 gewählt werden. Die Vorgehensweise ist folgendermaßen: Pakete höherer Priorität werden vor Paketen niedriger Priorität installiert. Pakete niedriger Priorität werden vor Paketen höherer Priorität deinstalliert. Beachte: Eine Software mit Priorität x kann nicht von einer Software mit Priorität <x durch die Angabe von Require abhängen!

Configuration
{
   Computer "MARS" Sync With "Alles"
}

SoftwareGroup "Alles"
{
   Use "TUGZip 3.4"

   # Wichtige Systemupdates
   Use "Win2000 SP4 Rollup"
}

Software "TUGZip 3.4"
{
   Install `...`
   Uninstall `...`
}

Software "Win2000 SP4 Rollup"
{
   Priority 9

   Install `...`
   Uninstall `...`
}

Erweiterung von Softwaregruppen

Mittels des Schlüsselwortes Extend können Softwaregruppen erweitert oder mehrere Softwaregruppen zu Einer zusammengefaßt werden.

Configuration
{
   Computer "MARS" Sync With "Workstation"
}

SoftwareGroup "Workstation"
{
   Extend "Grafik"
   Extend "Office"
}
  
SoftwareGroup "Grafik"
{
   Use "Adobe Photoshop CS2"
}

SoftwareGroup "Office"
{
   Use "Microsoft Office 2003"
}

Software "Adobe Photoshop CS2"
{
   Install `...`
   Uninstall `...`
}

Software "Microsoft Office 2003"
{
   Install `...`
   Uninstall `...`
}

Variablen

Sie können im Configuration-Abschnitt Variablen definieren, die Strings oder Kommandos enthalten können:

Configuration
{
   Set $ROOT = `\\Server\SSS\Repository`
   Set $FIREFOX_DIR = `$ROOT\firefox`  # Variableninterpolation im Kommando

   Computer "MARS" Sync With "Internet"
}

SoftwareGroup "Internet"
{
   Use "Firefox 1.0.6"
}

Software "Firefox 1.0.6"
{
   Install `$FIREFOX_DIR\setup.exe –ms –ira` # Variableninterpolation
   Uninstall `%SystemRoot%\UninstallFirefox.exe –ms –ira`
}

Installationsstatus anhand von Registryeinträgen und Dateien erkennen

Über die Schlüsselwörter ExistanceRegKey oder ExistanceFile in einem SoftwareßAbschnitt kann optional für einzelne Softwarepaketefestgelegt werden, dass der Installationsstatus eines Programmes nicht der INI-Datei entnommen wird, sondern anhand eines existierenden Registryschlüssels oder einer existierenden Datei ermittelt wird:

Software "Mozilla Firefox"
{
   ExistanceFile `%ProgramFiles%\Mozilla Firefox\Firefox.exe`
   ...
}

Syntaxreferenz

Diese Syntaxreferenz beschreibt alle Syntaxelemente der SSS Version 0.9.8 Konfigurationsdateien. Fett gedruckte Teile entsprechen dabei Schlüsselwörtern, welche genau so wie unten aufgeführt geschrieben werden müssen. Kursiv geschriebene Ausdrücke sind vom Benutzer frei wählbar. Teile in Eckigen [ ] Klammern sind können null oder einmal vorkommen, Teile welche in ( )* eingeschlossen sind beliebig oft.

Format

Aufbau

SSS Konfigurationsdateien sind in drei Abschnitte gegliedert:

  1. Genau eine Configuration-Sektion
  2. Beliebig viele SoftwareGroup-Sektionen
  3. Beliebig viele Software-Sektionen

Formatierung

Leerzeichen wie Space, Tabulator und Newline werden ignoriert.

Groß- und Kleinschreibung

Groß- und Kleinschreibung wird beachtet.

Kommentare

Kommentare werden mit einem Rautezeichen # eingeleitet und erstrecken sich bis zum Zeilenende.

Namen

Namen für Computer, Software sowie Softwaregruppen werden in Strings angegeben, das heißt in " " Zeichen eingeschlossen. Beispiel: "Mozilla Firefox 1.0.7"

Pfade, Dateinamen und Kommandos

Programmaufrufe bzw. Pfad- und Dateinamen werden in Kommandos angegeben, das heißt in ` ` Zeichen eingeschlossen. Es wird Umgebungsvariablensubstitution durchgeführt. Beispiel: `%SystemRoot%\uninstall.exe` würde je nach System z.B. durch `c:\windows\uninstall.exe` substituiert.

Configuration-Abschnitt

Die Configuration Sektion darf genau ein Mal in der Konfigurationsdatei vorkommen. Der Grundsätzliche Aufbau der der Sektion sieht folgendermaßen aus:

Configuration { Parameter }

Zulässige Parameter sind:

RegKey "Unterschlüssel" Gibt den Unterschlüssel der Registry an, in dem erfolgreiche (De)Installationsvorgänge gespeichert werden. Standard ist SOFTWARE\SSS. Als Registryschlüssel dient immer HKEY_LOCAL_MACHINE.
IniPath `Absoluter Pfad` Ab Version 0.9.4: Gibt das Verzeichnis an, in dem die INI-Dateien für den Installationsstati der Softwarepakete gespeichert werden. Die Dateien für die einzelnen Computer heißen SSS_%ComputerName%.ini.
HideClientWindows Versteckt Fenster von (De)Installationsprogrammen.
MinimizeToTray Ab Version 0.9.4: Versteckt SSS im System-Tray.
Computer "Name" Sync With "Softwaregruppe" ( , "Softwaregruppe" )* Gibt an, dass der Computer mit Netzwerknamen Name mit den angegebenen Softwaregruppen synchronisiert werden soll. Das heißt, nach erfolgreicher Synchronisation ist auf dem Computer Name genau die Software installiert, welche durch die Softwaregruppen angegeben ist.
Set $Variablenname = "String" oder `Kommando` Ab Version 0.9.4: Definiert eine Variable und weist ihr einen String oder ein Kommando zu. Variablennamen dürfen aus Buchstaben, Ziffern und dem Zeichen _ bestehen.
RedirectOutputPath `Absoluter Pfad` Ab Version 0.9.8: Gibt das Verzeichnis an, welches für die Ausgabeumlenkung (Stdout und Stderr) verwendet wird.
RedirectStdOut 0 oder 1 Ab Version 0.9.8: Gibt an, ob die Standardausgabe der (De)Installationskommandos umgelegt werden soll. Kann auch in den Software-Sektionen einzeln für jede Software definiert werden.
RedirectStdErr 0 oder 1 Ab Version 0.9.8: Gibt an, ob StdErr der (De)Installationskommandos umgelegt werden soll. Kann auch in den Software-Sektionen einzeln für jede Software definiert werden.
RedirectOutput 0 oder 1 Ab Version 0.9.8: Faßt RedirectStdOut und RedirectStdErr zusammen.

SoftwareGroup-Abschnitt

Die SoftwareGroup-Sektion darf mehrmals in der Konfigurationsdatei vorkommen (für jede zu definierende Softwaregruppe ein mal). Der grundsätzliche Aufbau der SoftwareGroup-Sektion sieht folgendermaßen aus:

SoftwareGroup "Softwaregruppenname" { Parameter }

Die zugelassenen Parameter sind:

Use "Software" ( , "Software" )* VORKOMMEN: NULL, EIN ODER MEHRMALS

Faßt die angegebenen Einträge Software zur Softwaregruppe mit Namen Softwaregruppenname zusammen. Wird die Softwaregruppe in der Configuration-Sektion einem Computer zugewiesen. So werden alle hier angegebenen Softwarepakete zur Installation vorgemerkt.

Extend "Softwaregruppe" ( , "Softwaregruppe" )* VORKOMMEN: NULL, EIN ODER MEHRMALS

Faßt die angegebenen Softwaregruppen zur Softwaregruppe Softwaregruppenname zusammen. Weiterhin können mit Use zusätzliche Softwarepakete angegeben werden.

Software-Abschnitt

Die Software-Sektion darf mehrmals in der Konfigurationsdatei vorkommen (für jede zu definierende Software ein mal). Der grundsätzliche Aufbau der Softwaresektion sieht folgendermaßen aus:

Software "Softwarename" { Parameter }

Die zugelassenen Parameter sind:

Installation und Deinstallation

Install `Installationsprogramm` VORKOMMEN: GENAU EIN MAL PRO SEKTION

Gibt den Pfad zur ausführbaren Datei des Installationsprogrammes an (inklusive Parameter). Nach erfolgreicher Installation wird in der INI-Datei, welche die Installationsstati enthält (siehe Schlüsselwort IniPath), oder unter HKEY_LOCAL_MACHINE\SOFTWARE\SSS oder im Unterschlüssel, der mittels RegKey in der Configuration Sektion angegeben ist, ein Wert mit Softwarename gleich 1 gesetzt.

Wird ein leeres Installationskommando (``) angegeben, so wird immer von einer erfolgreichen Installation ausgegangen.

Uninstall `Deinstallationsprogramm` VORKOMMEN: GENAU EIN MAL PRO SEKTION

Gibt den Pfad zur ausführbaren Datei des Deinstallationsprogrammes an (inklusive Parameter). Nach erfolgreicher Installation wird in der INI-Datei, welche die Installationsstati enthält (siehe Schlüsselwort IniPath), oder unter HKEY_LOCAL_MACHINE\SOFTWARE\SSS oder im Unterschlüssel, der mittels RegKey in der Configuration Sektion angegeben ist, ein Wert mit Softwarename gleich 0 gesetzt.

Wird ein leeres Deinstallationskommando (``) angegeben, so wird immer von einer erfolgreichen Denstallation ausgegangen.

InstallRetCode Rückgabewert, (Rückgabewert)* VORKOMMEN: NULL ODER EIN MAL

Ab Version 0.9.8: Gibt an, bei welchen Rückgabewerten des Installationskommandos die Installation als Erfolg gewertet wird. Wenn kein Rückgabewert per InstallRetCode angegeben wird, wird die Installation nur bei einem Rückgabewert von 0 als erfolgreich angesehen.

UninstallRetCode Rückgabewert, (Rückgabewert)* VORKOMMEN: NULL ODER EIN MAL

Ab Version 0.9.8: Gibt an, bei welchen Rückgabewerten des Deinstallationskommandos die Deinstallation als Erfolg gewertet wird. Wenn kein Rückgabewert per UninstallRetCode angegeben wird, wird die Deinstallation nur bei einem Rückgabewert von 0 als erfolgreich angesehen.

IgnoreInstallRetCode VORKOMMEN: NULL ODER EIN MAL

Ignoriert den Rückgabewert des Installationskommandos und geht immer von einer erfolgreichen Installation aus. Anderenfalls wird als Rückgabewert 0 verlangt, oder ein per InstallRetCode angegebener.

IgnoreUninstallRetCode VORKOMMEN: NULL ODER EIN MAL

Ignoriert den Rückgabewert des Deinstallationskommandos und geht immer von einer erfolgreichen Deinstallation aus. Anderenfalls wird als Rückgabewert 0 verlangt, oder ein per UninstallRetCode angegebener.

RebootAfterInstall oder RebootAfterInstall Rückgabewert, (Rückgabewert)* VORKOMMEN: NULL ODER EIN MAL

Geändert mit Version 0.9.8: Startet nach einer Installation neu unter folgenden Bedingungen: Wenn kein Rückgabewert angeben ist, wird nur bei einem Rückgabewert von 0 neugestartet. Ansonsten wird neugestartet, wenn der Rückgabewert des Installers einem der angegebenen entspricht. Weiterhin wird nur neugestartet, wenn die Installation erfolgreich war (siehe Schlüsselwörter InstallRetCode und IgnoreInstallRetCode).

RebootAfterUninstall oder RebootAfterUninstall Rückgabewert, (Rückgabewert)* VORKOMMEN: NULL ODER EIN MAL

Geändert mit Version 0.9.8: Startet nach einer Deinstallation neu unter folgenden Bedingungen: Wenn kein Rückgabewert angeben ist, wird nur bei einem Rückgabewert von 0 neugestartet. Ansonsten wird neugestartet, wenn der Rückgabewert des Deinstallers einem der angegebenen entspricht. Weiterhin wird nur neugestartet, wenn die Deinstallation erfolgreich war (siehe Schlüsselwörter UninstallRetCode und IgnoreUninstallRetCode).

WaitAfterInstall Sekunden VORKOMMEN: NULL ODER EIN MAL

Ab Version 0.9.4: Wartet nach Installation die angegebenen Sekunden.

WaitAfterUninstall Sekunden VORKOMMEN: NULL ODER EIN MAL

Ab Version 0.9.4: Wartet nach Deinstallation die angegebenen Sekunden.

RedirectStdOut 0 oder 1 Ab Version 0.9.8: Gibt an, ob die Standardausgabe des (De)Installationskommandos umgelegt werden soll.
RedirectStdErr 0 oder 1 Ab Version 0.9.8: Gibt an, ob StdErr des (De)Installationskommandos umgelegt werden soll.
RedirectOutput 0 oder 1 Ab Version 0.9.8: Faßt RedirectStdOut und RedirectStdErr zusammen.

Prioritäten und Abhängigkeiten

Priority Ganzzahl VORKOMMEN: NULL ODER EIN MAL

Gibt die (De)Installationspriorität der Software an (zwischen 1 und 9). Standardmäßig ist die Priorität 1. Bei einer Installation werden erst die Softwarepakete mit höherer Priorität installiert. Bei einer Deinstallation werden erst die Softwarepakete mit niedriger Priorität deinstalliert.

Require `Benötigte Software` ( , `Benötigte Software` )* VORKOMMEN: NULL, EIN ODER MEHRMALS

Gibt an, dass die Software Benötigte Software von Softwarename benötigt wird. Benötigte Software wird somit ebenfalls installiert, falls Softwarename zur Installation vorgesehen ist oder bereits installiert ist.

First `Software-Zuerst` ( , `Software-Zuerst` )* VORKOMMEN: NULL, EIN ODER MEHRMALS

Stellt sicher, dass die Software Software-Zuerst vor Softwarename installiert wird, wenn Software zuerst installiert werden soll. Auch sinnvoll in Verbindung mit dem Schlüsselwort Require.

Replace `Veraltete-Software` ( , `Veraltete-Software` )* VORKOMMEN: NULL, EIN ODER MEHRMALS

Gibt an, dass Softwarename die Software Veraltete-Software ersetzt.

Überprüfung des Installationsstatus

ExistanceRegKey Schlüssel ( Or oder And Schlüssel )*

Mit Schlüssel = [ RegistryRoot ] "Unterschlüssel" [, "Wert" [ = Zahl oder "Zeichenkette" ]]

Mit RegistryRoot = HKEY_LOCAL_MACHINE oder HKEY_CLASSES_ROOT oder HKEY_LOCAL_CONFIG oder HKEY_CURRENT_USER oder HKEY_USERS

VORKOMMEN: NULL ODER EIN MAL

Wenn ein Registry-Unterschlüssel bzw. Registry-Unterschlüssel und Wert angegeben wird, dann wird anhand dieser überprüft, ob die zugehörige Software bereits installiert ist. Ansonsten geschieht dies über die INI-Datei mit den Installationsstati der Pakete (siehe Schlüsselwort IniPath) oder HKEY_LOCAL_MACHINE\SOFTWARE\SSS oder den in der Configuration-Sektion per RegKey angegebenen Unterschlüssel.

Beispiele:

ExistanceRegKey "Software\Mozilla Firefox"

ExistanceRegKey HKEY_CURRENT_USER "Software\Mozilla Firefox"

ExistanceRegKey HKEY_CURRENT_USER "Software\Mozilla Firefox", "VersionMajor"

ExistanceRegKey HKEY_CURRENT_USER "Software\Mozilla Firefox", "VersionMajor" = 1

ExistanceRegKey "Software\Mozilla Firefox", "VersionMajor" = 1 And "Software\Mozilla Firefox", "VersionMinor" = 5

ExistanceFile `Dateiname` ( Or oder And `Dateiname` )* VORKOMMEN: NULL ODER EIN MAL

Der Installationsstatus der Software wird anhand des Vorhandenseins der angegebenen Datei(en) festgestellt. Per Or und/oder And kann angegeben werden, ob alle Dateien oder nur einzelne existieren müssen.

Von "http://www.smart-software-synchronisation.de/index.php/Dokumentation"

Diese Seite wurde bisher 24954 mal abgerufen. Diese Seite wurde zuletzt geändert um 08:39, 8. Sep 2009.