Releases: luau-project/LuaInstaller
v0.6.1.0
Important
Please, before trying to use any tool provided here, perform the initial Setup
Overview
This is a bug-fix release:
- Fixed the installation of
lua.hppfor Lua versions ranging from 5.1 to 5.1.5. Previously, thislua.hppheader file was missed because it is not located in the usual source folder. However,lua.hppis an important file needed by people creating modules written in C++ for such Lua versions; - Improved the order of arguments passed to MSVC compiler and linker;
- Updated images on README to reflect the new release (v0.6.1.0).
End User application
Command Line application

v0.6.0.0
Important
Please, before trying to use any tool provided here, perform the initial Setup
Overview
The most impacting change: this release brings the possibility to perform a native build Lua for the ARM64 architecture (no cross-compilation). To do that, the user must to be running a 64-bit Windows on ARM.
Other changes that happened:
- Fixed the state (enabled / disabled) of refresh and install during their execution on
LuaInstaller(end user). - Added new alias for the help command (
-hand--help) onLuaInstaller.Console; - Added new commands to list Visual Studio versions capable to build Lua targeting ARM64 architecture (
list-vs-arm64) onLuaInstaller.Console; - Added new commands to list Windows SDK versions capable to build Lua targeting ARM64 architecture (
list-win-sdk-arm64) onLuaInstaller.Console; - The image of
LuaInstaller(end user) on the home page was updated;
- A new subsection for developers featuring the usage of
LuaInstaller.Consolewas added to the home page.
v0.5.0.0
Important
Please, before trying to use any tool provided here, perform the initial Setup
Overview
In this release, the most impacting changes were:
- An icon was provided for the
LuaInstallerapplication, which is also displayed in the README page; - Added CI examples on docs;
- Updated Setup images on README;
- Updated running
LuaInstallerimage on README, showing the new icon
- Information about the installer (version and website) is now available on the interface of the
LuaInstallerapplication; - New commands were added to
LuaInstaller.Console:help-website(displays the website of the project) and--versionor-v(displays the version of the installer). - When installing through
LuaInstaller.Console, version and website of the installer is shown on a successful Lua installation

- Reworked compiler and linker options;
- All artifacts (interpreter, compiler and DLL) are built using /MD compiler switch.
Technical discussion of the changes
- Reworked compiler and linker options: all arguments are passed to compiler and linker through compiler options and linker options, respectively. This way, it becomes easier to add / remove options passed to these tools without changing the base compiler
Executecommand. Also, this change enables a possible future feature to provide a custom CFLAGS to compiler and LDFLAGS to linker; - Based on Lua 5.1 build script for MSVC, and the way how LuaRocks builds libraries with MSVC, all artifacts (interpreter, compiler and DLL) are now using
/MDcompiler switch, causing the artifact to use the multithread-specific and DLL-specific version of the run-time library. Due this change, the final user might have to install Microsoft Visual C++ Redistributable package;
v0.4.0.0
Important
Please, before trying to use any tool provided here, perform the initial Setup.
Overview
The most important aspect of this release was the fix related to Windows SDK discovery, and the capability to build Lua using older Windows SDK versions. Now, the tools are able to detect Windows SDK (7.1, 8.0, 8.1 and newer)
that were installed by Visual Studio, or by the standard installer provided by the SDK archives. Not only discovery, but the tools can also build Lua using each Windows SDK mentioned above (7.1 or newer).
Note
If you want to build Lua using Windows SDK 8.1 or older, unless you have legacy versions of Visual Studio (2013 or older), you are required to have Universal CRT SDK installed on your computer. For such, any Windows SDK 10 or newer installed also brings the Universal CRT SDK together. In short, you need both Windows SDK 8.1 + Windows SDK 10.0 (or newer) installed to build for 8.1 (same applies for 8.0 and 7.1).
Technical discussion of the changes
-
Discovery of Windows SDK was fixed. Previously, even though an user could have multiple Windows SDK installed either by Visual Studio or standalone installers, the tool didn't detect them properly. Also, multiple copies of the same SDK could be viewed on some conditions. For now, only a single instance of the SDK will be shown;
-
Building Lua using old Windows SDK version was fixed (SDK 7.1, 8.0 and 8.1). However, as explained above, it most likely needs a Windows SDK 10.0 or newer installed too. Final users of Windows 7, 8.0 and 8.1 are required to install Windows Updates to receive the Universal CRT;
-
Beginning on this release, we added a summary of the options used to build Lua through
LuaInstaller.Console. This summary appears after a successful installation

