Compiling

Scripts can be compiled to executable binary (.exe) files and distributed without exposing the original source code.

To compile via commad line use the following arguments:

ironahk /out example.exe script.ahk

Special directives like #AssemblyTitle and #AssemblyVersion can be used to set additional properties of the compiled executable file.

Performance

Compiled binaries do not have the overhead of parsing syntax before execution and are therefore quicker to start up. Performance can be further improved with Ngen on Windows or Mono AOT.

Security

While the resulting binary resembles nothing like the original source code, disassembly and reverse engineering can still be used to reveal any potentially sensitive strings or algorithms. This can be mitigated with obfuscation and encryption.

Dependencies

Binaries rely on IronAHK.Rusty.dll and IronAHK.Scripting.dll to be installed to the GAC, on the systems PATH or present in the same working directory. ILMerge or mkbundle can be used to avoid dependence, a future version will have similar functionality built-in.