Skripte mit Aut2Exe kompilieren

Es ist möglich, .au3-Skripte in eigenständig lauffähige Programme zu kompilieren. Die daraus resultierenden, ausführbaren Dateien können auch dann gestartet werden, wenn weder AutoIt v3 auf dem Zielcomputer installiert wurde noch die Datei AutoIt3.exe auf dem PC vorhanden ist. Der Kompilierungsprozess konvertiert das Skript und seine #include Dateien sowie alle Dateien, die von den FileInstall hinzugefügt wurden, in eine Token-Form, die dann komprimiert und verschlüsselt wird. Auf diese Weise sind keine dieser zusätzlichen Dateien zur Laufzeit erforderlich. Abhängig von der gewählten Kompilierungsoption wird dieses Skript "kompiliert" und entweder in die Ressourcen eines eigenständigen ausführbaren Interpreters eingefügt, der es direkt ausführt oder in dem .a3x Format gespeichert. Eine .a3x Datei kann in ein anderes Skript aufgenommen oder von einem AutoIt-Interpreter ausgeführt werden - entweder Autoit3.exe selbst oder ein anderes kompiliertes Skript mit dem AutoItExecuteAllowed Flag gesetzt.

Achtung: Das zu kompilierende Skript muss frei von Syntaxfehlern sein, da die Syntax bei der Kompilierung nicht geprüft wird.

Aut2Exe kann auf drei verschiede Weisen verwendet werden:

Methode 1 - Startmenü

Nur möglich, wenn beim Setup von AutoIt die Komplettinstallation gewählt wurde!

1. Öffnen des Startmenüs und navigieren zum Eintrag "AutoIt v3"

2. Klick auf "Compile Script to .exe"

3. Das Hauptfenster von Aut2Exe erscheint.

       

4. Schaltflächen "Browse" benutzen, um die Quell- (.au3) und die Zieldatei (.exe) auszuwählen bzw. einzutragen.

5. Wenn erwünscht, kann das Icon der resultierenden .exe-Datei über die entsprechende Schaltfläche verändert werden (einige Beispiel-Icons liegen im Ordner C:\Programme\AutoIt3\Aut2Exe\Icons).

6. Die einzige andere Option, die eventuell verändert werden möchte, ist der Kompressionsfaktor (besonders dann, wenn mit FileInstall zusätzliche Dateien eingebunden werden). Die entsprechenden Einstellungen finden sich im Menü "Compression". Wie bei allen Kompressionsroutinen ist die Geschwindigkeit der Kompilierung geringer, je größer der Kompressionsfaktor ist. Egal welche Kompression gewählt wird, die Ausführungsgeschwindigkeit der kompilierten .exe-Datei wird immer die gleiche sein.

7. Auf "Convert" klicken, um das Skript zu kompilieren.

Es ist folgendes zu beachten: Skripte können mit einer .a3x Erweiterung kompiliert werden. Dieses sollte mit AutoIt.exe filename.a3x aufgerufen werden. Die .a3x Datei enthält das Skript selbst mit allen genannten #include und den eingebundenen Dateien. durch dieses Format ist es möglich eine kleinere Datei zu erzeugen, da die AutoIt3.exe nicht in jedem kompilierten Skript enthalten ist. Allerdings benötigt man auf dem Ziel-PC die AutoIt3.exe.

Methode 2 - Kontextmenü

Nur möglich, wenn beim Setup von AutoIt die Komplettinstallation gewählt wurde!

1. Im Explorer zu der zu kompilierenden .au3-Datei navigieren

2. Das Kontextmenü aufrufen (rechte Maustaste)

       

3. Nach Aufruf durch Klicken auf "Compile Script" wird das Skript im Hintergrund kompiliert. Als Ergebnis wird im selben Verzeichnis eine Datei mit dem gleichen Dateinamen, aber der Endung ".exe" erstellt.

Hinweis: Bei dieser Methode werden die beim letzten Start nach Methode 1 getroffenen Einstellungen über Kompression und Icon benutzt.

