CompilingScripts with Aut2Exe
It is possible to take your .au3 script and compile
it into a standalone executable; this executable can be used without the need
for AutoIt to be installed and without the need to have AutoIt3.exe on the
machine. In addition, the compiled script is compressed and encrypted and there
is the option to bind additional files (also compressed/encrypted) to the exe
using the File Install function. Also, any #include files will also be compiled
into the script so they are not required at run-time.
Caution: the script to be compiled must be free of
syntax error as the compilation will not check the syntax.
Method 1 - Start Menu
Only available if full install performed.
1. Open the
Start Menu and browse to the AutoIt v3 group.
2. Click
Compile Script to .exe
3. The main
Aut2Exe interface should appear.
4. Use the
Browse buttons to select your input (.au3) and output (.exe) files.
5. If you
like you can change the icon of the resulting .exe - just browse to the icon
you want (some example icons are supplied in Program
Files\AutoIt3\Aut2Exe\Icons).
6. The only
other option you might wish to change is the compression level (especially if
using File Install to add extra files).
Use the Compression menu to set this. As with all compression routines the
better the compression you select the slower it will be. However, no matter what
compression level you select the decompression speed (when the .exe is run) is
the same.
7. Click on
Convert to compile the script.
Note: Scripts can be compiled with .a3x extension.
They should be run with AutoIt.exe filename.a3x. The .a3x contains the script
itself with all referred #include plus the FileInstall files. This format
allows you to distribute smaller files as they don't include the AutoIt3.exe in
each compiled script. You still need to have it accessible on the target
machine but just AutoIt3.exe.
Method 2 - Right Click
Only available if full install performed.
1. In
Explorer browse to the .au3 file that you wish to compile.
2.
Right-click the file to access the pop-up menu.
3. The file
will be silently compiled with the same filename - just with a .exe extension.
When compiling in this way, Aut2Exe uses current
icon/compression settings (from the last time Aut2Exe was run manually as in
method 1).
Method 3 - The Command Line
The Aut2Exe.exe program can be run from the command
line as follows:
Aut2exe.exe /in <infile.au3> [/out <outfile.exe>] [/icon
<iconfile.ico>] [/comp 0-4] [/nopack] [/x64] [/bin <binfile.bin>]
Where
Switch Usage Default value
/in <infile.au3>
Specifies the path and file name of the bin file to be used to compile the
file. None. The file must be specified
/out <outfile.exe>
Specifies the path and name of the compiled file.
<outfile.a3x> Specifies the path and file name
when creating an *.a3x file. The input
filename with a .exe extension
/icon <iconfile.ico>
Specifies the path and file name of the icon to use for the compiled file. The AutoIt icon
/comp Specifies
the compression level to be used when encoding the script (This is NOT related
to UPX).
It must be a number between 0 (none) and 4
(maximum). 2
/nopack Specifies
that the file should not be compressed with UPX after compilation. pack
/pack Specifies
that the file should be compressed with UPX after compilation. pack
/x64 Specifies
that the script should be compiled for use on systems with x64 (64-bit)
architecture. see notes
/x86 Specifies
that the script should be compiled for use on systems with x86 (32-bit)
architecture. see notes
/console Specifies
that the script should be compiled as a Console application. Windows application (/gui)
/gui Specifies
that the script should be compiled as a Windows application. Windows application (/gui)
/bin <binfile.bin>
Specifies the path and file name of the bin file to be used to compile the
file. searched in Aut2exe
folder
Command Line Notes
Long filenames should be enclosed in double-quotes
like "C:\Program Files\Test\test.au3".
With the exception of /in all switches are optional.
By default, the 32-bit compiler produces a 32-bit
binary and the 64-bit compiler produces a 64-bit binary. Use the /x86 and /x64
parameters to explicitly specify the output.
The /pass and /nodecompile switches are redundant as
of version 3.2.8.1. They will be ignored if used and have been removed from
this list.
The /ansi and /unicode switches are redundant as of
version 3.3.0.0.
Technical Details
The compiled script and additional files added with
FileInstall are compressed with my own (Jon) compression scheme.
No comments:
Post a Comment