GUI RAR und ZIP SFX Module (Default.SFX und Zip.SFX)
 Mit diesen beiden Modulen können Sie ein selbstentpackendes Archiv mit grafischer Benutzeroberfläche für 32-bit Windowsversionen (Windows 95, 98, NT,  2000 etc.) erstellen. Diese Module können nicht unter Windows 3.1 oder DOS ausgeführt werden.
   Benutzt wird das Modul Default.SFX für RAR-Archive und Zip.SFX für ZIP-Archive.
   Beide Module unterstützen einfache Setup-Befehle. Sie können diese als Archivkommentar zu dem SFX-Archiv hinzufügen. Die Befehle werden unten beschrieben. Für eine detaillierte Beschreibung wählen Sie bitte die entsprechenden Befehle an.

Delete	Löscht eine Datei aus dem Archiv	
License	Zeigt die Programmlizenz an	
Overwrite	Überschreibt ausgewählte Dateien	
Path	Setzt den Standard-Zielpfad	
Presetup	Startet ein festgelegtes Programm vor dem Entpacken	
SavePath	Zielverzeichnis speichern und wiederherstellen	
Setup	Startet ein festgelegtes Programm nach erfolgreichem Entpacken 	
Shortcut	Erstellt eine Verknüpfung zu einer entpackten Datei	
Silent	Unterdrückt den Startdialog	
TempMode	Entpackt Dateien zu temporären Verzeichnis	
Text	Fügt Text zum SFX Ausgabefenster	
Title	Setzt SFX Fenstertitel	

Sehen Sie hier ein einfaches Beispiel für ein komplettes Installationsskript.
Hinweis
Es ist erlaubt, die Windows-Ressourcen der SFX-Module zu bearbeiten und an Ihre Bedürfnisse anzupassen - z.B. um Grafiken in den Startdialog einzufügen. Die SFX-Module sind mit dem Programm UPX komprimiert und können deshalb nicht direkt editiert werden. Für diesen Zweck existieren ungepackte Versionen der SFX-Module im Archiv UnpSFX.rar, welches Sie auf http://www.winrar.de erhalten können.
WinRAR enthält keine Programme oder Hilfen zur Bearbeitung von Ressourcen. Wenn Sie Ressourcen editieren wollen, brauchen Sie einen Ressourceneditor und müssen wissen, wie man mit diesem umgeht. Sie brauchen die Ressourcen jedoch nicht zu ändern, falls die Standarddialoge für Sie ausreichen.

SFX-Befehle: Delete
Delete=<filename>
Löscht die angegebene Datei im Zielverzeichnis, bevor das Archiv entpackt wird. Mehrere Delete - Befehle sind hintereinander erlaubt.
Ist die angegebene Datei gesperrt und kann nicht gelöscht werden, so wird das SFX-Modul versuchen, sie vor dem Entpacken in einen temporären Namen umzubenennen, der nach einem Windows-Neustart gelöscht wird. Der Erfolg dieser Operation hängt von der jeweiligen Windowsversion ab.
Beispiel:
Delete=WinRAR95.exe
Delete=rarlng.dll

SFX-Befehle: License
License=<Titel des Lizenz-Fensters>
{
Lizenz Textanzeige1
Lizenz Textanzeige2
…
}
   Zeigt den eingegebenen Text im Lizenz-Fenster an, wenn SFX ausgeführt wird. Der Benutzer kann den Lizenztext entweder akzeptieren und den Entpackvorgang fortsetzen oder ablehnen und beenden.
   Die Lizenz kann entweder im HTML- oder Text-Format hinterlegt werden. Im letzteren Fall formatiert das SFX-Modul den Text so, dass er optimal in den Lizenz-Dialog paßt. Wenn Sie also einen neuen Absatz beginnen möchten, dann müssen sie vorher eine Leerzeile einfügen.
   Wenn Sie HTML verwenden, können Sie die Schriftart, Farbe und Formatierung Ihres Textes kontrollieren. Eine Beschreibung der HTML-Syntax steht auf der Webseite des World Wide Web Consortium bereit. Es ist auch möglich Webseiten-Editoren zu verwenden, um einen HTM-Text vorzubereiten.
Beispiel:
License=End user license agreement
{
All copyrights to RAR are exclusively owned by the author.

This program is shareware. Anyone may use this software during a test period.
Following this test period, you MUST register.
}

