7-Zip – Angepasste und optisch ansprechende SFX Archive erstellen

Der Vorteil, große und viele Daten in einem Archiv komprimiert abzuspeichern, liegt auf der Hand. Gerade im Internet möchte man keine Stunden opfern und jede Datei einer Software (oder ein ganzes Bilderalbum) einzeln und mit voller Dateigröße herunterzuladen.
Deswegen gibt es verschiedene Programme wie zum Beispiel 7-Zip oder WinRAR, die es dem Nutzer ermöglichen, ihre ganzen Daten in eine Datei zu packen. Diese Datei benötigt oftmals nur einen Bruchteil des Speicherplatzes, kann aber auch nur mit einem entsprechenden Programm wieder entpackt werden.
Das heißt, jeder, der so ein Programm nicht besitzt, kann mit einer „archiv.rar“ oder „programm.7z“ nichts anfangen.

Hier kommem SFX-Archive, also selbstentpackende Archive, ins Spiel. Diese liefern den Entpacker quasi mit. Die Ausgabedatei wird dadurch eine normale Anwendung, die ohne Zusatzprogramme gestartet werden kann.

Wählt man bei 7-Zip die entsprechende Option, sieht das Ergebnis in etwa so aus:
Normales 7-Zip SFX-Archiv

Dieses Archiv erfüllt seinen Zweck, sieht aber nicht gerade schön aus und das Dateiicon wirkt auch etwas altbacken. In diesem Artikel möchte ich dir zeigen, wie du die Optik dieses Fensters nach deinen Wünschen anpassen kannst.

Also, was benötigst du?

Die Datei „7z.sfx“
Diese Datei befindet sich in deinem 7-Zip Programmordner (normalerweise C:\Programme\7-Zip)
In ihr befnden sich das Archivicon und auch alle Dialoge und Sprachfetzen. Wer also das Archiv komplett auf Deutsch übersetzen will, kann das gerne tun :)

Resource Hacker
Das ist unser Editor mit dem du die oben genannte Datei bearbeiten kannst. Wenn man das Programm ersteinmal begriffen hat, ist es sehr leicht damit umzugehen.
Für diese Anleitung habe ich die inoffizielle deutsche Version genommen. Die Homepage des Entwicklers befindet sich allerdings hier.

Vista UAC Manifest (optional)
Sie sorgt für zwei Dinge:
Erstens sorgt diese Manifest dafür, dass nach Administratorrechten gefragt wird, sobald das fertige Archiv angeklickt wird. Das hat den Vorteil, dass du das Archiv überall hin entpacken kannst. Ohne diese Rechte spuckt 7-Zip dutzende Fehlermeldungen aus, solltest du zum Beispiel auf C:\Programme zugreifen wollen. (Nur unter Vista/7 mit aktivierter Benutzerkontensteuerung)
Zweitens wirst du dieses schreckliche Windows 95 Design los, also diese eckigen Buttons und all das was seit Windows XP . Wenn du nicht weißt, was ich meine (was ich auch vollstens verstehen kann ^^‘) vergleich einfach diesen Screenshot mit dem oberen.

Den Download gibt es hier.

UPX (optional)
UPX komprimiert die 7z.sfx, also nicht den Inhalt des Archives, sondern den Entpacker an sich. Das spart immerhin weitere Kilobyte an Speicherplatz. Dieses Tool kann erst am Ende genutzt werden, da Dateien mit Kompression nicht mehr im Resource Hacker bearbeitet werden können!

Dialog bearbeiten (7-Zip Hauptfenster)Damit sollten alle Vorbereitungen getroffen sein und der Spaß kann beginnen. Öffne die 7z.sfx mit dem Resource Hacker. Links in dem Baum siehst du alle „Dinge“, die du bearbeiten kannst. Uns interessiert zuerst das, was unter Dialog > 137 > 1033 steht. Wie du siehst, ist nämlich das Hauptfenster.