-
New commands
list-win-sdk-x86andlist-win-sdk-x64were added toLuaInstaller.Console; -
In the project
LuaInstaller.Core, the classIInstalledComponentswas reworked to abstract the returned list of Visual Studio and Windows SDK instances. A method to get the latest version of such tools was added; Moreover, the methodBuildin the classInstallationManagerwas renamed toExecuteInstall, and it was declared obsolete; -
Documentation for each project were moved to
docstop level folder to ease navigation.
v0.3.0.0
Important
Please, before trying to use the tools provided here, perform the initial Setup.
Overview
- This new release builds Lua with compatibility to previous Lua versions, as is on unix;
- Basic usage for LuaInstaller.Core was added;
- This release also fixes pkg-config related variables depending on the Lua version
Note
At the moment, v0.2.0.0 continues to work, because there are no Lua versions that make pkg-config fail. However, if Lua reaches 5.10.0 in the future, v0.2.0.0 will face an issue when writing pkg-config files.
Technical discussion of the changes
- This release brings the same behavior of building Lua on unix systems: when
-DLUA_COMPAT_*macro is defined on theMakefile, it is added to the build parameters; - Fixed an issue that interpreted
5.10.0as an older version than5.2.4. This issue affected the generated pkg-config file, and thus forwarding the issue for modules that depend on it. As explained above, v0.2.0.0 is safe while Lua does not hit5.10.0or something like that; - In order to fix the version-related issue, all the version-related objects were reworked (
LuaVersion,VisualStudioVersion,WindowsSdkVersionand others) to have a default comparison as expected (ascending), not the one used on UI (descending). This obviously break compatibility with v0.2.0.0 and older.
v0.2.0.0
Overview
Since the introduction of pkg-config files in the installed directory of Lua, LuaInstaller became able to integrate nicely in the build process of some important libraries like LGI. However, it brought to light some hidden bugs in that fresh introduced feature. With this release, issues regarding the path of directories stored on such files were addressed.
In the current state, the library is continuously tested by different configurations of two famous libraries (LuaFileSystem and LGI), and also LuaRocks.
Technical discussion of the main changes
- Fixed INSTALL_LMOD and INSTALL_CMOD on installed pkg-config files (.pc) for Lua 5.2.4 and older. On Lua modules that depend on these variables, they should work without LuaRocks being installed from now on;
- INSTALL_LMOD and INSTALL_CMOD on installed pkg-config files (.pc) now holds the full path to the destination directory. When installing Lua through the graphical program (
LuaInstaller.exe) and a relative destination path was given, the pkg-config file stored the path as relative; - On
LuaInstaller.Core, warnings related to WebClient-derived features were solved by coding a new download feature using the recommended HttpClient class. Other minor warnings were also cleaned; - For the users of the library
LuaInstaller.Core, the methodGetLatestVersionwas marked as obsolete. Now,TryGetLatestVersionis the recommended approach; - CI was improved by adding LGI as a build requirement. At the moment of writing, since LGI on Windows depends on INSTALL_LMOD and INSTALL_CMOD of the pkg-config files, it verifies the good behavior of the installed pkg-config files;
- CI was split to span different reusable workflows.
v0.1.0.1
Main changes
- Now, a
pkg-configfile for Lua was added as an installed file. This change has the purpose to allow library users to employ the pkg-config tool to find Lua when developing C modules. Moreover, on Windows, some important libraries like https://github.com/lgi-devs/lgi relies on a pkg-config file for Lua in order to install nicely through meson; - AppVeyor CI was dropped. On the other hand, GitHub Actions was added as CI
, which can be seen at https://github.com/luau-project/LuaInstaller/blob/master/.github/workflows/CI.yaml:
- The binaries installed by this toolset are now tested with LuaRocks, and LuaFileSystem, in order to check a good behavior of the Lua installation;
- As a safety measure, the binaries released here are no longer built manually. Instead, such binaries are now generated by the CI on GitHub Actions. Each zip file has respective MD5 and SHA256 hashes.
- Previously, the linker built binaries directly to the installation directory. Now, binaries are installed to a work directory, then copied to the installation directory;
- DLL and import library were renamed.
Compatibility
Important
Breaking changes: Lua DLL name now follows the pattern luaXY.dll, where X is the major and Y the minor version of Lua (previously, it was named luaX.Y). This change has the intent to use the same name as used by Lua's original Makefile. The import library (.lib) has also been renamed to luaXY.lib.
v0.0.4
It is a bug fix release: Fixing Visual Studio version matching behavior.
Important
Before trying to install anything, follow the instructions on README to install MSVC Build Tools and Windows SDK. After these tools are properly installed on your Windows system, you are ready to proceed.
- For EndUsers: Download and extract LuaInstaller.EndUsers-x64.zip file, then run LuaInstaller.exe to perform Lua installations.
- For Developers: If you are interested in the command line version, download and extract LuaInstaller.Console-x64.zip file, then run LuaInstaller.Console.exe to install Lua from the command line.
Enjoy!
v0.0.3-alpha
This release allows LuaInstaller.exe to build Lua from its source code using the 3 latest versions of Visual Studio at the moment (VS 2022, VS 2019 and VS 2017).
Take a closer look in the README and follow that mini tutorial to:
- install the latest MSVC build tools;
- install the latest Windows SDK;
- download this release;
- use LuaInstaller.exe.
Enjoy.
v0.0.2-alpha
This release is a fix for Windows SDK discovery in some systems.
LuaInstaller.Console.zip
LuaInstaller.Core.zip
LuaInstaller.zip


