AutoIt comes with two programs to enable the complication of scripts into standalone executables (and back again if required).
From v2.64 the facility to add extra files into the compiled executable has been added via the FileInstall command.
Aut2Exe - Script Compiler
This program will take an AutoIt script and convert it to an executable. This executable can then be run without any of the original AutoIt programs being installed.
It is possible to define an icon for the resulting executable, this must be an icon file that is 32 by 32 pixels in 16 colours (the file should have a filesize of 766 bytes).
Scripts and files added to a compiled executable are compressed and then encrypted. During execution of the compiled script the script is never written to disk -- all decompilation of the script is performed in memory for security.
N.B. You can still pass command line variables to the resulting exe file by running "myscript.exe param1 param2.....".
Command Line Switches
Aut2Exe can be used with command line switches like so (all switches are optional except "/in"):
Aut2Exe.exe /in <script.aut> [/out <script.exe>] [/icon <icon.ico>] [/pass <passphrase>]
Long filenames (and passphrases that contain spaces) must be enclosed in quotes, for example:
Aut2Exe.exe /in "C:\my programs\my script.aut" /out "script.exe" /pass "This is my secret"
Note: Where an icon is not specified on the command line, the last icon that was used to compile a script is used by default.
Note: If a destination file is not specified, the resulting file will be called the same as the input file, but with the the extension changed to ".exe". For example, "myfile.aut" would be compiled by default to "myfile.exe".
Exe2Aut - Script Decompiler
This is a utility that will convert and previously compiled .exe back into an AutoIt script file. If a passphrase was used to compile the script, you will be required to enter the same passphrase to decompile the .exe. (We wouldn't want people decompiling other peoples scripts now, would we? :) )
Command Line Switches
Command line switches are similar to those of Aut2Exe:
Exe2Aut.exe /in <script.exe> [/out <script.aut>] [/pass <passphrase>]