.. index:: single: Distributing Ring Application; Introduction ============================== Distributing Ring Applications ============================== In this chapter we will learn about distributing Ring applications. The next method is old and was used in Ring 1.5 and previous versions! Starting from Ring 1.6 we have a nice tool called Ring2EXE Using Ring2EXE we can distribute applications quickly for Windows, Linux and macOS Check the Ring2EXE chapter for more information! .. index:: pair: Distributing Ring Application; Distributing Applications for Microsoft Windows Distributing Applications for Microsoft Windows =============================================== Step 1: .. code-block:: none Copy c:\ring\bin folder to be for example c:\myapp Step 2: .. code-block:: none Rename c:\myapp\ring.exe to c:\myapp\myapp.exe Step 3: .. code-block:: none Create a file c:\myapp\ring.ring And write .. code-block:: ring Load "myapp.ring" When you run myapp.exe the file ring.ring will be executed automatically So your file myapp.ring will be called and executed Or just rename myapp.ring to ring.ring It's a fast way to distribute applications. .. index:: pair: Distributing Ring Application; Protecting the Source Code Protecting the Source Code ========================== Step 1: Execute the next command .. code-block:: none ring myapp.ring -go This will generate one object file (myapp.ringo) from the project files (*.ring) Step 2: .. code-block:: none Rename myapp.ringo to ring.ringo When you run the executable file (ring.exe) or (myapp.exe) the file ring.ringo will be executed. .. index:: pair: Distributing Ring Application; The files ring.ring and ring.ringo The files ring.ring and ring.ringo ================================== Ring will run ring.ring or ring.ringo only when (1) The file exist in the current directory (2) No file is passed to (ring.exe) to execute We added the support to ring.ring (and ring.ringo) for a way to distribute Ring apps (before Ring2EXE) .. index:: pair: Distributing Ring Application; Creating Windows Installer Creating Windows Installer ========================== There are many tools that you can use to distribute your application. Check : nullsoft scriptable install system URL : http://nsis.sourceforge.net/Main_Page .. index:: pair: Distributing Ring Application; Using C/C++ Compiler and Linker Using C/C++ Compiler and Linker =============================== Another method to distribute applications is to use a C/C++ compiler. Ring can be embedded in C/C++ projects, We can create executable files using a C/C++ compiler by embedding the Ring language in our project. Check the "Embedding Ring Language in C/C++ Programs" chapter. Using this way we will avoid using ring.ring or ring.ringo files. .. index:: pair: Distributing Ring Application; Distributing Applications and Games for Mobile Distributing Applications and Games for Mobile ============================================== Ring can be embedded in a Qt projects or LibSDL projects to build Mobile applications and Games. You can build the Qt project or the LibSDL project and get the Android package directly (*.apk) Check Ring distributions for Mobile development using Qt or LibSDL.