Seit Windows Vista gibt es eine neue Version 2.0 der Aufgabenplanung. Diese umfasst
neben den Funktionen der Vorversion auch einige neue Optionen, z.B. das Nachholen
einer Aufgabe oder das Verwenden eines Benutzerkontos ohne Kennwort. Das Windows-API
stellt dazu eine Reihe von neuen Interface-Funktionen bereit, mit der man die
Aufgabenplanung in eigene Programme einbinden kann.
Um dem Delphi-Entwickler dies zu erleichtern, habe ich ein Unit-Paket erstellt,
in dem die Funktionen des Windows Task Scheduler 2.0 in Delphi-Objekte
gekapselt werden. Dadurch können sie sehr einfach in eigene Programme integriert werden.
Die Verwendung wird durch ein Beispielprogramm (neu im August 2020) erklärt.
Hinweis: Die Implementierung ist noch nicht ganz vollständig. Es werden aber alle wichtigen Funktionen unterstützt, um Zeitpläne für eigene Anwendungen einzutragen und zu bearbeiten.
Version 2.3 (Januar 2024)
Dieser Dienst wurde erstmals mit dem Microsoft-Betriebssystemen Windows XP eingeführt und in den nachfolgenden Betriebssystemen (Windows 7,8 und 10, sowie Windows Server 2008 und 2012) um diverse Funktionen erweitert. Er basiert auf der Möglichkeit, mit NTFS-Dateisystemen Schnappschüsse zu erzeugen. Damit wird es möglich, auch Dateien zu kopieren, die gerade durch laufende Anwendungen blockiert sind. Ist der Dienst aktiv, bleibt von den Dateien, die verändert werden, die beim Anfertigen des Schnappschusses vorhandene Version erhalten. Die neuen Daten werden zunächst an einer anderen Stelle im Dateisystem abgelegt. So bleibt der Zustand des Datenträgers für die Lebensdauer des Schnappschusses erhalten und kann während dieser Zeit problemlos gesichert werden.
Die Benutzung des VSS ist im Microsoft Software Development Kit für Windows 7
genau beschrieben. Dort findet man auch ein Beispielprogramm mit Quelltexten
(VSHADOW.EXE). Diese sind allerdings, ebenso wie die Interfaces (Header-Dateien)
zu den Windows-Bibliotheken in C++ geschrieben. Um VSS auch unter Delphi nutzen zu
können, ist es als erstes erforderlich, die Header-Dateien in eine Delphi-Unit
(Unit VssApi.pas im Programmpaket) umzusetzen. Eine weitere Unit
(VssUtils.pas) enthält die nach Delphi konvertierten Routinen
aus dem o.g. Beispielprogramm von Microsoft. Zur einfachen Verwendung in
eigenen Programmen werden alle Funktionen in Form einer Klasse TVolumeShadowCopy
bereitgestellt. Zur Ausführung in einem eigenen Thread steht außerdem die
Klasse TVssThread zur Verfügung. Ein Beispiel für die Verwendung
in eigenen Programmen findet man in der dem Quelltext-Paket beiliegenden
readme.txt-Datei.
Das Programmpaket enthält schließlich auch noch eine konvertierte Version des
Hauptteils des Beispiel-Programms als Konsolenanwendung (VsToolkit).
Dabei wurde als Grundlage nicht das
originale Beispiel von Microsoft verwendet, sondern die modifizierte Version
Volume Shadow Copy Simple Client (VSCSC).
Alle Programme und Routinen können sowohl für 32- als auch für 64-Bit-Systeme
kompiliert werden (für letzteres ist mindestens Delphi-XE2 erforderlich).
Hinweise: Mit den bereit gestellten Routinen können die meisten für ein
Backup notwendigen Funktionen ausgeführt werden. Ein Restore wird noch nicht unterstützt.
Das Ausführen des Programms erfordert Administratorrechte.
Version 2.3.3 v. 14.3.2022
Wenn man ein Smartphone an einen Windows-Computer anschließt, wird der Inhalt nicht, wie z.B. bei USB-Speichergeräten, in dessen Dateisystem eingebunden. Der Grund dafür ist, dass derartige Geräte über das Media Transport Protocol (MTP) angebunden werden. Um auf die Inhalte zuzugreifen, benötigt man die Funktionen des Windows-Portable-Devices-Interfaces (WPD).
Die Units, die erforderlich sind, um die WPD-Funktionen in eigene Delphi-Programme einbinden zu können, sind bislang nicht Bestandteil der System-Bibliotheken. Ich habe daher die folgenden Units erstellt, um einen Zugriff auf die Dateien eines über MTP angeschlossenen Geräts in eigenen Delphi-Programmen zu ermöglichen:
Version 1.1 v. 4.11.2023
Es gibt verschiedene Möglichkeiten, eine Delphi-Anwendung mit einer mehrsprachigen
Oberfläche zu versehen. Auch die Original-Entwicklungsumgebung bringt hierfür Werkzeuge
mit. Bei der Benutzung zeigen sich diese aber etwas schwerfällig in der Anwendung.
Ich habe daher alle meine mehrsprachigen Programme auf das als OpenSource bereitgestellte
System GNU Gettext for Delphi
von Lars B. Dybdahl umgestellt. Es funktioniert mit allen aktuellen Delphi-Versionen.
Ich verwende es z.Zt. mit Delphi 10 Seattle (auch mit dem 64-bit-Compiler).
Nach kurzer Eingewöhnung kann man damit sehr effizient arbeiten. Außerdem
bietet es den großen Vorteil, dass für die Erstellung einer Übersetzung keine
Delphi-Entwicklungsumgebung bereitstehen muss, so dass jeder Anwender die
Möglichkeit hat, eine Übersetzung in seine Sprache vorzunehmen. Es genügt ein
einfacher Texteditor oder besser das folgende speziell dafür entwickelte
Editor-Programme:
Basis für alle Übersetzungen ist immer eine vorzugsweise in Englisch geschriebene Delphi-Anwendung. Weitere
Informationen findet man unter
Personal Backup - Übersetzungen.
Hinweis: Die nachfolgend beschriebenen Programme können auch für Embarcadero C++ Builder
verwendet werden.
Die Übersetzungen werden in zwei Schritten erstellt:
Bereits übersetzte Teile werden dadurch bei Programmaktualisierungen immer automatisch
übernommen, so dass der Aufwand für die Aktualisierung der Übersetzung klein bleibt.
Die beiden erforderlichen Programme werden im Windows-Explorer über das Kontext-Menü
aufgerufen:
1. Rechtsklick auf ein Verzeichnis | 2. Rechtsklick auf eine po-Datei | |
erzeugt die Schablone (po-Datei). | führt Schablone und Übersetzung zusammen und startet PoEdit für die Nachbearbeitung. |
Das Programm für die Schablonenerstellung (ggdxgettext.exe) habe ich etwas erweitert:
Auch die anderen Programme aus dem Originalpaket habe ich überarbeitet:
Wichtiger Hinweis: Wenn eine Übersetzung mit ggassemble.exe in eine mit Delphi erstellte exe-Datei eingebettet werden soll, ist es wichtig, dass in den Delphi-Quelltexten des Projekts die dazu passende Unit GnuGetText.pas aus dem hier angebotenen Download verwendet wird.
Zum sporadischen Bearbeiten einzelner Übersetzungen ist die Integration in Form der
Kontext-Menüs sicher ganz praktisch. Beim Erstellen eines mehrsprachigen Programms
(z.B. in Englisch, Deutsch und weiteren Sprachen), wird die Bedienung auf diese Weise
allerdings doch etwas mühsam, insbesondere wenn die Texte noch laufend angepasst werden müssen.
Man muss ständig die Verzeichnisse wechseln und erreicht sein Ziel erst nach diversen
Mausklicks.
Abhilfe schafft hier mein Programm GgtTranslate, das für jedes Projekt alle
Schritte, auch für mehrere Sprachen, unter einer Bedieneroberfläche
zusammenfasst. Es benutzt dabei die gleichen Einstellungen (dxgettext.ini)
wie die Originalprogramme, erlaubt es aber, alle Schritte unmittelbar nacheinander
auszuführen:
Die aktuelle Version 3.1 bietet außerdem noch folgende zusätzliche Möglichkeiten:
Außerdem werden einige Hilfsprogramme zur Bearbeitung von po-Dateien bereit gestellt:
Die Verwaltung der Versionsinformationen einer Anwendung über die Projektoptionen ist bei älteren Delphi-Versionen (z.B. Delphi 10 Seattle oder Delphi XE2) unkomfortabel und teilweise auch fehlerhaft. Die Vererbung von Einstellungen funktioniert unzuverlässig und beim Kompilieren für verschiedene Plattformen (z.B. Win32 und Win64) wird die Ressourcen-Datei <Projektname>.res nicht jeweils neu erstellt, sodass Plattform-abhängige Einstellungen nicht richtig in die exe-Datei übernommen werden.
Das letztere Problem lässt sich nur umgehen, indem man für jede Plattform eine eigene Ressourcen-Datei erstellt. Dazu schaltet man in dem Projektoptionen die Übernahme der Versionsinformationen aus und erstellt passende Ressourcen-Quelltexte (rc-Dateien) mit einem Texteditor. Diese müssen dann noch von Hand kompiliert werden, um die benötigten res-Dateien für die Projekterstellung zu erzeugen. Bei vielen Projekten wird das dann schnell sehr mühsam.
Das vorliegende Programm zum Bearbeiten von Projektversions-Ressourcen
fasst alles unter eine Oberfläche zusammen. Man kann mit ihm alle Projekte einer
Projektgruppe gemeinsam bearbeiten. Nach Auswahl einer Gruppendatei
(groupproj-Datei) werden alle dazugehörigen Projekte (dproj-Dateien)
erkannt und in einer Liste angezeigt. Sind darin Projekte enthalten, die noch nicht
bearbeitet wurden, werden, sofern vorhanden, die Versions-Informationen aus
der jeweiligen dproj-Datei geladen. Die benötigte rc-Datei wird auf Basis einer, vom
Benutzer bearbeitbaren Textvorlage erstellt. Die individuellen Angaben sind dort
als Platzhalter eingetragen und werden vom Programm automatisch durch die vom
Benutzer gemachten Projektangaben. z.B. Versionsnummer ersetzt. Die aktuellen
Werte werden für jede Projektgruppe in einer Datei mit der Erweiterung vprj
im Verzeichnis des Projektes abgespeichert.
Nach Klick auf Ressourcen-Dateien erzeugen wird auf diese Weise für alle
in der Liste markierten Projekte jeweils eine rc-Datei für die ausgewählten
Plattformen (Windows 32- und 64-Bit) mit einem einstellbaren Dateinamen-Suffix (Vorgabe: -32
und -64) erstellt und dann automatisch mit dem
Borland-Ressourcencompiler bcc32c.exe in eine res-Datei übersetzt.
Für die rc-Dateien kann optional ein Unterverzeichnis im Projektverzeichnis
eingestellt werden (Standardvorgabe: Resources).
Erforderliche Änderungen in den Delphi-Quellprogrammen: Im Quelltext der Projekt-Datei (dpr-Datei) müssen folgende Zeilen nach {$R *.res} eingefügt werden:
{$IFDEF WIN32} {$R *-32.res} {$ELSE} {$R *-64.res} {$ENDIF}
Programm Einstellungen Vorlage
Ab Delphi XE gibt es nicht nur die Möglichkeit, die Entwickleroberfläche in der Sprache umzuschalten, sondern auch die Sprache der für eigene Anwendungen verwendeten Bibliotheken (z.Zt. englisch, deutsch und französisch). Wenn man eine mehrsprachige Anwendung entwickelt (siehe auch), ist es zu empfehlen, alle Texte in Englisch zu verfassen. Die verwendeten Dialoge, Fehlermeldungen, etc. aus den Systembibliotheken sollen dann natürlich auch in Englisch erscheinen. Bei Anwendungen, die ausschließlich z.B. für den deutschen Raum entwickelt werden, benötigt man stattdessen die entsprechenden deutschsprachigen Bibliotheken.
Leider kann diese Umschaltung nicht aus der Entwicklungsumgebung heraus gemacht werden. Embarcadero stellt ein kleines Hilfsprogramm (BDSSetLang.exe) zur Verfügung, mit dem sich dies bewerkstelligen lässt. Erst anschließend kann die IDE gestartet werden.
Das Programm Start Delphi kombiniert diese Umschaltung nun mit einer einfachen Projektverwaltung:
Beim ersten Start des Programms wird automatisch ermittelt, welche Delphi-Versionen (Delphi XE, XE2, ..., XE8, Delphi 10.0, ..., 10.4 oder 11.0) auf dem System installiert sind. Die verfügbaren Versionen werden in einer Liste auf der Seite Einstellungen angezeigt. Der Benutzer wählt daraus die Version aus, mit der er arbeiten möchte. Alle Benutzereinstellungen werden in einer ini-Datei gespeichert. Über die Befehlszeile können auf diese Weise durch Angabe verschiedener ini-Dateien auch mehrere Konfigurationen nebeneinander verwaltet werden, so dass es möglich ist, auch verschiedene Delphi-Versionen gleichzeitig zu verwenden.
Für die Sprachen Deutsch, Englisch und Französisch werden getrennte Projektlisten verwaltet. Neue Projekte werden durch Auswahl der zugehörigen Projektdateien (.dproj) oder Projektgruppen (.groupproj) der jeweiligen Liste hinzugefügt. Nach Klick auf die Start-Schaltfläche wird die vom Benutzer ausgewählte Delphi-Version mit den ausgewählten Sprachen für die Benutzeroberfläche und die Bibliotheken gestartet und das ausgewählte Projekt geladen. Durch Klick auf die Titelleiste der Projektliste kann die Anzeigereihenfolge verändert werden (alphabetisch oder nach Zeitstempel).
Hintergrundinformationen: Die Einstellung der Bibliothekssprache erfolgt unter dem Registry-Key: HKEY_CURRENT_USER\Software\Embarcadero\BDS\<version>\MUI. Der Wert für Translated Library Directory wird entweder auf EN, DE oder FR eingestellt. Der Wert für <version> ist je nach Delphi-Version zu ersetzen durch:
XE: | 8.0 | 10.0 Seattle: | 17.0 | ||
XE2: | 9.0 | 10.1 Berlin: | 18.0 | ||
XE3: | 10.0 | 10.2 Tokyo: | 19.0 | ||
XE4: | 11.0 | 10.3 Rio: | 20.0 | ||
XE5: | 12.0 | 10.4 Sydney: | 21.0 | ||
XE6: | 14.0 | 11.1 Alexandria: | 22.0 | ||
XE7: | 15.0 | 12.0 Athens: | 23.0 | ||
XE8: | 16.0 |
Beim Programmieren von Delphi-Projekten verwendet man viele Funktionen, die sich in selbst erstellten Units befinden. Diese sind meistens nicht im Projektverzeichnis angesiedelt, sondern befinden sich an verschiedenen anderen Stellen. Die Suchpfade dorthin werden in den Projektoptionen angegeben.
Wenn man nun ein Projekt oder auch eine Unit im Quelltext weiter geben möchte, stellt sich immer das Problem, welche Units werden benötigt und müssen beigefügt werden. Delphi bringt selbst kein Werkzeug mit, mit dem sich dies übersichtlich machen lässt.
Das Programm UnitParser hilft hier weiter. Für Projekte mit dproj-Dateien ist es ab Delphi 2007 verwendbar, für dpr- oder pas-Dateien auch für ältere Delphi-Versionen.
Eventuell in den Suchpfaden vorhandene Platzhalter ($(Config), $(Platform)
und $(LANGDIR)) werden durch die im Programm gemachten Einstellungen ersetzt.
Durch Klick auf die Schaltfläche rechts neben dem Suchpfad, können die Angaben vom Benutzer
angepasst werden.
Nach einem Klick auf Projekt durchsuchen analysiert das Programm in allen verwendeten
Units die Uses-Klauseln und erstellt eine nach Pfaden sortierte Liste aller im Projekt
verwendeten Units. System-Units sind dabei ausgenommen. Ebenfalls in die Liste aufgenommen
werden Include-Dateien ({$I ..}) und eingebundene Object-Dateien ({$L ..}.
Anschließend kann man alle oder einige ausgewählte Units in ein beliebiges Zielverzeichnis kopieren, üblicherweise ist dies das Unterverzeichnis sources des Projektes. Units, die sich nicht im Projektverzeichnis befinden, werden dort in ein Unterverzeichnis Units kopiert. Zuletzt wird die Hauptdatei (dpr) kopiert, wobei die dort enthaltenen Pfade für die Units entsprechend angepasst werden, sowie die zugehörigen Ressourcendateien.
Um dem Anwender die Installation eines neuen Programms möglichst einfach zu machen, wird dies am Besten mit allen seinen Komponenten in ein platzsparendes Archiv gepackt. Dadurch wird ein schnelles Download gewährleistet. Um auch die Installation komfortabel zu gestalten, sollte dieses Archiv selbst extrahierend sein, damit kein Zusatzprogramm zum Entpacken nötig ist. Wichtig ist auch, dass während der Installation individuelle Einstellungen (wie. z.B. das Programmverzeichnis oder Einträge im Startmenü oder auf dem Desktop) vom Benutzer vorgenommen werden können.
Neben kommerziellen Programmen wie z.B. InstallShield oder Wyse hat sich hierfür das Freeware-Programm Inno-Setup bewährt. Durch eine sehr leistungsfähige Skript-Sprache können hiermit fast alle Anforderungen erfüllt werden.
Bei Programmen, die sich noch in der Weiterentwicklung befinden, ist es nützlich, aus dem Dateinamen der Installationsdatei die Versionsnummer zu erkennen. Mit einiger Kenntnis der in InnoSetup verwendeten Skriptsprache kann man das in das Installationsskript integrieren. Wem das zu kompliziert ist, der kann auf das nachfolgend beschriebene kleine Delphi-Befehlszeilenprogramm zurückgreifen. Es lässt sich sehr einfach in eine Batch-Datei integrieren.
Batch-Datei zur Erzeugung des Installationsarchivs:
Das Programm AddVersionToName benötigt folgende Angaben in der Befehlszeile:
AddVersionToName <ExeFile> <InstallFile> [<Level>]Es liest dann aus der Exe-Datei die Versionsnummer aus (siehe z.B. Projekt-Eigenschaften bei Delphi) und benennt die Installations-Datei entsprechend um.
Ein zweites Programm CopyVersionFile kopiert zusätzlich zur Umbenennung die Datei in ein oder mehrere Verzeichnisse für die Softwareverteilung.
Download der Programme (Quelltexte und Exe-Dateien) (468 kB)
Eine Weiterentwicklung dieser beiden kleinen Programm wird im nächsten Abschnitt beschrieben.
Die Erstellung und Verteilung von Softwarepaketen erfordert immer wieder die gleiche Abfolge von Operationen, so dass sich eine Automatisierung anbietet:
Beispiel einer Batch-Datei für einen automatischen Ablauf:
Die Schritte 3 - 5 werden dabei von dem Programm VersionCopy ausgeführt.
Die Funktionen im Überblick:
Zunächst werden im interaktiven Modus mit dem Programm geeignete Aufträge
erstellt und gespeichert.
Mit der Schaltfläche "Testen" kann die Funktionsweise geprüft werden, ohne dass
irgendwelche Daten tatsächlich verändert oder kopiert werden. Der Ablauf wird
im Status-Fenster angezeigt und gleichzeitig auch in eine Protokolldatei
geschrieben ("VersionCopy.log" im Verzeichnis "Anwendungsdaten").
Wenn alles richtig aussieht, kann durch Klick auf die Taste "Starte Kopieren"
der Auftrag real ausgeführt werden.
Aufruf über die Befehlszeile:
Der Kopiervorgang kann auch direkt über die Befehlszeile gestartet werden (siehe
auch die Batch-Datei weiter oben):
<Pfad>\VersionCopy.exe <Auftrag> /force
Exe-Datei mit Versionsinfo:
Dies kann eine mit einer beliebigen Programmentwicklungsumgebung erstellte Datei
sein. Sie muss die üblichen Versionsinformationen in ihren Ressourcen enthalten
(unter Delphi wird das über die Projektoptionen eingestellt).
Setup-Datei:
Dies ist das mit einem Installer (z.B. Inno-Setup) erstellte Installationspaket,
das zum Download bereitgestellt werden soll.
Benutzte Versionsebene:
Hier wird eingestellt, wie die Versionsinformation weiter gegeben werden soll.
Es sind maximal 4 Stufen möglich:
Setup-1, Setup-1.2, Setup1.2.03 oder Setup-1.2.0304
Vorversion behalten:
Hier wird eingestellt, welche im Downloadbereich befindlichen älteren Versionen
gelöscht werden sollen. Wird z.B. Ebene 1 gewählt, werden Setup-Dateien nur
dann erhalten wenn sich die erste Versionsstufe ändert (setup-1... auf setup-2..).
Projekt-Präfix:
Hier wird die Projektkennzeichnung für die Bearbeitung der HTML-Vorlagen
eingestellt (siehe).
Hier werden die Zugangsdaten für die verwendeten FTP-Server eingestellt.
Versionsinfo-Dateien:
Name der Dateien, die die Informationen zur aktuellen Version und zum Download
bereitstellen (siehe unten)
Setup-Datei:
Setup mit Versionsnummer (wird vom Programm erzeugt)
Erzeuge Datei mit Prüfsummen (MD5 und SHA256)
Auswählen, wenn der MD5-und der SAH256-Wert jeweils in eine Datei <Setupname>.md5/sha256
geschrieben werden soll
Erzeuge OpenPGP-Signatur
Bei der Auswahl dieser Option wird nach der Schlüssel-ID des zu verwendenden
OpenPGP-Schlüssels gefragt. Eine Installation von GnuPGP ist erforderlich, um
diese Funktion zu nutzen. Die erzeugt Signatur wird in die Datei <Setupname>.sig
geschrieben.
Zusätzliche Dateien:
Hier können beliebige Dateien, z.B. mit Update-Informationen ausgewählt werden,
die zum Download bereitgestellt werden sollen. Auf Wunsch kann den Dateien
automatisch das Projekt-Präfix vorangestellt werden.
Verzeichnisse:
Hier können beliebige Verzeichnisse im Windows-Dateisystem ausgewählt werden,
in die die oben genannten Dateien und das Setup kopiert werden sollen. Die
Versionsinformation wird nur in die markierten Verzeichnisse kopiert.
Ziele auf FTP-Server
Hier können beliebige Verzeichnisse auf den oben festgelegten FTP-Servern
ausgewählt werden, in die die Dateien und das Setup kopiert werden sollen. Die
Versionsinformation wird nur in die markierten Verzeichnisse kopiert.
Es werden die weiter unten beschrieben HTML-Vorlagen ausgewählt, die vom vom Programm aktualisiert und per FTP in die ausgewählten Verzeichnisse kopiert werden.
Dabei handelt es sich um zwei kleine Textdateien. Die erste enthält die Versionsinfo, die zweite den Ort des Downloads.
Version:
Download:
Fest vorgegeben wird nur die Zeile mit dem Downloadpfad, die anderen
Zeilen werden vom Programm eingefügt.
Beispiel:
pb-setup-6.ver
pb-setup-6.loc
Es handelt sich dabei um eine gewöhnliche HTML-Seite mit einigen speziellen
Erweiterungen und Platzhaltern. Diese werden benötigt, damit das Programm
VersionCopy an den gewünschten Stellen die aktuellen Informationen einsetzen kann.
Format-Einstellungen:
date-format | = <mode> | 0 - internationales Datumsformat 1 - deutsches Datumsformat 2 - englisches Datumsformat |
||
decimal-sep | = <char> | Standardmäßig wird als Dezimaltrenner für die Größenangabe (s.u.) der Punkt verwendet. Mit <char> = , wird das auf das Komma umgestellt. |
pf | Projekt-Präfix (ein oder mehrere Zeichen, in VersionCopy einstellbar) | |
name |
= vers = date = setup = size = md5 = sha256 |
Versionsnummer (z.B. 6.2.16.0) Datum der zur Bereitstellung (z.B. 19.8.2022) Name der Download-Datei (z.B. program-6.2.1600.exe) Größe der Download-Datei (z.B. 17,2 MB) MD5-Wert der Download-Datei (32 Zeichen, z.B. 998ebb92...) SHA256-Wert der Download-Datei (64 Zeichen, z.B. a15cc1ae...) |
Der HTML-Datei wird ein Header vorangestellt, der die Informationen für alle Platzhalter enthält:
VersionCopy passt die Werte im Header, die zu dem Projekt-Präfix passen, automatisch an und ersetzt anschließend die Platzhalter im Text durch die aktuellen Werte.
Beispiel:
Manchmal möchte man gerne ein erstelltes InnoSetup-Archiv überprüfen oder Dateien daraus extrahieren. Dazu gibt es das Konsolenprogramm Inno Setup Unpacker. Wem die Bedienung etwas zu unkomfortabel ist, kann sich weiter unten eine Windows-GUI dafür herunterladen.
Das zu verarbeitende ausführbare Setup kann über einen Datei-Dialog, per Drag&Drop oder durch Angabe in der Befehlszeile geladen werden. Danach werden sofort die grundlegenden Datei-Informationen und eine Liste der enthaltenen Dateien angezeigt. Zum Extrahieren von Dateien genügt ein Klick auf die entsprechende Schaltfläche und die Auswahl des Zielverzeichnisses. Optional kann ein Filter angegeben werden, um nur die dazu passenden Dateien zu extrahieren.
Windows InnoUnpacker 2.0 v. Dezember 2024 (Deutsch, Englisch, Französisch, Italienisch und Ungarisch) - geeignet für Installationspakete erzeugt mit InnoSetup 2 bis 6
Unicode-Version des Konsolenprogramms Inno Setup Unpacker - für Inno Setup 2.0.7 bis 6.3.3 (DEzember 2024)
Diese Version kann als Ersatz für
innounp 0.50 verwendet werden,
wenn es dort Probleme mit der Unicode-Codierung gibt.