Methode 3 - Die Kommandozeile

Die Aut2Exe.exe kann auch auf folgende Art über die Kommandozeile aufgerufen werden:

@@SyntaxHighlighting@@ Aut2exe.exe / In < infile.au3 >[/out < outfile.exe >][/icon < iconfile.ico >][/comp 0 - 4][/nopack][/x64][/bin < binfile.bin >] @@End@@

Where

Switch Verwendung Standardwert
/in <infile.au3> Legt den Pfad und den Dateinamen der bin-Datei fest, welche verwendet wird um die Datei zu kompilieren. Nichts. Die Datei muss festgelegt sein
/out Legt den Pfad und den Dateinamen der kompilierten Datei fest.
Legt den Pfad und den Dateinamen fest, wenn eine *.a3x Datei erstellt wird.
Der Eingabedateiname mit einer .exe Erweiterung
/icon Legt den Pfad und den Dateinamen des zu verwendenden Icons für die kompilierte Datei fest. Standard-Icon
/comp Legt das Komprimierungslevel fest, welche beim enkodieren verwendet wird (Dies hat NICHTS mit UPX zu tun).
Es muss eine Zahl zwischen 0 (keine) und 4 (maximum) sein.
2
/nopack Legt fest, dass die Datei nicht mit UPX nach dem kompilieren komprimiert werden soll. pack
/pack Legt fest, dass die Datei mit UPX nach dem kompilieren komprimiert werden soll. pack
/x64 Legt fest, dass das Skript später auch auf x64 (64-bit) Systemen funktionieren soll. siehe Bemerkungen
/x86 Legt fest, dass das Skript später auch auf x86 (32-bit) Systemen funktionieren soll. see notes
/console Legt fest, dass das Skript als eine Console-Anwendung kompiliert werden soll. Windowsanwendung (/gui)
/gui Legt fest, dass das Skript als eine Windowsanwendung kompiliert werden soll. Windowsanwendung (/gui)

Beispiele Kommandozeilentools

/in c:\myscript.au3 /out c:\myapp.exe /icon c:\myicon.ico /x64

Ergebnis: Es ergibt in Anlehnung an c:\myapp.exe mit normaler Komprimierung. Es wird das festgelegte Icon verwendet und es wird auf x64 Systemen funktionieren.

/in c:\myscript.au3

Ergebnis: Es ergibt in Anlehnung an Unicode c:\myscript.exe mit normaler Komprimierung. Es wird das Standard AutoIt Icon verwendet und es wird auf Win32 Systemen funktionieren.

Bemerkungen zu Kommandozeilentools

Lange Dateinamen und Dateinamen mit enthaltenden Leerzeichen sollten in doppelte Anführungszeichen eingeschlossen werden. Beispiel: "C:\Programme\AutoIt Test\test.au3". Wenn der Parameter "out" nicht angegeben wird, dann wird der Name der Quelldatei mit der Endung ".exe" benutzt.

Files\Test\test.au3".

Mit der Ausnahme von /in sind alle Schalter optional.

Der Standard ist ein 32-bit Grundgerippe.

Standardmäßig erstellt der 32-bit Kompiler eine 32-bit Version und der 64-bit Kompiler eine 64-bit Version. Die Parameter /x86 und /x64 sind zu verwenden, um die Art Version direkt festzulegen.

Die Schalter /pass und /nodecompile sind seit der Version 3.2.8.1 überflüssig. Sie werden, falls verwendet, ignoriert. Außerdem wurden sie von dieser Liste entfernt.

Die Schalter /ansi und /unicode sind seit der Version 3.3.0.0 überflüssig.

Der Schalter /bin ist seit der Version 3.3.10.0 redundant und wurde von der Liste entfernt.

Technische Details

Das kompilierte Skript und die mit FileInstall eingebundenen Dateien werden mit Jons eigenem Kompressionsalgorhythmus komprimiert.