Das komfortable an dem Programm ist: Du kannst die ganzen Steuerelemente (Buttons, Beschriftungen ect.) frei mit der Maus verschieben, anordnen und in der Größe ändern. Du musst nicht zwingend den Code im Hauptfenster per Hand bearbeiten.
Um zum Beispiel einen Button zu bearbeiten, musst du lediglich mit der rechten Maustaste draufklicken und Kontrolle bearbeiten auswählen. In dem darauf folgendem Menü kannst du unter anderem den Text (Überschrift) und die Formatierung (Stil) ändern.
Zum Einfügen genügt ebenfalls ein Rechtsklick, nur dieses Mal solltest du Kontrolle einfügen wählen. Wär hätte das gedacht.

Wichtig: Nachdem du alle Änderungen vorgenommen und bestätigt hast, musst du auf Skript kompilieren klicken. Ansonsten wird deine Arbeit automatisch wieder rückgängig gemacht!

Mein zwischenergebnis sieht jetzt so aus:
Zwischenergebnis

Wie du siehst, habe ich oben ein kleines bisschen Platz freigelassen. Dort soll noch eine kleine Grafik hin, ein Bitmap um genau zu sein.

Neue Ressource einfügenAlso, wie fügt man eine zusätzliche Resource ein? Ganz simpel: Klicke oben im Fenster auf Aktion > Neue Ressource…
Hier kannst du dein Bitmap (jpg, gif und png funktionieren meines Wissens nicht immer!) auswählen. Der Ressourcename und die Ressourcesprache kann frei gewählt werden, nur merken musst du sie dir für später.

So krativ wie ich bin, habe ich als Name „1234“ und als Sprache „5678“ ausgewählt.

Jetzt kannst du, wie oben beschrieben, ein neues Steuerelement hinzufügen. Also wieder Rechtsklick > Kontrolle einfügen und das Bitmapsymbol anklicken. Als Überschrift muss der Ressourcename und als ID die Ressourcesprache herhalten.
Als Information am Rande: Du kannst auf dem gleichen Weg auch das Dateiicon in dieses Dialogfenster einbauen.

Natürlich kann nicht nur das Hauptfenster angepasst werden, auch die Passwortabfrage oder der „Datei-Ersetzen-Dialog“ kann auf gleicher Weise bearbeitet werden.

Kommen wir nun zu dem Dateiicon. Austauschen funktioniert ganz simpel. Hangel dich in dem linken Baum von Icon Group über 159 nach 1033. Klicke mit rechts drauf und wähle Ressource ersetzen… Jetzt kannst du jedes beliebige Icon für dein Archiv wählen.

Hinzufüges des Vista Minfests funktioniert ebenfalls einfach. Klicke, wie beim Hinzufügen eines Bitmaps, auf Aktion > Neue Ressource und wähle die vistauac.res aus, die du hoffentlich vorher schon heruntergeladen hast.

Weit unten im Baum erscheint nun die Struktur 24,1,0. Dort befindet sich auch folgende Zeile:

<requestedExecutionLevel level="requireadministrator" uiAccess="false"/>

Dieser Befehl sorgt für die UAC-Abfrage nach dem Start des selbstenpackenden Archives. Änderst du das requireadministrator in asInvoker, so wird nicht direkt nach Adminrechten verlangt.

Nachdem du alles nach deinem Geschmack bearbeitet hast, kannst du die Datei abspeichern und mit UPX packen. Kopiere dazu die upx.exe in das selbe Verzeichnis wie die 7z.sfx. Erstelle eine Textdatei mit folgendem Inhalt

upx --best 7z.sfx

und speicher sie (auch im gleichen Verzeichnis) als komprimiere.bat ab. Öffne die neu erstelle Datei mit einem Doppelklick und dein eigenes angepasstes und optimiertes Archiv sollte nun vollständig fertig sein :)

Angepasstes SFX Archiv

Jedes Mal, wenn du nun mit 7-Zip ein Selbstentpackendes Archiv erstelltst, wird deine bearbeitete 7z.sfx verwendet.

Übrigens funktioniert das Gleiche auch mit SFX-Archiven von WinRAR. Nur da heißt die entsprechende Datei Default.SFX

14 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert