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:
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!
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:
Wie du siehst, habe ich oben ein kleines bisschen Platz freigelassen. Dort soll noch eine kleine Grafik hin, ein Bitmap um genau zu sein.
Also, 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 :)
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
Leute, da lohnt es sich lieber WinRAR oder „FreeExtractor“ (2001) zu holen. da kann man auch viel anpassen
Uff, also irgendwie ist das deutlich komplizierter als mit dem guten, alten WinRAR?
Da lohnt sich doch tatsächlich mal wieder, eine aktuelle Version des RAR zu kaufen, denn da ist alles in einer Oberfläche, keine extra Tools?
Hier ist eine Version des 7-Zip SFX bei der man das Zielverzeichnis in den Ressourcen vorgeben kann:
http://www.sendspace.com/file/pym40n
Ich habe versucht via SFX mein Icon zu ändern. Leider ohne Erfolg. Kann mir jemand helfen ?
So lange man nicht ein „default target direcectory“ angeben kann, fängt man mit 7zip nicht viel an.
Versuch es mal damit:
http://www.sendspace.com/file/pym40n
Ich denke mal, diese Seite http://www.7zsfx.info/en/ bringt mich dorthin, 7zip WinRAR-ähnlcher nutzen zu können.
Kann mir mal wer verraten was ich tun muss, um bei einem 7zip-Archiv, so wie es bei WinRAR möglich ist, einen Befehl einzufügen der am Ende des Entpackungsvorganges automatisch ausgeführt wird?
Super! Habe dafür bisher immer ein InnoSetup-Script benutzt, aber mit 7zip geht das doch viel einfacher bzw schneller, wenn man es einmal eingerichtet hat!
Eigentlich ist es egal wie lang und breit das Bild ist. Du darfst die Größe frei wählen.
Danke für den Tip!!!!
Eine Frage habe ich da noch wie lang und wie breit muss die Bild Datei seien???
Danke für eure Kommentare.
@Hannes: Ich bemühe mich öfter ein paar Artikel zu schreiben, nur fürchte ich, dass mir sinnvolle Themen fehlen um etwa täglich was zu verfassen. Ich möchte ja nicht über alles mögliche im Bereich Software/Internet bloggen, sondern lieber über weniger Dinge, die dafür umso exquisiter sind :)
@Herbert: Soweit ich weiß, kann man den Pfad zumindest nicht im Resource Hacker bearbeiten. Ich hab’s damit auch schon versucht, aber keinen Erfolg gehabt.
Hat prima geklappt – herzlichen Dank für die Anleitung!
Als Pfad wird automatisch der aktuelle eingetragen (also z. B. „c:\download\“).
Kann ich da irgendeinen vorgeben, der dann automatisch erstellt wird? Also z. B. „c:\neue-cd\“ ?
Hey richtig cooles Tutorial haste da geschrieben.
Schade, dass du so selten Artikel schreibst, die letzten Artikel fand ich alle ziemlich gut und vom Thema her genau mein Ding. Bei mindestens 4, 5 Posts pro Woche biste sofort in meinem RSS Reader ;)