SFX-Befehle: Overwrite
Overwrite=[n]
Wenn 'n’ = 0 ist, erfolgt eine Nachfrage, bevor vorhandene Dateien überschrieben werden Dies ist das normale Vorgehen und braucht nicht extra über das Kommando Overwrite angegeben zu werden. Wenn 'n' fehlt oder gleich '1' ist, werden alle Dateien ohne Nachfrage überschrieben. Wenn ‘n’ 2 ist, werden existierende Dateien nicht überschrieben.
Beispiel:
Overwrite=1

SFX-Befehle: Path
Path=<Pfad>
Setzt das vorgegebene Zielverzeichnis. Absolute Pfade ohne Laufwerksangabe werden ohne Änderung übernommen. Wenn <Pfad> nur einen Namen enthält, dann wird er zu dem Verzeichnis des Ordners "Programme" hinzugefügt. Wenn Sie dieses Verhalten umgehen wollen, starten Sie die Verzeichnisangabe mit ".\".
Beispiele:
a) Setzt den Namen "Calc 3.05beta" im Ordner "Programme" als vorgegebenes Verzeichnis:
Path=Calc 3.05beta
b) Setzt "C:\Calc" als vorgegebenes Verzeichnis:
Path=C:\Calc
c) Setzt "Calc" ohne irgendeinen vorangestellten Text als vorgegebenes Verzeichnis:
Path=.\Calc

SFX-Befehle: Presetup
Presetup=<program>
SFX wird vor dem Entpacken versuchen, <program> auszuführen. Es wird in das Verzeichnis mit den entpackten Dateien gewechselt, bevor <program> ausgeführt wird. Sie können diesen Befehl dazu benutzen, ältere Versionen Ihres Programms zu entfernen, wenn Sie eine neue Version über eine alte installieren. 
Beispiel:
Presetup=uninstall.exe /clean

SFX-Befehle: SavePath
SavePath
Diese Option erlaubt es, das eingegebene Verzeichnis in der Windows-Registrierung zu speichern und es wiederherzustellen, wenn ein SFX-Archiv mit den gleichen Pfad-Einstellungen aufgerufen wird. Das vorgegebene Zielverzeichnis wird in die Auswahl, die mit der Zielverzeichniseingabe verbunden ist, hinzugefügt, so dass Sie zwischen vorher eingegebenen und vorgegebenen Verzeichnissen wählen können. 
Dieses Feature kann nützlich sein, wenn eue Versionen oder Updates einen Programm in das gleiche Verzeichnis installiert werden sollen. In diesem Fall muss ein individuelles Verzeichnis nur bei der ersten Installation ausgewählt werden und das lästige Neuwählen bei jeder Folgeinstallation entfällt.
Sie können diese Einstellung nur verwenden, wenn Sie eine Pfad-Einstellung angegeben haben.
Beispiel:
Path=Calc 3.05
SavePath

SFX-Befehle: Setup
Setup=<program>
Das SFX versucht, <program> nach erfolgreichem Entpacken auszuführen. Es wird in das Verzeichnis mit den entpackten Dateien gewechselt, bevor <program> ausgeführt wird.
Beispiel:
Setup=setup.exe 
Hinweis
1) Wenn Sie Probleme haben, eine InstallShield setup.exe aufzurufen, versuchen Sie die setup.exe mit dem Parameter /SMS aufzurufen.
2) Alle Schalter, die an ein SFX-Modul übergeben werden, werden an das Programm unter Setup=<program> übergeben. Das SFX-Modul selbst kennt nur den Schalter -s, welches es veranlasst, das Archiv im Hintergrund ohne Ausgabe auf dem Bildschirm zu entpacken. 
3) Das SFX-Modul setzt die Umgebungsvariable sfxname, bevor das Setup-Programm ausgeführt wird. Diese Variable enthält den Namen des SFX-Archives, die das Setup-Programm auslesen kann, falls es diese Information benötigt.

SFX-Befehle: Shortcut
Shortcut=<DestType>,<SrcName>,<DestFolder>,<Description>,<ShortcutName>
   Erstellt eine Verknüpfung zu einer entpackten Datei.
   DestType ist ein Parameter der das Ziel der Verknüpfung angibt und folgende Werte haben kann:
D	Erstellt eine Verknüpfung auf dem Desktop	
S	Erstellt eine Verknüpfung im Startmenü	
P	Erstellt eine Verknüpfung unter Startmenü/Programme	
T	Erstellt eine Verknüpfung im Autostart	
   SrcName ist der Name der archivierten Datei. 
   DestFolder ist das Verzeichnis, in dem die Verknüpfung angelegt werden soll. Wenn es nicht existiert, wird es vom SFX-Archiv angelegt. 
   Description ist eine Zeichenkette, die die Verknüpfung beschreibt.
   ShortcutName ist der Name der .lnk (Verknüpfungs) Datei, die erstellt wird.
   Alle Parameter werden durch Kommata getrennt. Wenn Sie ein Komma in einem der Parameter selbst benötigen, schließen Sie den ganzen Parameter in Anführungszeichen ein. Wenn Sie Anführungszeichen einfügen wollen, dann wiederholen Sie die Anführungszeichen zweimal. 
