Skip to content

Instantly share code, notes, and snippets.

@rubenwardy
Last active January 4, 2016 18:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rubenwardy/5397343 to your computer and use it in GitHub Desktop.
Save rubenwardy/5397343 to your computer and use it in GitHub Desktop.
Minetest Installer Script

Created by rubenwardy, based on a script by kaeza.

Your build directory should look like this:

  • minetest32/ (no games folder)
  • minetest64/ (no games folder)
  • games/
    • minetest_game/
    • minimal/
  • install.txt (included below)
  • license.txt (a copy of lgpl-2.1.txt, future versions of this script will just get it from minetest64/doc)
  • setup32.iss (included below)
  • setup64.iss (included below)
Thank you for trying out Minetest.
Have a look at our Getting Started, FAQ and Tutorials pages on our wiki.
## Minetest is designed to be modded.
You may also want to look at some subgames.
Subgames form a foundation for the game using Lua scripts.
Different subgames have different objectives, such as survival, building or Player vs Player.
Usually Minetest comes with Minetest Game, to supply the default items and blocks.
You can then add mods on top of a subgame in order to customize your experience further.
#define MyAppName "Minetest"
#define MyAppVersion "0.4.13"
#define MyAppPublisher "Minetest"
#define MyAppURL "http://www.minetest.net/"
#define MyForumURL "http://forum.minetest.net/"
#define I18N
[Setup]
AppId={{A024C0B7-5487-4571-8CA5-A3BDCBC0C250}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyForumURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={sd}\games\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputBaseFilename=setup
InfoBeforeFile=install.txt
LicenseFile=license.txt
#ifdef TESTING
Compression=none
SolidCompression=no
#else
Compression=lzma
SolidCompression=yes
#endif
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
[Files]
Source: minetest32\*; DestDir: {app}; Excludes: "minetest32\games"; Components: main; Flags: ignoreversion recursesubdirs;
Source: games\minetest_game\*; DestDir: {app}\games\minetest_game; Components: game; Flags: ignoreversion recursesubdirs;
Source: games\minimal\*; DestDir: {app}\games\minimal; Components: minimald; Flags: ignoreversion recursesubdirs;
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\bin\minetest.exe"
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\bin\minetest.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\bin\minetest.exe"; Tasks: quicklaunchicon
[Run]
Filename: "{app}\bin\minetest.exe"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[Components]
Name: main; Description: "Minetest Game Engine"; Flags: fixed; Types: full custom minimal
Name: game; Description: "Minetest Game (recommended)"; Types: full custom
Name: minimald; Description: "Minimal Development Test (not recommended)"; Types: minimal
[Types]
Name: full; Description: "Recommended Installation";
Name: minimal; Description: "Minimal Development Installation";
Name: custom; Description: "Custom Installation"; Flags: IsCustom;
[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
#ifdef I18N
Name: "pt"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
Name: "ca"; MessagesFile: "compiler:Languages\Catalan.isl"
Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl"
Name: "da"; MessagesFile: "compiler:Languages\Danish.isl"
Name: "du"; MessagesFile: "compiler:Languages\Dutch.isl"
Name: "fi"; MessagesFile: "compiler:Languages\Finnish.isl"
Name: "fr"; MessagesFile: "compiler:Languages\French.isl"
Name: "de"; MessagesFile: "compiler:Languages\German.isl"
Name: "el"; MessagesFile: "compiler:Languages\Greek.isl"
Name: "he"; MessagesFile: "compiler:Languages\Hebrew.isl"
Name: "hu"; MessagesFile: "compiler:Languages\Hungarian.isl"
Name: "it"; MessagesFile: "compiler:Languages\Italian.isl"
Name: "ja"; MessagesFile: "compiler:Languages\Japanese.isl"
Name: "nb"; MessagesFile: "compiler:Languages\Norwegian.isl"
Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl"
Name: "pt"; MessagesFile: "compiler:Languages\Portuguese.isl"
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "sl"; MessagesFile: "compiler:Languages\Slovenian.isl"
Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl"
Name: "uk"; MessagesFile: "compiler:Languages\Ukrainian.isl"
; ### TODO ###
Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl"
Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl"
#endif
#define MyAppName "Minetest"
#define MyAppVersion "0.4.13"
#define MyAppPublisher "Minetest"
#define MyAppURL "http://www.minetest.net/"
#define MyForumURL "http://forum.minetest.net/"
#define I18N
[Setup]
AppId={{A024C0B7-5487-4571-8CA5-A3BDCBC0C250}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyForumURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={sd}\games\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputBaseFilename=setup
InfoBeforeFile=install.txt
LicenseFile=license.txt
ArchitecturesAllowed=x64
ArchitecturesInstallIn64BitMode=x64
#ifdef TESTING
Compression=none
SolidCompression=no
#else
Compression=lzma
SolidCompression=yes
#endif
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
[Files]
Source: minetest64\*; DestDir: {app}; Excludes: "minetest64\games"; Components: main; Flags: ignoreversion recursesubdirs;
Source: games\minetest_game\*; DestDir: {app}\games\minetest_game; Components: game; Flags: ignoreversion recursesubdirs;
Source: games\minimal\*; DestDir: {app}\games\minimal; Components: minimald; Flags: ignoreversion recursesubdirs;
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\bin\minetest.exe"
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\bin\minetest.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\bin\minetest.exe"; Tasks: quicklaunchicon
[Run]
Filename: "{app}\bin\minetest.exe"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[Components]
Name: main; Description: "Minetest Game Engine"; Flags: fixed; Types: full custom minimal
Name: game; Description: "Minetest Game (recommended)"; Types: full custom
Name: minimald; Description: "Minimal Development Test (not recommended)"; Types: minimal
[Types]
Name: full; Description: "Recommended Installation";
Name: minimal; Description: "Minimal Development Installation";
Name: custom; Description: "Custom Installation"; Flags: IsCustom;
[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
#ifdef I18N
Name: "pt"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
Name: "ca"; MessagesFile: "compiler:Languages\Catalan.isl"
Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl"
Name: "da"; MessagesFile: "compiler:Languages\Danish.isl"
Name: "du"; MessagesFile: "compiler:Languages\Dutch.isl"
Name: "fi"; MessagesFile: "compiler:Languages\Finnish.isl"
Name: "fr"; MessagesFile: "compiler:Languages\French.isl"
Name: "de"; MessagesFile: "compiler:Languages\German.isl"
Name: "el"; MessagesFile: "compiler:Languages\Greek.isl"
Name: "he"; MessagesFile: "compiler:Languages\Hebrew.isl"
Name: "hu"; MessagesFile: "compiler:Languages\Hungarian.isl"
Name: "it"; MessagesFile: "compiler:Languages\Italian.isl"
Name: "ja"; MessagesFile: "compiler:Languages\Japanese.isl"
Name: "nb"; MessagesFile: "compiler:Languages\Norwegian.isl"
Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl"
Name: "pt"; MessagesFile: "compiler:Languages\Portuguese.isl"
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "sl"; MessagesFile: "compiler:Languages\Slovenian.isl"
Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl"
Name: "uk"; MessagesFile: "compiler:Languages\Ukrainian.isl"
; ### TODO ###
Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl"
Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl"
#endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment