aboutsummaryrefslogtreecommitdiff
path: root/dists/nsis
diff options
context:
space:
mode:
authorLittleboy2011-04-26 09:29:14 -0400
committerLittleboy2011-04-27 11:08:39 -0400
commit646def4947d5274dbb386e686a3840af1ceffba7 (patch)
treedada88d2a9218cea2800bf6078843cd004e685ee /dists/nsis
parent68d0602b0dc49f0ca1c3561613dc868ef5a94f93 (diff)
downloadscummvm-rg350-646def4947d5274dbb386e686a3840af1ceffba7.tar.gz
scummvm-rg350-646def4947d5274dbb386e686a3840af1ceffba7.tar.bz2
scummvm-rg350-646def4947d5274dbb386e686a3840af1ceffba7.zip
DISTS: Add NSIS installer script template for building windows installers
Diffstat (limited to 'dists/nsis')
-rw-r--r--dists/nsis/graphics/left.bmpbin0 -> 154542 bytes
-rw-r--r--dists/nsis/graphics/scummvm-install.icobin0 -> 120798 bytes
-rw-r--r--dists/nsis/scummvm.nsi305
-rw-r--r--dists/nsis/scummvm.nsi.in305
4 files changed, 610 insertions, 0 deletions
diff --git a/dists/nsis/graphics/left.bmp b/dists/nsis/graphics/left.bmp
new file mode 100644
index 0000000000..8b31d7d09a
--- /dev/null
+++ b/dists/nsis/graphics/left.bmp
Binary files differ
diff --git a/dists/nsis/graphics/scummvm-install.ico b/dists/nsis/graphics/scummvm-install.ico
new file mode 100644
index 0000000000..d678f31d9b
--- /dev/null
+++ b/dists/nsis/graphics/scummvm-install.ico
Binary files differ
diff --git a/dists/nsis/scummvm.nsi b/dists/nsis/scummvm.nsi
new file mode 100644
index 0000000000..9e0a5262d3
--- /dev/null
+++ b/dists/nsis/scummvm.nsi
@@ -0,0 +1,305 @@
+# ScummVM - Graphic Adventure Engine
+#
+# ScummVM is the legal property of its developers, whose names
+# are too numerous to list here. Please refer to the COPYRIGHT
+# file distributed with this source distribution.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+#!define _DEBUG
+
+# Included files
+!include MUI2.nsh
+
+#########################################################################################
+# Folders
+#########################################################################################
+#!define top_srcdir "" ; passed through command line
+#!define build_dir "" ; passed through command line
+#!define text_dir "" ; passed through command line
+!define engine_data "${top_srcdir}\dists\engine-data"
+!define theme_data "${top_srcdir}\gui\themes"
+
+#########################################################################################
+# General Symbol Definitions
+#########################################################################################
+!define REGKEY "Software\$(^Name)\$(^Name)"
+!define VERSION "1.3.0git"
+!define COMPANY "ScummVM Team"
+!define URL "http://scummvm.org/"
+!define DESCRIPTION "ScummVM Installer. Look! A three headed monkey (TM)!"
+!define COPYRIGHT "Copyright © 2001-2011 The ScummVM Team"
+
+#########################################################################################
+# Installer configuration
+#########################################################################################
+Name ScummVM
+OutFile ${build_dir}\scummvm-${VERSION}-win32.exe
+InstallDir $PROGRAMFILES\ScummVM ; default installation folder
+; Get installation folder from registry if available
+InstallDirRegKey HKCU "Software\ScummVM\ScummVM" "InstallPath" ; The application name needs to be refered directly instead of through ${REGKEY}
+ ; because lang strings aren't initialized at the point InstallDirRegKey is called
+
+CRCCheck on
+XPStyle on
+#TargetMinimalOS 5.0 ; Minimal version of windows for installer: Windows 2000 or more recent
+ ; (will build unicode installer with NSIS 2.50+)
+
+VIProductVersion 1.3.0.0
+VIAddVersionKey ProductName $(^Name)
+VIAddVersionKey ProductVersion "${VERSION}"
+VIAddVersionKey CompanyName "${COMPANY}"
+VIAddVersionKey CompanyWebsite "${URL}"
+VIAddVersionKey FileVersion "${VERSION}"
+VIAddVersionKey FileDescription "${DESCRIPTION}"
+VIAddVersionKey LegalCopyright "${COPYRIGHT}"
+
+BrandingText "$(^Name) ${VERSION}" ; Appears as branding on the installer
+
+ShowInstDetails show
+ShowUninstDetails show
+
+!ifdef _DEBUG
+ SetCompress off ;for debugging the installer, lzma takes forever
+ RequestExecutionLevel user
+!else
+ SetCompressor /FINAL /SOLID lzma
+ SetCompressorDictSize 64
+ RequestExecutionLevel admin ; for installation into program files folders
+!endif
+
+#########################################################################################
+# MUI Symbol Definitions
+#########################################################################################
+!define MUI_WELCOMEFINISHPAGE_BITMAP "graphics\left.bmp"
+!define MUI_ICON "graphics\scummvm-install.ico"
+!define MUI_FINISHPAGE_NOAUTOCLOSE
+!define MUI_LICENSEPAGE_RADIOBUTTONS
+!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKCU
+!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}
+!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
+!define MUI_STARTMENUPAGE_DEFAULTFOLDER ScummVM
+!define MUI_FINISHPAGE_RUN "$INSTDIR\scummvm.exe"
+!define MUI_FINISHPAGE_RUN_NOTCHECKED
+!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.txt"
+!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
+!define MUI_UNICON "graphics\scummvm-install.ico"
+!define MUI_UNFINISHPAGE_NOAUTOCLOSE
+
+#########################################################################################
+# Installer pages
+#########################################################################################
+# Variables
+Var StartMenuGroup
+
+;Remember the installer language
+!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
+!define MUI_LANGDLL_REGISTRY_KEY "${REGKEY}"
+!define MUI_LANGDLL_REGISTRY_VALUENAME "InstallerLanguage"
+
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_LICENSE ${top_srcdir}\COPYING
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
+!insertmacro MUI_PAGE_INSTFILES
+!insertmacro MUI_PAGE_FINISH
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+
+# Installer languages
+!insertmacro MUI_LANGUAGE "English" ;first language is the default language
+
+!ifndef _DEBUG ; Skip other languages when building debug builds
+!insertmacro MUI_LANGUAGE "French"
+!insertmacro MUI_LANGUAGE "German"
+!insertmacro MUI_LANGUAGE "Spanish"
+!insertmacro MUI_LANGUAGE "SpanishInternational"
+!insertmacro MUI_LANGUAGE "SimpChinese"
+!insertmacro MUI_LANGUAGE "TradChinese"
+!insertmacro MUI_LANGUAGE "Japanese"
+!insertmacro MUI_LANGUAGE "Korean"
+!insertmacro MUI_LANGUAGE "Italian"
+!insertmacro MUI_LANGUAGE "Dutch"
+!insertmacro MUI_LANGUAGE "Danish"
+!insertmacro MUI_LANGUAGE "Swedish"
+!insertmacro MUI_LANGUAGE "Norwegian"
+!insertmacro MUI_LANGUAGE "NorwegianNynorsk"
+!insertmacro MUI_LANGUAGE "Finnish"
+!insertmacro MUI_LANGUAGE "Greek"
+!insertmacro MUI_LANGUAGE "Russian"
+!insertmacro MUI_LANGUAGE "Portuguese"
+!insertmacro MUI_LANGUAGE "PortugueseBR"
+!insertmacro MUI_LANGUAGE "Polish"
+!insertmacro MUI_LANGUAGE "Ukrainian"
+!insertmacro MUI_LANGUAGE "Czech"
+!insertmacro MUI_LANGUAGE "Slovak"
+!insertmacro MUI_LANGUAGE "Croatian"
+!insertmacro MUI_LANGUAGE "Bulgarian"
+!insertmacro MUI_LANGUAGE "Hungarian"
+!insertmacro MUI_LANGUAGE "Thai"
+!insertmacro MUI_LANGUAGE "Romanian"
+!insertmacro MUI_LANGUAGE "Latvian"
+!insertmacro MUI_LANGUAGE "Macedonian"
+!insertmacro MUI_LANGUAGE "Estonian"
+!insertmacro MUI_LANGUAGE "Turkish"
+!insertmacro MUI_LANGUAGE "Lithuanian"
+!insertmacro MUI_LANGUAGE "Slovenian"
+!insertmacro MUI_LANGUAGE "Serbian"
+!insertmacro MUI_LANGUAGE "SerbianLatin"
+!insertmacro MUI_LANGUAGE "Arabic"
+!insertmacro MUI_LANGUAGE "Farsi"
+!insertmacro MUI_LANGUAGE "Hebrew"
+!insertmacro MUI_LANGUAGE "Indonesian"
+!insertmacro MUI_LANGUAGE "Mongolian"
+!insertmacro MUI_LANGUAGE "Luxembourgish"
+!insertmacro MUI_LANGUAGE "Albanian"
+!insertmacro MUI_LANGUAGE "Breton"
+!insertmacro MUI_LANGUAGE "Belarusian"
+!insertmacro MUI_LANGUAGE "Icelandic"
+!insertmacro MUI_LANGUAGE "Malay"
+!insertmacro MUI_LANGUAGE "Bosnian"
+!insertmacro MUI_LANGUAGE "Kurdish"
+!insertmacro MUI_LANGUAGE "Irish"
+!insertmacro MUI_LANGUAGE "Uzbek"
+!insertmacro MUI_LANGUAGE "Galician"
+!insertmacro MUI_LANGUAGE "Afrikaans"
+!insertmacro MUI_LANGUAGE "Catalan"
+!insertmacro MUI_LANGUAGE "Esperanto"
+!endif
+
+;Reserve Files (will make sure the file will be stored first in the data block
+; making the installer start faster when compressing in solid mode)
+!insertmacro MUI_RESERVEFILE_LANGDLL
+
+#########################################################################################
+# Installer sections
+#########################################################################################
+Section "ScummVM" SecMain
+ SetOutPath $INSTDIR
+ SetOverwrite on
+
+ # Text files
+ File /oname=AUTHORS.txt "${text_dir}\AUTHORS"
+ File /oname=COPYING.LGPL.txt "${text_dir}\COPYING.LGPL"
+ File /oname=COPYING.txt "${text_dir}\COPYING"
+ File /oname=COPYRIGHT.txt "${text_dir}\COPYRIGHT"
+ File /oname=NEWS.txt "${text_dir}\NEWS"
+ File /oname=README.txt "${text_dir}\README"
+
+ # Engine data
+ File "${engine_data}\drascula.dat"
+ File "${engine_data}\hugo.dat"
+ File "${engine_data}\kyra.dat"
+ File "${engine_data}\lure.dat"
+ File "${engine_data}\m4.dat"
+ File "${engine_data}\queen.tbl"
+ File "${engine_data}\sky.cpt"
+ File "${engine_data}\teenagent.dat"
+ File "${engine_data}\toon.dat"
+
+ File "${top_srcdir}\dists\pred.dic"
+
+ # Themes
+ File "${theme_data}\scummclassic.zip"
+ File "${theme_data}\scummmodern.zip"
+ File "${theme_data}\translations.dat"
+
+ # Main exe and dlls
+ File "${build_dir}\scummvm.exe"
+ File "${build_dir}\SDL.dll"
+
+ WriteRegStr HKCU "${REGKEY}" InstallPath "$INSTDIR" ; Store installation folder
+SectionEnd
+
+Section -post SecMainPost
+ ; Write Start menu entries and uninstaller
+ SetOutPath $INSTDIR
+ WriteUninstaller $INSTDIR\uninstall.exe
+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+ CreateShortCut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" "$INSTDIR\$(^Name).exe" "" "$INSTDIR\$(^Name).exe" 0
+ CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" $INSTDIR\uninstall.exe
+ !insertmacro MUI_STARTMENU_WRITE_END
+ WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
+ WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"
+ WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"
+ WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"
+ WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe
+ WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
+ WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" InstallLocation $INSTDIR
+ WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
+ WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
+SectionEnd
+
+# Installer functions
+Function .onInit
+ !insertmacro MUI_LANGDLL_DISPLAY
+
+!ifdef _DEBUG
+ LogSet on
+!endif
+FunctionEnd
+
+#########################################################################################
+# Uninstaller sections
+#########################################################################################
+Section /o -un.Main SecUninstall
+ Delete /REBOOTOK $INSTDIR\translations.dat
+ Delete /REBOOTOK $INSTDIR\toon.dat
+ Delete /REBOOTOK $INSTDIR\teenagent.dat
+ Delete /REBOOTOK $INSTDIR\sky.cpt
+ Delete /REBOOTOK $INSTDIR\SDL.dll
+ Delete /REBOOTOK $INSTDIR\scummvm.exe
+ Delete /REBOOTOK $INSTDIR\scummmodern.zip
+ Delete /REBOOTOK $INSTDIR\scummclassic.zip
+ Delete /REBOOTOK $INSTDIR\README-SDL.txt
+ Delete /REBOOTOK $INSTDIR\README.txt
+ Delete /REBOOTOK $INSTDIR\queen.tbl
+ Delete /REBOOTOK $INSTDIR\pred.dic
+ Delete /REBOOTOK $INSTDIR\NEWS.txt
+ Delete /REBOOTOK $INSTDIR\m4.dat
+ Delete /REBOOTOK $INSTDIR\lure.dat
+ Delete /REBOOTOK $INSTDIR\kyra.dat
+ Delete /REBOOTOK $INSTDIR\hugo.dat
+ Delete /REBOOTOK $INSTDIR\drascula.dat
+ Delete /REBOOTOK $INSTDIR\COPYRIGHT.txt
+ Delete /REBOOTOK $INSTDIR\COPYING.txt
+ Delete /REBOOTOK $INSTDIR\COPYING.LGPL.txt
+ Delete /REBOOTOK $INSTDIR\AUTHORS.txt
+SectionEnd
+
+Section -un.post SecUninstallPost
+ DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
+ Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk"
+ Delete /REBOOTOK $INSTDIR\uninstall.exe
+ DeleteRegValue HKCU "${REGKEY}" StartMenuGroup
+ DeleteRegValue HKCU "${REGKEY}" InstallPath
+ DeleteRegValue HKCU "${REGKEY}" InstallerLanguage
+ DeleteRegKey /IfEmpty HKCU "${REGKEY}"
+ RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup
+ RmDir /REBOOTOK $INSTDIR ; will only remove if empty (pass /r flag for recursive behavior)
+ Push $R0
+ StrCpy $R0 $StartMenuGroup 1
+ StrCmp $R0 ">" no_smgroup
+
+no_smgroup:
+ Pop $R0
+SectionEnd
+
+# Uninstaller functions
+Function un.onInit
+ !insertmacro MUI_UNGETLANGUAGE
+ ReadRegStr $INSTDIR HKCU "${REGKEY}" InstallPath
+ !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup
+FunctionEnd
diff --git a/dists/nsis/scummvm.nsi.in b/dists/nsis/scummvm.nsi.in
new file mode 100644
index 0000000000..340c9543d9
--- /dev/null
+++ b/dists/nsis/scummvm.nsi.in
@@ -0,0 +1,305 @@
+# ScummVM - Graphic Adventure Engine
+#
+# ScummVM is the legal property of its developers, whose names
+# are too numerous to list here. Please refer to the COPYRIGHT
+# file distributed with this source distribution.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+#!define _DEBUG
+
+# Included files
+!include MUI2.nsh
+
+#########################################################################################
+# Folders
+#########################################################################################
+#!define top_srcdir "" ; passed through command line
+#!define build_dir "" ; passed through command line
+#!define text_dir "" ; passed through command line
+!define engine_data "${top_srcdir}\dists\engine-data"
+!define theme_data "${top_srcdir}\gui\themes"
+
+#########################################################################################
+# General Symbol Definitions
+#########################################################################################
+!define REGKEY "Software\$(^Name)\$(^Name)"
+!define VERSION "@VERSION@"
+!define COMPANY "ScummVM Team"
+!define URL "http://scummvm.org/"
+!define DESCRIPTION "ScummVM Installer. Look! A three headed monkey (TM)!"
+!define COPYRIGHT "Copyright © 2001-2011 The ScummVM Team"
+
+#########################################################################################
+# Installer configuration
+#########################################################################################
+Name ScummVM
+OutFile ${build_dir}\scummvm-${VERSION}-win32.exe
+InstallDir $PROGRAMFILES\ScummVM ; default installation folder
+; Get installation folder from registry if available
+InstallDirRegKey HKCU "Software\ScummVM\ScummVM" "InstallPath" ; The application name needs to be refered directly instead of through ${REGKEY}
+ ; because lang strings aren't initialized at the point InstallDirRegKey is called
+
+CRCCheck on
+XPStyle on
+#TargetMinimalOS 5.0 ; Minimal version of windows for installer: Windows 2000 or more recent
+ ; (will build unicode installer with NSIS 2.50+)
+
+VIProductVersion @VER_MAJOR@.@VER_MINOR@.@VER_PATCH@.0
+VIAddVersionKey ProductName $(^Name)
+VIAddVersionKey ProductVersion "${VERSION}"
+VIAddVersionKey CompanyName "${COMPANY}"
+VIAddVersionKey CompanyWebsite "${URL}"
+VIAddVersionKey FileVersion "${VERSION}"
+VIAddVersionKey FileDescription "${DESCRIPTION}"
+VIAddVersionKey LegalCopyright "${COPYRIGHT}"
+
+BrandingText "$(^Name) ${VERSION}" ; Appears as branding on the installer
+
+ShowInstDetails show
+ShowUninstDetails show
+
+!ifdef _DEBUG
+ SetCompress off ;for debugging the installer, lzma takes forever
+ RequestExecutionLevel user
+!else
+ SetCompressor /FINAL /SOLID lzma
+ SetCompressorDictSize 64
+ RequestExecutionLevel admin ; for installation into program files folders
+!endif
+
+#########################################################################################
+# MUI Symbol Definitions
+#########################################################################################
+!define MUI_WELCOMEFINISHPAGE_BITMAP "graphics\left.bmp"
+!define MUI_ICON "graphics\scummvm-install.ico"
+!define MUI_FINISHPAGE_NOAUTOCLOSE
+!define MUI_LICENSEPAGE_RADIOBUTTONS
+!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKCU
+!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}
+!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
+!define MUI_STARTMENUPAGE_DEFAULTFOLDER ScummVM
+!define MUI_FINISHPAGE_RUN "$INSTDIR\scummvm.exe"
+!define MUI_FINISHPAGE_RUN_NOTCHECKED
+!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.txt"
+!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
+!define MUI_UNICON "graphics\scummvm-install.ico"
+!define MUI_UNFINISHPAGE_NOAUTOCLOSE
+
+#########################################################################################
+# Installer pages
+#########################################################################################
+# Variables
+Var StartMenuGroup
+
+;Remember the installer language
+!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
+!define MUI_LANGDLL_REGISTRY_KEY "${REGKEY}"
+!define MUI_LANGDLL_REGISTRY_VALUENAME "InstallerLanguage"
+
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_LICENSE ${top_srcdir}\COPYING
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
+!insertmacro MUI_PAGE_INSTFILES
+!insertmacro MUI_PAGE_FINISH
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+
+# Installer languages
+!insertmacro MUI_LANGUAGE "English" ;first language is the default language
+
+!ifndef _DEBUG ; Skip other languages when building debug builds
+!insertmacro MUI_LANGUAGE "French"
+!insertmacro MUI_LANGUAGE "German"
+!insertmacro MUI_LANGUAGE "Spanish"
+!insertmacro MUI_LANGUAGE "SpanishInternational"
+!insertmacro MUI_LANGUAGE "SimpChinese"
+!insertmacro MUI_LANGUAGE "TradChinese"
+!insertmacro MUI_LANGUAGE "Japanese"
+!insertmacro MUI_LANGUAGE "Korean"
+!insertmacro MUI_LANGUAGE "Italian"
+!insertmacro MUI_LANGUAGE "Dutch"
+!insertmacro MUI_LANGUAGE "Danish"
+!insertmacro MUI_LANGUAGE "Swedish"
+!insertmacro MUI_LANGUAGE "Norwegian"
+!insertmacro MUI_LANGUAGE "NorwegianNynorsk"
+!insertmacro MUI_LANGUAGE "Finnish"
+!insertmacro MUI_LANGUAGE "Greek"
+!insertmacro MUI_LANGUAGE "Russian"
+!insertmacro MUI_LANGUAGE "Portuguese"
+!insertmacro MUI_LANGUAGE "PortugueseBR"
+!insertmacro MUI_LANGUAGE "Polish"
+!insertmacro MUI_LANGUAGE "Ukrainian"
+!insertmacro MUI_LANGUAGE "Czech"
+!insertmacro MUI_LANGUAGE "Slovak"
+!insertmacro MUI_LANGUAGE "Croatian"
+!insertmacro MUI_LANGUAGE "Bulgarian"
+!insertmacro MUI_LANGUAGE "Hungarian"
+!insertmacro MUI_LANGUAGE "Thai"
+!insertmacro MUI_LANGUAGE "Romanian"
+!insertmacro MUI_LANGUAGE "Latvian"
+!insertmacro MUI_LANGUAGE "Macedonian"
+!insertmacro MUI_LANGUAGE "Estonian"
+!insertmacro MUI_LANGUAGE "Turkish"
+!insertmacro MUI_LANGUAGE "Lithuanian"
+!insertmacro MUI_LANGUAGE "Slovenian"
+!insertmacro MUI_LANGUAGE "Serbian"
+!insertmacro MUI_LANGUAGE "SerbianLatin"
+!insertmacro MUI_LANGUAGE "Arabic"
+!insertmacro MUI_LANGUAGE "Farsi"
+!insertmacro MUI_LANGUAGE "Hebrew"
+!insertmacro MUI_LANGUAGE "Indonesian"
+!insertmacro MUI_LANGUAGE "Mongolian"
+!insertmacro MUI_LANGUAGE "Luxembourgish"
+!insertmacro MUI_LANGUAGE "Albanian"
+!insertmacro MUI_LANGUAGE "Breton"
+!insertmacro MUI_LANGUAGE "Belarusian"
+!insertmacro MUI_LANGUAGE "Icelandic"
+!insertmacro MUI_LANGUAGE "Malay"
+!insertmacro MUI_LANGUAGE "Bosnian"
+!insertmacro MUI_LANGUAGE "Kurdish"
+!insertmacro MUI_LANGUAGE "Irish"
+!insertmacro MUI_LANGUAGE "Uzbek"
+!insertmacro MUI_LANGUAGE "Galician"
+!insertmacro MUI_LANGUAGE "Afrikaans"
+!insertmacro MUI_LANGUAGE "Catalan"
+!insertmacro MUI_LANGUAGE "Esperanto"
+!endif
+
+;Reserve Files (will make sure the file will be stored first in the data block
+; making the installer start faster when compressing in solid mode)
+!insertmacro MUI_RESERVEFILE_LANGDLL
+
+#########################################################################################
+# Installer sections
+#########################################################################################
+Section "ScummVM" SecMain
+ SetOutPath $INSTDIR
+ SetOverwrite on
+
+ # Text files
+ File /oname=AUTHORS.txt "${top_srcdir}\AUTHORS"
+ File /oname=COPYING.LGPL.txt "${top_srcdir}\COPYING.LGPL"
+ File /oname=COPYING.txt "${top_srcdir}\COPYING"
+ File /oname=COPYRIGHT.txt "${top_srcdir}\COPYRIGHT"
+ File /oname=NEWS.txt "${top_srcdir}\NEWS"
+ File /oname=README.txt "${top_srcdir}\README"
+
+ # Engine data
+ File "${engine_data}\drascula.dat"
+ File "${engine_data}\hugo.dat"
+ File "${engine_data}\kyra.dat"
+ File "${engine_data}\lure.dat"
+ File "${engine_data}\m4.dat"
+ File "${engine_data}\queen.tbl"
+ File "${engine_data}\sky.cpt"
+ File "${engine_data}\teenagent.dat"
+ File "${engine_data}\toon.dat"
+
+ File "${top_srcdir}\dists\pred.dic"
+
+ # Themes
+ File "${theme_data}\scummclassic.zip"
+ File "${theme_data}\scummmodern.zip"
+ File "${theme_data}\translations.dat"
+
+ # Main exe and dlls
+ File "${build_dir}\scummvm.exe"
+ File "${build_dir}\SDL.dll"
+
+ WriteRegStr HKCU "${REGKEY}" InstallPath "$INSTDIR" ; Store installation folder
+SectionEnd
+
+Section -post SecMainPost
+ ; Write Start menu entries and uninstaller
+ SetOutPath $INSTDIR
+ WriteUninstaller $INSTDIR\uninstall.exe
+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+ CreateShortCut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" "$INSTDIR\$(^Name).exe" "" "$INSTDIR\$(^Name).exe" 0
+ CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" $INSTDIR\uninstall.exe
+ !insertmacro MUI_STARTMENU_WRITE_END
+ WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
+ WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"
+ WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"
+ WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"
+ WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe
+ WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
+ WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" InstallLocation $INSTDIR
+ WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
+ WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
+SectionEnd
+
+# Installer functions
+Function .onInit
+ !insertmacro MUI_LANGDLL_DISPLAY
+
+!ifdef _DEBUG
+ LogSet on
+!endif
+FunctionEnd
+
+#########################################################################################
+# Uninstaller sections
+#########################################################################################
+Section /o -un.Main SecUninstall
+ Delete /REBOOTOK $INSTDIR\translations.dat
+ Delete /REBOOTOK $INSTDIR\toon.dat
+ Delete /REBOOTOK $INSTDIR\teenagent.dat
+ Delete /REBOOTOK $INSTDIR\sky.cpt
+ Delete /REBOOTOK $INSTDIR\SDL.dll
+ Delete /REBOOTOK $INSTDIR\scummvm.exe
+ Delete /REBOOTOK $INSTDIR\scummmodern.zip
+ Delete /REBOOTOK $INSTDIR\scummclassic.zip
+ Delete /REBOOTOK $INSTDIR\README-SDL.txt
+ Delete /REBOOTOK $INSTDIR\README.txt
+ Delete /REBOOTOK $INSTDIR\queen.tbl
+ Delete /REBOOTOK $INSTDIR\pred.dic
+ Delete /REBOOTOK $INSTDIR\NEWS.txt
+ Delete /REBOOTOK $INSTDIR\m4.dat
+ Delete /REBOOTOK $INSTDIR\lure.dat
+ Delete /REBOOTOK $INSTDIR\kyra.dat
+ Delete /REBOOTOK $INSTDIR\hugo.dat
+ Delete /REBOOTOK $INSTDIR\drascula.dat
+ Delete /REBOOTOK $INSTDIR\COPYRIGHT.txt
+ Delete /REBOOTOK $INSTDIR\COPYING.txt
+ Delete /REBOOTOK $INSTDIR\COPYING.LGPL.txt
+ Delete /REBOOTOK $INSTDIR\AUTHORS.txt
+SectionEnd
+
+Section -un.post SecUninstallPost
+ DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
+ Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk"
+ Delete /REBOOTOK $INSTDIR\uninstall.exe
+ DeleteRegValue HKCU "${REGKEY}" StartMenuGroup
+ DeleteRegValue HKCU "${REGKEY}" InstallPath
+ DeleteRegValue HKCU "${REGKEY}" InstallerLanguage
+ DeleteRegKey /IfEmpty HKCU "${REGKEY}"
+ RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup
+ RmDir /REBOOTOK $INSTDIR ; will only remove if empty (pass /r flag for recursive behavior)
+ Push $R0
+ StrCpy $R0 $StartMenuGroup 1
+ StrCmp $R0 ">" no_smgroup
+
+no_smgroup:
+ Pop $R0
+SectionEnd
+
+# Uninstaller functions
+Function un.onInit
+ !insertmacro MUI_UNGETLANGUAGE
+ ReadRegStr $INSTDIR HKCU "${REGKEY}" InstallPath
+ !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup
+FunctionEnd