diff options
author | Littleboy | 2011-04-26 09:29:14 -0400 |
---|---|---|
committer | Littleboy | 2011-04-27 11:08:39 -0400 |
commit | 646def4947d5274dbb386e686a3840af1ceffba7 (patch) | |
tree | dada88d2a9218cea2800bf6078843cd004e685ee /dists/nsis | |
parent | 68d0602b0dc49f0ca1c3561613dc868ef5a94f93 (diff) | |
download | scummvm-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.bmp | bin | 0 -> 154542 bytes | |||
-rw-r--r-- | dists/nsis/graphics/scummvm-install.ico | bin | 0 -> 120798 bytes | |||
-rw-r--r-- | dists/nsis/scummvm.nsi | 305 | ||||
-rw-r--r-- | dists/nsis/scummvm.nsi.in | 305 |
4 files changed, 610 insertions, 0 deletions
diff --git a/dists/nsis/graphics/left.bmp b/dists/nsis/graphics/left.bmp Binary files differnew file mode 100644 index 0000000000..8b31d7d09a --- /dev/null +++ b/dists/nsis/graphics/left.bmp diff --git a/dists/nsis/graphics/scummvm-install.ico b/dists/nsis/graphics/scummvm-install.ico Binary files differnew file mode 100644 index 0000000000..d678f31d9b --- /dev/null +++ b/dists/nsis/graphics/scummvm-install.ico 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 |