OneLuaPro is ...
- a portable, monolithic, and curated distribution of the Lua programming language for the Windows operation system,
- natively built with MSVC compilers,
- provided as
x64signed binaries and signed installers for Windows 7 to Windows 11, - targeted for corporate application scenarios on computers without permanent Internet access.
OneLuaPro is not ...
- made for compatibility with Lua package managers like
luarocks.
OneLuaPro supports ...
- easy entry into the Lua world by providing the ZeroBrane Studio Integrated Development Environment (IDE) and the luacheck linter for static code analysis.
OneLuaPro can ...
- be built with minimum effort and toolchain-footprint as all its components are prepared for the CMake build infrastructure,
- be installed entirely without administrative privileges using the released zip-archives,
- be installed or uninstalled using the provided signed installer packages.
Download OneLuaPro from here: https://github.com/OneLuaPro/OneLuaPro/releases
Notice that all executables, all DLL, both installer and uninstaller (in case of NSIS64 option), as well as the MSI-install package are provided as certified code-signed binaries.
Double-click the installer and follow the installer wizard. This installer requires administrative rights. A scripted installation or removal is also possible. When launched from an elevated command prompt, the User Account Control prompt will be circumvented.
# Standard non-interactve installation into c:\Program Files\OneLuaPro
msiexec.exe /i OneLuaPro-<VERSION>-x64.msi /qb
# Customized non-interactive installation into c:\Apps\OneLuaPro
msiexec.exe /i OneLuaPro-<VERSION>-x64.msi /qb INSTALL_ROOT="C:\Apps\OneLuaPro"
# Software Removal
msiexec.exe /x OneLuaPro-5.4.8.2-x64.msi /qbThe installer creates or removes entries in the Windows Start Menu and updates the PATH-variable accordingly. Software removal is also possible via Windows Settings "Apps & Features".
Double-click the installer and follow the installer wizard. This installer does not require administrative rights. The installer creates entries in the Windows Start Menu and updates the PATH-variable. Software removal is also possible via Windows Settings "Apps & Features".
Unpack downloaded zip-archive into a directory of your choice. The suggested installation path is c:\Apps, which is typically accessible without administrative rights. Manually extend PATH-variable to the bin directory of your installation, e.g. C:\Apps\OneLuaPro-<VERSION>-x64\bin. Documentation and code examples are located in <OneLuaPro_Install_Path>\share\doc.
The provided installer can be used on Windows 7 but may have some flaws, which can be fixed manually:
- In case the installer complains about
PATHenvironment variable being too long to be extended for OneLuaPro, install without updating the variable and editPATHmanually by addingC:\Program Files\OneLuaPro\bin(or the installation directory of your choice) to the content ofPATH. - ZeroBraneStudio may complain about a missing DLL (
vcruntime140_1.dll). Simply copy this DLL fromC:\Program Files\OneLuaPro\bintoC:\Program Files\OneLuaPro\opt\ZeroBraneStudio. This flaw may also occur after installation using the provided ZIP-archive.
OneLuaPro comprises not only the Lua programming language binaries, but also a number of mature and widely-used extensions (modules) in their respective most recent version, all of which tailored to OneLuaPro's needs:
| Extension | Purpose | Version | License |
|---|---|---|---|
| Lua | The Lua Programming Language | v5.4.8 | |
| LuaSocket | Network support for the Lua language | v3.1.0 with commits until Nov 14, 2025 | |
| librs232 | Multi-platform library for serial communications over RS-232 (serial port) | v1.0.3 with commits until Oct 12, 2023 | |
| LuaFileSystem | Complements the set of functions related to file systems offered by the standard Lua distribution | v1.9.0 | |
| argparse | Feature-rich command line parser for Lua inspired by argparse for Python | v0.7.1 | |
| Luacheck | Static analyzer and a linter for Lua. It detects various issues such as usage of undefined global variables, unused variables and values, accessing uninitialized variables, unreachable code and more. | v1.2.0 with commits until Aug 1, 2025 | |
| lsleep | Adds the missing sleep() and usleep() functions to Lua. |
v1.05 | |
| lua-ffi | A portable lightweight C foreign function interface (FFI) for Lua, based on libffi | v1.1.0 with commits until Nov 9, 2025 | |
| MoonUSB | Lua binding library for libusb, allowing applications to access and use USB devices. | v0.1 with commits until Jul 25, 2023 | |
| luv | Bare libuv bindings for Lua | v1.51.0-2 with commits until Jan 19, 2026 | |
| lanes | Lua Lanes - multithreading in Lua | v4.0.0 with commits until Dec 1, 2025 | |
| luaping | The missing ping command for Lua | v1.1 with commits until Jul 27, 2025 | |
| luadaqmx | OneLuaPro gateway to National Instrument's DAQmx driver | v0.1 with commits until Oct 13, 2024 | |
| lua4882 | OneLuaPro gateway to National Instrument's NI-488.2 (GPIB) driver | v1.2.1 | |
| LPeg | Parsing Expression Grammars For OneLuaPro | v1.1.0 | |
| wxLua | wxLua is a Lua wrapper for the cross-platform wxWidgets GUI library | v3.2.0.2 with commits until Sep 4, 2023 | |
| ZeroBrane Studio | lightweight cross-platform Lua IDE with code completion, syntax highlighting, remote debugger, code analyzer, live coding, and debugging support | v2.01 with commits until May 19, 2024 | |
| Penlight | A set of pure Lua libraries focusing on input data handling (such as reading configuration files), functional programming (such as map, reduce, placeholder expressions,etc), and OS path management. Much of the functionality is inspired by the Python standard libraries. | v1.15.0 with commits until Jan 19, 2026 | |
| lcomplex | Lua complex numbers support module | v1.0 | |
| luaSGF | Lua bindings for the Savitzky-Golay-Filter Implementation for data filtering or smoothing | v1.0 | |
| luacrc32c | Lua bindings for Google's CRC-32C implementation | v1.0 | |
| lua-zlib | Simple streaming interface to zlib for Lua | v1.4 | |
| lua-cjson | Fast JSON encoding/parsing module for Lua | v2.1.0.16 with commit until Jan 19, 2026 | |
| luasec | Secure connections to any Lua application or script | v1.3.2 with commits until Jul 10, 2025 | |
| lua-openssl | OpenSSL bindings for Lua | v0.11.0-2 with commits until Jan 17, 2026 | |
| ldoc | Lua documentation generator which can also process C extension source files | v1.5.0 with commits until Jul 22, 2024 | |
| luasystem | Platform independent system calls for Lua | v0.6.3 with commits until Jan 17, 2026 | |
| lua_cliargs | Command-line argument parsing module for Lua | v3.0.2 with commits until Dec 18, 2023 | |
| dkjson | JSON module written in Lua | v2.8 | |
| say | Lua string hashing library, useful for internationalization | v1.4.1 with commits until Aug 13, 2023 | |
| luassert | Assertion library for Lua | v1.9.0 with commits until Nov 7, 2024 | |
| mediator_lua | Mediator pattern implementation for pub-sub management | v1.1.2 with commits until Feb 24, 2020 | |
| lua-term | Terminal operations for Lua | v0.8 with commits until Jul 2, 2024 | |
| lua-utf8 | UTF-8 support module for Lua | v0.2.0 with commits until Nov 15, 2025 | |
| inifile | A simple and complete ini-File Parser for Lua | v1.1 | |
| busted | Elegant Lua unit testing | v2.3.0 |
👉 Are you missing an important Lua extension or Lua library? Please let us know here. 👈
OneLuaPro uses the following libraries:
| Dependency | Purpose | Used by | Version | License |
|---|---|---|---|---|
| libffi | A Portable Foreign Function Interface Library. | lua-ffi | v3.5.2 with commits until Dec 26, 2025 | |
| libusb | A library for USB device access. | MoonUSB | v1.0.29 with commits until Jan 5, 2026 | |
| libuv | Cross-platform asynchronous I/O | luv | v1.51.0 | |
| NI‑DAQmx | Provides a high‑performance, unified API for controlling and acquiring data from National Instruments measurement hardware | luadaqmx | 2025 Q4 | See here |
| NI-488.2 | Provides support for customers using NI GPIB controllers and NI embedded controllers with GPIB ports | lua4882 | 2025 Q4 | See here |
| wxWidgets | wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls | wxLua | v3.2.9 | |
| Savitzky-Golay-Filter | C implementation of Least-Squares Smoothing and Differentiation by the Convolution (Savitzky-Golay) Method | luaSGF | v0.1 with commits until Nov 12, 2025 | |
| crc32c | Google's implantation of the CRC-32C hashing algorithm | luacrc32c | v1.1.2 with commits until Apr 8, 2025 | |
| zlib-ng | zlib replacement with optimizations for "next generation" systems | lua-zlib | v2.3.2 | |
| api-ms-win-core-path-l1-1-0 | A minimal implementation of api-ms-win-core-path-l1-1-0.dll for Windows 7 |
OneLuaPro Windows 7 Support | v1.0.0 | |
| dlfcn-win32 | dlfcn-win32 is an implementation of dlfcn for Windows |
Prerequisite for building lua-ffi | v1.4.2 | |
| libressl | An open-source implementation of the Transport Layer Security (TLS) protocol | luasec, lua-openssl | v4.2.1 | See here |
See instructions in OneLuaPro head repository: https://github.com/OneLuaPro/OneLuaPro
See https://github.com/OneLuaPro/OneLuaPro/blob/main/LICENSE.txt.