- Convert your Ruby projects to exe files!
- For a program output example you can take a look at in the example folder.
gem install standalone-ruby
Standalone-Ruby - Make Ruby independent!
Usage: standalone-ruby [--help] [--project-path PROJECT_PATH] [--ruby-path RUBY_PATH] [--main-file MAIN_FILE] [--launcher LAUNCHER] [--gui]
[--template TEMPLATE] [--exe-file EXE_FILE] [--threads THREADS] [--resource-file resource_file] [--gcc] [--version]
Example: standalone-ruby --main-file MAIN_FILE_PATH --project-path PROJECT_PATH
Required Options:
--project-path PROJECT_PATH
Target Ruby project path.
--main-file MAIN_FILE
Path to the main Ruby file of the project.
Extra Options:
--ruby RUBY_PATH
Path to the Ruby interpreter.
--threads THREADS
Number of threads to use (default is 5). Determines the number of threads used during the Ruby interpreter
copy process and for Robocopy operations. A higher number of threads can speed up the process, but requires more system resources.
--resource-file RESOURCE_FILE
Resource file (.rc) for the exe file to be created. Only possible with MinGW.
--help
Show this help message and exit.
--version
Show program version and exit.
--gcc
Use GCC compiler for exe file.
--gui
This option allows the rubyw.exe file in the bin folder to be used.
You can choose it for projects that include GUI.
Notes:
- Make sure that the Ruby interpreter you are using includes all the gems required for the target project.
- The Ruby interpreter uses Robocopy for copying, and the number of threads given affects the speed of this operation.
For more details, please visit the documentation at:
https://github.com/ardatetikbey/Standalone-Ruby
You can obtain an .exe file with the following command:
standalone-ruby --project-path C:\Users\ardat\Desktop\example --main-file C:\Users\ardat\Desktop\example\main.rb
We will use the GCC compiler in detailed usage. Please make sure that MinGW is installed on your computer.
standalone-ruby --ruby-path C:\Ruby34-x64 --project-path C:\Users\ardat\Desktop\example --main-file C:\Users\ardat\Desktop\example\main.rb --gcc --resource-file C:\Users\ardat\Desktop\C\program.rc
To create a .exe file with a custom icon, you need to use GCC.
Add the value defined by the --resource-file parameter to the top of the .rc file, as in the example:
Example:
#include <windows.h>
1 ICON "C:\\Users\\arda\\Desktop\\test.ico" // Your ICON path
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904B0"
BEGIN
VALUE "CompanyName", "ArdaTetik\0"
VALUE "FileDescription", "MyProgram\0"
VALUE "FileVersion", "1.0.0.0\0"
VALUE "ProductName", "MyProgram\0"
END
END
END
- Make sure that the Ruby interpreter you are using includes all the gem files for the project you will be running.
- Make sure that the provided paths are valid and accessible from your system.
- The
threads
option can significantly impact performance during the copying process, so use it wisely based on your system’s capabilities. - The location changes of the project directories might prevent the program from working.
- Although it is very rare, some antiviruses can detect the exe files as viruses. This is not my fault, you may encounter such results when converting dynamic languages to exe. I have solved most of this problem.
- Packaged One-File Exe Support - The output of the exe file will be able to used as a single file.
- CLI Support - Support will be added for the programs that take parametres from the command line.
- Zip Packaging - Zip packaging support will be added to decrease the size of the output.
- Encrypted Ruby Execution - Ruby scripts will be encrypted for protection and will have an option to be decrypted and executed.
- This project is licensed under the MIT License.