Benötigt werden nur DestType und SrcName, alle anderen Parameter sind optional.
   Beispiel
   Erstellt eine Verknüpfung auf dem Desktop im Verzeichnis WinRAR mit der archivierten Datei winrar.exe mit der Beschreibung "WinRAR Anwendung" und dem Namen "WinRAR Archivierer":
   Shortcut=D, winrar.exe, WinRAR, "WinRAR Anwendung", "WinRAR Archivierer"

SFX-Befehle: Silent
Silent[=Param]
Als Param  kann 1 oder 2 angegeben werden. Bei Param = 1 ist der Startdialog komplett ausgeblendet, einschließlich der Fortschrittsanzeige und der Dateinamen. Bei Param=2 ist nur der Startdialog ausgeblendet, der Benutzer bekommt aber den Entpackvorgang angezeigt. 
Beispiel:
Silent=2

SFX-Befehle: TempMode
TempMode=[Question][@Title]
Wenn dieser Befehl im Kommentar des SFX-Archivs existiert, wird ein temporäres Verzeichnis erstellt und alle Dateien dorthin entpackt. Das Programm unter Setup wird gestartet und alle temporären Dateien gelöscht, sobald Setup beendet wurde. Wenn der Befehl TempMode existiert, sollte das Script den Befehlt Setup enthalten und der Befehl Path sollte nicht existieren.
 Der Befehl TempMode kann optional eine Frage als Parameter enthalten, die als Frage gestellt wird, bevor die Dateien entpackt werden. In diesem Fall wird das Programm nur fortgesetzt, wenn der Benutzer mit "Ja" antwortet. Optional kann mit @Title der Titel der Dialogbox angegeben werden.
Beispiel:
TempMode
oder
TempMode=Do you wish to continue installation of Calculator 3.05? @Calculator setup

SFX Befehle: Text
Dieser Befehl unterstützt zwei Versionen der Syntax
a)
Text=<string>

b)
Text
{
string1
string2
…
}
  Fügt <string> zum Ausgabefenster des SFX-Moduls hinzu. Das erste Textkommando löscht Inhalt des Ausgabefensters, bevor <string> hinzugefügt wird. Die folgenden Befehle fügen <string> zu dem bereits existierenden Text hinzu.
   Abhängig von der benutzten Syntax dieses Befehls können Sie entweder eine einzelne Zeichenkette oder mehrere Zeichenketten auf einmal zufügen.
   Der Text kann entweder im HTML- oder Text-Format hinterlegt werden. Im letzteren Fall formatiert das SFX-Modul den Text so, dass er optimal in den Lizenz-Dialog paßt. Wenn Sie also einen neuen Absatz beginnen möchten, dann müssen Sie vorher eine Leerzeile einfügen.
   Wenn Sie HTML verwenden, können Sie die Schriftart, Farbe und Formatierung Ihres Textes kontrollieren. Eine Beschreibung der HTML-Syntax steht auf der Webseite des World Wide Web Consortium bereit. Es ist auch möglich Webseiten-Editoren zu verwenden, um einen HTM-Text vorzubereiten.

Beispiele:
a) füge eine einzelne Zeichenkette zu Dialogfenster
Text=Dies ist mein erstes Programm

b) füge den vorgegebene Text zum Dialogfenster
Text
{
   Most interesting features of this program are:

- support of the windows clipboard;

- processing of files up to 10KB size each;
}

SFX-Befehle: Title
Title=<title>
Setzt den Titel des SFX-Moduls
Beispiel: 
Title=Calculator, version 3.05

SFX-Befehle: Skript Beispiel
Das unten angezeigte Skript setzt den SFX - Fenstertitel auf "Calculator 3.05", ändert den angezeigten Text im Fenster, setzt den Standard Entpackpfad zu "Programme\Calculator", ermöglicht das Überschreiben schon existierender Dateien und führt das Programm "setup.exe"  nach erfolgreichem Entpacken aus
Title=Calculator 3.05
Text
{
Calculator is shareware. Anyone may use this
software during a test period of 40 days.
Following this test period or less, if you wish
to continue to use Calculator, you MUST register.
}
Path=Calculator
Overwrite=1
Setup=setup.exe