From d8b3fe58870ced80c9ec5cc30379083c3928cc81 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Thu, 30 Jun 2011 11:42:19 +1000 Subject: BUILD: Store the Windows installer scripts in a single directory, and share the graphics files. --- dists/nsis/graphics/left.bmp | Bin 154542 -> 0 bytes dists/nsis/graphics/scummvm-install.ico | Bin 77799 -> 0 bytes dists/nsis/scummvm.nsi | 356 ------------------------------- dists/nsis/scummvm.nsi.in | 356 ------------------------------- dists/win32/graphics/left.bmp | Bin 0 -> 154542 bytes dists/win32/graphics/scummvm-install.ico | Bin 0 -> 77799 bytes dists/win32/scummvm.nsi | 356 +++++++++++++++++++++++++++++++ dists/win32/scummvm.nsi.in | 356 +++++++++++++++++++++++++++++++ 8 files changed, 712 insertions(+), 712 deletions(-) delete mode 100644 dists/nsis/graphics/left.bmp delete mode 100644 dists/nsis/graphics/scummvm-install.ico delete mode 100644 dists/nsis/scummvm.nsi delete mode 100644 dists/nsis/scummvm.nsi.in create mode 100644 dists/win32/graphics/left.bmp create mode 100644 dists/win32/graphics/scummvm-install.ico create mode 100644 dists/win32/scummvm.nsi create mode 100644 dists/win32/scummvm.nsi.in (limited to 'dists') diff --git a/dists/nsis/graphics/left.bmp b/dists/nsis/graphics/left.bmp deleted file mode 100644 index 8b31d7d09a..0000000000 Binary files a/dists/nsis/graphics/left.bmp and /dev/null differ diff --git a/dists/nsis/graphics/scummvm-install.ico b/dists/nsis/graphics/scummvm-install.ico deleted file mode 100644 index 6312959509..0000000000 Binary files a/dists/nsis/graphics/scummvm-install.ico and /dev/null differ diff --git a/dists/nsis/scummvm.nsi b/dists/nsis/scummvm.nsi deleted file mode 100644 index 50ccadaf74..0000000000 --- a/dists/nsis/scummvm.nsi +++ /dev/null @@ -1,356 +0,0 @@ -# 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 -#!define _INCLUDE_DATA_FILES - -Name ScummVM - -# Included files -!include MUI2.nsh - -######################################################################################### -# Command line options -######################################################################################### - -#!define top_srcdir "" -#!define build_dir "" -#!define text_dir "" -#!define ARCH "" ;(optional, defaults to win32) - -# Check parameters -!ifndef top_srcdir - !error "Top source folder has not been passed to command line!" -!endif - -!ifndef build_dir - !error "Build folder has not been passed to command line (this folder should contain the executable and linked DLLs)!" -!endif - -!ifndef text_dir - !error "Text folder has not been passed to command line (this folder should contain all the text files used by the installer)!" -!endif - -!ifndef ARCH - !warning "ARCH has not been defined, defaulting to 'win32'" - !define ARCH "win32" -!endif - -######################################################################################### -# Folders -######################################################################################### -!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.4.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 -######################################################################################### -OutFile ${build_dir}\scummvm-${VERSION}-${ARCH}.exe -InstallDir $PROGRAMFILES\ScummVM ; Default installation folder -InstallDirRegKey HKCU "Software\ScummVM\ScummVM" "InstallPath" ; Get installation folder from registry if available - ; 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.4.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}" ; Change branding text on the installer to show our name and version instead of NSIS's - -# Show Details when installing/uninstalling files -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_UNICON "graphics\scummvm-install.ico" - -#Start menu -!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKCU -!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY} -!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup -!define MUI_STARTMENUPAGE_DEFAULTFOLDER $(^Name) - -# Finish page -!define MUI_FINISHPAGE_RUN "$INSTDIR\scummvm.exe" -!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.txt" -!define MUI_FINISHPAGE_RUN_NOTCHECKED -!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED - -!define MUI_LICENSEPAGE_RADIOBUTTONS - -!define MUI_FINISHPAGE_NOAUTOCLOSE -!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 "Afrikaans" -;!insertmacro MUI_LANGUAGE "Albanian" -;!insertmacro MUI_LANGUAGE "Arabic" -;!insertmacro MUI_LANGUAGE "Belarusian" -;!insertmacro MUI_LANGUAGE "Bosnian" -;!insertmacro MUI_LANGUAGE "Breton" -;!insertmacro MUI_LANGUAGE "Bulgarian" -!insertmacro MUI_LANGUAGE "Catalan" -;!insertmacro MUI_LANGUAGE "Croatian" -!insertmacro MUI_LANGUAGE "Czech" -!insertmacro MUI_LANGUAGE "Danish" -;!insertmacro MUI_LANGUAGE "Dutch" -;!insertmacro MUI_LANGUAGE "Esperanto" -;!insertmacro MUI_LANGUAGE "Estonian" -;!insertmacro MUI_LANGUAGE "Farsi" -;!insertmacro MUI_LANGUAGE "Finnish" -!insertmacro MUI_LANGUAGE "French" -;!insertmacro MUI_LANGUAGE "Galician" -!insertmacro MUI_LANGUAGE "German" -;!insertmacro MUI_LANGUAGE "Greek" -;!insertmacro MUI_LANGUAGE "Hebrew" -!insertmacro MUI_LANGUAGE "Hungarian" -;!insertmacro MUI_LANGUAGE "Icelandic" -;!insertmacro MUI_LANGUAGE "Indonesian" -;!insertmacro MUI_LANGUAGE "Irish" -!insertmacro MUI_LANGUAGE "Italian" -;!insertmacro MUI_LANGUAGE "Japanese" -;!insertmacro MUI_LANGUAGE "Korean" -;!insertmacro MUI_LANGUAGE "Kurdish" -;!insertmacro MUI_LANGUAGE "Latvian" -;!insertmacro MUI_LANGUAGE "Lithuanian" -;!insertmacro MUI_LANGUAGE "Luxembourgish" -;!insertmacro MUI_LANGUAGE "Macedonian" -;!insertmacro MUI_LANGUAGE "Malay" -;!insertmacro MUI_LANGUAGE "Mongolian" -!insertmacro MUI_LANGUAGE "Norwegian" -!insertmacro MUI_LANGUAGE "NorwegianNynorsk" -!insertmacro MUI_LANGUAGE "Polish" -;!insertmacro MUI_LANGUAGE "Portuguese" -!insertmacro MUI_LANGUAGE "PortugueseBR" -;!insertmacro MUI_LANGUAGE "Romanian" -!insertmacro MUI_LANGUAGE "Russian" -;!insertmacro MUI_LANGUAGE "Serbian" -;!insertmacro MUI_LANGUAGE "SerbianLatin" -;!insertmacro MUI_LANGUAGE "SimpChinese" -;!insertmacro MUI_LANGUAGE "Slovak" -;!insertmacro MUI_LANGUAGE "Slovenian" -!insertmacro MUI_LANGUAGE "Spanish" -;!insertmacro MUI_LANGUAGE "SpanishInternational" -!insertmacro MUI_LANGUAGE "Swedish" -;!insertmacro MUI_LANGUAGE "Thai" -;!insertmacro MUI_LANGUAGE "TradChinese" -;!insertmacro MUI_LANGUAGE "Turkish" -!insertmacro MUI_LANGUAGE "Ukrainian" -;!insertmacro MUI_LANGUAGE "Uzbek" -!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" - File /oname=README-SDL.txt "${build_dir}\README-SDL" - -!ifdef _INCLUDE_DATA_FILES - # 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" -!endif - - # Main exe and dlls - File "${build_dir}\scummvm.exe" - File "${build_dir}\SDL.dll" - - WriteRegStr HKCU "${REGKEY}" InstallPath "$INSTDIR" ; Store installation folder -SectionEnd - -# Write Start menu entries and uninstaller -Section -post SecMainPost - SetOutPath $INSTDIR - WriteUninstaller $INSTDIR\uninstall.exe - !insertmacro MUI_STARTMENU_WRITE_BEGIN Application - SetShellVarContext all ; Create shortcuts in the all-users folder - CreateDirectory "$SMPROGRAMS\$StartMenuGroup" - CreateShortCut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\$(^Name).exe "" "$INSTDIR\$(^Name).exe" 0 ; Create shortcut with icon - CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Readme.lnk" $INSTDIR\README.txt - 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 && NSIS_CONFIG_LOG - LogSet on ; Will write a log file to the install folder (when using the special NSIS logging build) -!endif -FunctionEnd - -######################################################################################### -# Uninstaller sections -######################################################################################### -Section -un.Main SecUninstall - Delete /REBOOTOK $INSTDIR\AUTHORS.txt - Delete /REBOOTOK $INSTDIR\COPYING.txt - Delete /REBOOTOK $INSTDIR\COPYING.LGPL.txt - Delete /REBOOTOK $INSTDIR\COPYRIGHT.txt - Delete /REBOOTOK $INSTDIR\NEWS.txt - Delete /REBOOTOK $INSTDIR\README.txt - Delete /REBOOTOK $INSTDIR\README-SDL.txt - -!ifdef _INCLUDE_DATA_FILES - Delete /REBOOTOK $INSTDIR\drascula.dat - Delete /REBOOTOK $INSTDIR\hugo.dat - Delete /REBOOTOK $INSTDIR\kyra.dat - Delete /REBOOTOK $INSTDIR\lure.dat - Delete /REBOOTOK $INSTDIR\m4.dat - Delete /REBOOTOK $INSTDIR\queen.tbl - Delete /REBOOTOK $INSTDIR\sky.cpt - Delete /REBOOTOK $INSTDIR\teenagent.dat - Delete /REBOOTOK $INSTDIR\toon.dat - - Delete /REBOOTOK $INSTDIR\pred.dic - - Delete /REBOOTOK $INSTDIR\scummclassic.zip - Delete /REBOOTOK $INSTDIR\scummmodern.zip - Delete /REBOOTOK $INSTDIR\translations.dat -!endif - - Delete /REBOOTOK $INSTDIR\scummvm.exe - Delete /REBOOTOK $INSTDIR\SDL.dll -SectionEnd - -Section -un.post SecUninstallPost - # Remove start menu entries - SetShellVarContext all - Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" - Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Readme.lnk" - Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" - RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup - - Delete /REBOOTOK $INSTDIR\uninstall.exe - - DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" - DeleteRegValue HKCU "${REGKEY}" StartMenuGroup - DeleteRegValue HKCU "${REGKEY}" InstallPath - DeleteRegValue HKCU "${REGKEY}" InstallerLanguage - DeleteRegKey /IfEmpty HKCU "${REGKEY}" - - RmDir $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 deleted file mode 100644 index c94e5943f7..0000000000 --- a/dists/nsis/scummvm.nsi.in +++ /dev/null @@ -1,356 +0,0 @@ -# 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 -#!define _INCLUDE_DATA_FILES - -Name ScummVM - -# Included files -!include MUI2.nsh - -######################################################################################### -# Command line options -######################################################################################### - -#!define top_srcdir "" -#!define build_dir "" -#!define text_dir "" -#!define ARCH "" ;(optional, defaults to win32) - -# Check parameters -!ifndef top_srcdir - !error "Top source folder has not been passed to command line!" -!endif - -!ifndef build_dir - !error "Build folder has not been passed to command line (this folder should contain the executable and linked DLLs)!" -!endif - -!ifndef text_dir - !error "Text folder has not been passed to command line (this folder should contain all the text files used by the installer)!" -!endif - -!ifndef ARCH - !warning "ARCH has not been defined, defaulting to 'win32'" - !define ARCH "win32" -!endif - -######################################################################################### -# Folders -######################################################################################### -!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 -######################################################################################### -OutFile ${build_dir}\scummvm-${VERSION}-${ARCH}.exe -InstallDir $PROGRAMFILES\ScummVM ; Default installation folder -InstallDirRegKey HKCU "Software\ScummVM\ScummVM" "InstallPath" ; Get installation folder from registry if available - ; 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}" ; Change branding text on the installer to show our name and version instead of NSIS's - -# Show Details when installing/uninstalling files -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_UNICON "graphics\scummvm-install.ico" - -#Start menu -!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKCU -!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY} -!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup -!define MUI_STARTMENUPAGE_DEFAULTFOLDER $(^Name) - -# Finish page -!define MUI_FINISHPAGE_RUN "$INSTDIR\scummvm.exe" -!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.txt" -!define MUI_FINISHPAGE_RUN_NOTCHECKED -!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED - -!define MUI_LICENSEPAGE_RADIOBUTTONS - -!define MUI_FINISHPAGE_NOAUTOCLOSE -!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 "Afrikaans" -;!insertmacro MUI_LANGUAGE "Albanian" -;!insertmacro MUI_LANGUAGE "Arabic" -;!insertmacro MUI_LANGUAGE "Belarusian" -;!insertmacro MUI_LANGUAGE "Bosnian" -;!insertmacro MUI_LANGUAGE "Breton" -;!insertmacro MUI_LANGUAGE "Bulgarian" -!insertmacro MUI_LANGUAGE "Catalan" -;!insertmacro MUI_LANGUAGE "Croatian" -!insertmacro MUI_LANGUAGE "Czech" -!insertmacro MUI_LANGUAGE "Danish" -;!insertmacro MUI_LANGUAGE "Dutch" -;!insertmacro MUI_LANGUAGE "Esperanto" -;!insertmacro MUI_LANGUAGE "Estonian" -;!insertmacro MUI_LANGUAGE "Farsi" -;!insertmacro MUI_LANGUAGE "Finnish" -!insertmacro MUI_LANGUAGE "French" -;!insertmacro MUI_LANGUAGE "Galician" -!insertmacro MUI_LANGUAGE "German" -;!insertmacro MUI_LANGUAGE "Greek" -;!insertmacro MUI_LANGUAGE "Hebrew" -!insertmacro MUI_LANGUAGE "Hungarian" -;!insertmacro MUI_LANGUAGE "Icelandic" -;!insertmacro MUI_LANGUAGE "Indonesian" -;!insertmacro MUI_LANGUAGE "Irish" -!insertmacro MUI_LANGUAGE "Italian" -;!insertmacro MUI_LANGUAGE "Japanese" -;!insertmacro MUI_LANGUAGE "Korean" -;!insertmacro MUI_LANGUAGE "Kurdish" -;!insertmacro MUI_LANGUAGE "Latvian" -;!insertmacro MUI_LANGUAGE "Lithuanian" -;!insertmacro MUI_LANGUAGE "Luxembourgish" -;!insertmacro MUI_LANGUAGE "Macedonian" -;!insertmacro MUI_LANGUAGE "Malay" -;!insertmacro MUI_LANGUAGE "Mongolian" -!insertmacro MUI_LANGUAGE "Norwegian" -!insertmacro MUI_LANGUAGE "NorwegianNynorsk" -!insertmacro MUI_LANGUAGE "Polish" -;!insertmacro MUI_LANGUAGE "Portuguese" -!insertmacro MUI_LANGUAGE "PortugueseBR" -;!insertmacro MUI_LANGUAGE "Romanian" -!insertmacro MUI_LANGUAGE "Russian" -;!insertmacro MUI_LANGUAGE "Serbian" -;!insertmacro MUI_LANGUAGE "SerbianLatin" -;!insertmacro MUI_LANGUAGE "SimpChinese" -;!insertmacro MUI_LANGUAGE "Slovak" -;!insertmacro MUI_LANGUAGE "Slovenian" -!insertmacro MUI_LANGUAGE "Spanish" -;!insertmacro MUI_LANGUAGE "SpanishInternational" -!insertmacro MUI_LANGUAGE "Swedish" -;!insertmacro MUI_LANGUAGE "Thai" -;!insertmacro MUI_LANGUAGE "TradChinese" -;!insertmacro MUI_LANGUAGE "Turkish" -!insertmacro MUI_LANGUAGE "Ukrainian" -;!insertmacro MUI_LANGUAGE "Uzbek" -!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" - File /oname=README-SDL.txt "${build_dir}\README-SDL" - -!ifdef _INCLUDE_DATA_FILES - # 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" -!endif - - # Main exe and dlls - File "${build_dir}\scummvm.exe" - File "${build_dir}\SDL.dll" - - WriteRegStr HKCU "${REGKEY}" InstallPath "$INSTDIR" ; Store installation folder -SectionEnd - -# Write Start menu entries and uninstaller -Section -post SecMainPost - SetOutPath $INSTDIR - WriteUninstaller $INSTDIR\uninstall.exe - !insertmacro MUI_STARTMENU_WRITE_BEGIN Application - SetShellVarContext all ; Create shortcuts in the all-users folder - CreateDirectory "$SMPROGRAMS\$StartMenuGroup" - CreateShortCut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\$(^Name).exe "" "$INSTDIR\$(^Name).exe" 0 ; Create shortcut with icon - CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Readme.lnk" $INSTDIR\README.txt - 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 && NSIS_CONFIG_LOG - LogSet on ; Will write a log file to the install folder (when using the special NSIS logging build) -!endif -FunctionEnd - -######################################################################################### -# Uninstaller sections -######################################################################################### -Section -un.Main SecUninstall - Delete /REBOOTOK $INSTDIR\AUTHORS.txt - Delete /REBOOTOK $INSTDIR\COPYING.txt - Delete /REBOOTOK $INSTDIR\COPYING.LGPL.txt - Delete /REBOOTOK $INSTDIR\COPYRIGHT.txt - Delete /REBOOTOK $INSTDIR\NEWS.txt - Delete /REBOOTOK $INSTDIR\README.txt - Delete /REBOOTOK $INSTDIR\README-SDL.txt - -!ifdef _INCLUDE_DATA_FILES - Delete /REBOOTOK $INSTDIR\drascula.dat - Delete /REBOOTOK $INSTDIR\hugo.dat - Delete /REBOOTOK $INSTDIR\kyra.dat - Delete /REBOOTOK $INSTDIR\lure.dat - Delete /REBOOTOK $INSTDIR\m4.dat - Delete /REBOOTOK $INSTDIR\queen.tbl - Delete /REBOOTOK $INSTDIR\sky.cpt - Delete /REBOOTOK $INSTDIR\teenagent.dat - Delete /REBOOTOK $INSTDIR\toon.dat - - Delete /REBOOTOK $INSTDIR\pred.dic - - Delete /REBOOTOK $INSTDIR\scummclassic.zip - Delete /REBOOTOK $INSTDIR\scummmodern.zip - Delete /REBOOTOK $INSTDIR\translations.dat -!endif - - Delete /REBOOTOK $INSTDIR\scummvm.exe - Delete /REBOOTOK $INSTDIR\SDL.dll -SectionEnd - -Section -un.post SecUninstallPost - # Remove start menu entries - SetShellVarContext all - Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" - Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Readme.lnk" - Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" - RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup - - Delete /REBOOTOK $INSTDIR\uninstall.exe - - DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" - DeleteRegValue HKCU "${REGKEY}" StartMenuGroup - DeleteRegValue HKCU "${REGKEY}" InstallPath - DeleteRegValue HKCU "${REGKEY}" InstallerLanguage - DeleteRegKey /IfEmpty HKCU "${REGKEY}" - - RmDir $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/win32/graphics/left.bmp b/dists/win32/graphics/left.bmp new file mode 100644 index 0000000000..8b31d7d09a Binary files /dev/null and b/dists/win32/graphics/left.bmp differ diff --git a/dists/win32/graphics/scummvm-install.ico b/dists/win32/graphics/scummvm-install.ico new file mode 100644 index 0000000000..6312959509 Binary files /dev/null and b/dists/win32/graphics/scummvm-install.ico differ diff --git a/dists/win32/scummvm.nsi b/dists/win32/scummvm.nsi new file mode 100644 index 0000000000..50ccadaf74 --- /dev/null +++ b/dists/win32/scummvm.nsi @@ -0,0 +1,356 @@ +# 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 +#!define _INCLUDE_DATA_FILES + +Name ScummVM + +# Included files +!include MUI2.nsh + +######################################################################################### +# Command line options +######################################################################################### + +#!define top_srcdir "" +#!define build_dir "" +#!define text_dir "" +#!define ARCH "" ;(optional, defaults to win32) + +# Check parameters +!ifndef top_srcdir + !error "Top source folder has not been passed to command line!" +!endif + +!ifndef build_dir + !error "Build folder has not been passed to command line (this folder should contain the executable and linked DLLs)!" +!endif + +!ifndef text_dir + !error "Text folder has not been passed to command line (this folder should contain all the text files used by the installer)!" +!endif + +!ifndef ARCH + !warning "ARCH has not been defined, defaulting to 'win32'" + !define ARCH "win32" +!endif + +######################################################################################### +# Folders +######################################################################################### +!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.4.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 +######################################################################################### +OutFile ${build_dir}\scummvm-${VERSION}-${ARCH}.exe +InstallDir $PROGRAMFILES\ScummVM ; Default installation folder +InstallDirRegKey HKCU "Software\ScummVM\ScummVM" "InstallPath" ; Get installation folder from registry if available + ; 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.4.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}" ; Change branding text on the installer to show our name and version instead of NSIS's + +# Show Details when installing/uninstalling files +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_UNICON "graphics\scummvm-install.ico" + +#Start menu +!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKCU +!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY} +!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup +!define MUI_STARTMENUPAGE_DEFAULTFOLDER $(^Name) + +# Finish page +!define MUI_FINISHPAGE_RUN "$INSTDIR\scummvm.exe" +!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.txt" +!define MUI_FINISHPAGE_RUN_NOTCHECKED +!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED + +!define MUI_LICENSEPAGE_RADIOBUTTONS + +!define MUI_FINISHPAGE_NOAUTOCLOSE +!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 "Afrikaans" +;!insertmacro MUI_LANGUAGE "Albanian" +;!insertmacro MUI_LANGUAGE "Arabic" +;!insertmacro MUI_LANGUAGE "Belarusian" +;!insertmacro MUI_LANGUAGE "Bosnian" +;!insertmacro MUI_LANGUAGE "Breton" +;!insertmacro MUI_LANGUAGE "Bulgarian" +!insertmacro MUI_LANGUAGE "Catalan" +;!insertmacro MUI_LANGUAGE "Croatian" +!insertmacro MUI_LANGUAGE "Czech" +!insertmacro MUI_LANGUAGE "Danish" +;!insertmacro MUI_LANGUAGE "Dutch" +;!insertmacro MUI_LANGUAGE "Esperanto" +;!insertmacro MUI_LANGUAGE "Estonian" +;!insertmacro MUI_LANGUAGE "Farsi" +;!insertmacro MUI_LANGUAGE "Finnish" +!insertmacro MUI_LANGUAGE "French" +;!insertmacro MUI_LANGUAGE "Galician" +!insertmacro MUI_LANGUAGE "German" +;!insertmacro MUI_LANGUAGE "Greek" +;!insertmacro MUI_LANGUAGE "Hebrew" +!insertmacro MUI_LANGUAGE "Hungarian" +;!insertmacro MUI_LANGUAGE "Icelandic" +;!insertmacro MUI_LANGUAGE "Indonesian" +;!insertmacro MUI_LANGUAGE "Irish" +!insertmacro MUI_LANGUAGE "Italian" +;!insertmacro MUI_LANGUAGE "Japanese" +;!insertmacro MUI_LANGUAGE "Korean" +;!insertmacro MUI_LANGUAGE "Kurdish" +;!insertmacro MUI_LANGUAGE "Latvian" +;!insertmacro MUI_LANGUAGE "Lithuanian" +;!insertmacro MUI_LANGUAGE "Luxembourgish" +;!insertmacro MUI_LANGUAGE "Macedonian" +;!insertmacro MUI_LANGUAGE "Malay" +;!insertmacro MUI_LANGUAGE "Mongolian" +!insertmacro MUI_LANGUAGE "Norwegian" +!insertmacro MUI_LANGUAGE "NorwegianNynorsk" +!insertmacro MUI_LANGUAGE "Polish" +;!insertmacro MUI_LANGUAGE "Portuguese" +!insertmacro MUI_LANGUAGE "PortugueseBR" +;!insertmacro MUI_LANGUAGE "Romanian" +!insertmacro MUI_LANGUAGE "Russian" +;!insertmacro MUI_LANGUAGE "Serbian" +;!insertmacro MUI_LANGUAGE "SerbianLatin" +;!insertmacro MUI_LANGUAGE "SimpChinese" +;!insertmacro MUI_LANGUAGE "Slovak" +;!insertmacro MUI_LANGUAGE "Slovenian" +!insertmacro MUI_LANGUAGE "Spanish" +;!insertmacro MUI_LANGUAGE "SpanishInternational" +!insertmacro MUI_LANGUAGE "Swedish" +;!insertmacro MUI_LANGUAGE "Thai" +;!insertmacro MUI_LANGUAGE "TradChinese" +;!insertmacro MUI_LANGUAGE "Turkish" +!insertmacro MUI_LANGUAGE "Ukrainian" +;!insertmacro MUI_LANGUAGE "Uzbek" +!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" + File /oname=README-SDL.txt "${build_dir}\README-SDL" + +!ifdef _INCLUDE_DATA_FILES + # 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" +!endif + + # Main exe and dlls + File "${build_dir}\scummvm.exe" + File "${build_dir}\SDL.dll" + + WriteRegStr HKCU "${REGKEY}" InstallPath "$INSTDIR" ; Store installation folder +SectionEnd + +# Write Start menu entries and uninstaller +Section -post SecMainPost + SetOutPath $INSTDIR + WriteUninstaller $INSTDIR\uninstall.exe + !insertmacro MUI_STARTMENU_WRITE_BEGIN Application + SetShellVarContext all ; Create shortcuts in the all-users folder + CreateDirectory "$SMPROGRAMS\$StartMenuGroup" + CreateShortCut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\$(^Name).exe "" "$INSTDIR\$(^Name).exe" 0 ; Create shortcut with icon + CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Readme.lnk" $INSTDIR\README.txt + 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 && NSIS_CONFIG_LOG + LogSet on ; Will write a log file to the install folder (when using the special NSIS logging build) +!endif +FunctionEnd + +######################################################################################### +# Uninstaller sections +######################################################################################### +Section -un.Main SecUninstall + Delete /REBOOTOK $INSTDIR\AUTHORS.txt + Delete /REBOOTOK $INSTDIR\COPYING.txt + Delete /REBOOTOK $INSTDIR\COPYING.LGPL.txt + Delete /REBOOTOK $INSTDIR\COPYRIGHT.txt + Delete /REBOOTOK $INSTDIR\NEWS.txt + Delete /REBOOTOK $INSTDIR\README.txt + Delete /REBOOTOK $INSTDIR\README-SDL.txt + +!ifdef _INCLUDE_DATA_FILES + Delete /REBOOTOK $INSTDIR\drascula.dat + Delete /REBOOTOK $INSTDIR\hugo.dat + Delete /REBOOTOK $INSTDIR\kyra.dat + Delete /REBOOTOK $INSTDIR\lure.dat + Delete /REBOOTOK $INSTDIR\m4.dat + Delete /REBOOTOK $INSTDIR\queen.tbl + Delete /REBOOTOK $INSTDIR\sky.cpt + Delete /REBOOTOK $INSTDIR\teenagent.dat + Delete /REBOOTOK $INSTDIR\toon.dat + + Delete /REBOOTOK $INSTDIR\pred.dic + + Delete /REBOOTOK $INSTDIR\scummclassic.zip + Delete /REBOOTOK $INSTDIR\scummmodern.zip + Delete /REBOOTOK $INSTDIR\translations.dat +!endif + + Delete /REBOOTOK $INSTDIR\scummvm.exe + Delete /REBOOTOK $INSTDIR\SDL.dll +SectionEnd + +Section -un.post SecUninstallPost + # Remove start menu entries + SetShellVarContext all + Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" + Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Readme.lnk" + Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" + RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup + + Delete /REBOOTOK $INSTDIR\uninstall.exe + + DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" + DeleteRegValue HKCU "${REGKEY}" StartMenuGroup + DeleteRegValue HKCU "${REGKEY}" InstallPath + DeleteRegValue HKCU "${REGKEY}" InstallerLanguage + DeleteRegKey /IfEmpty HKCU "${REGKEY}" + + RmDir $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/win32/scummvm.nsi.in b/dists/win32/scummvm.nsi.in new file mode 100644 index 0000000000..c94e5943f7 --- /dev/null +++ b/dists/win32/scummvm.nsi.in @@ -0,0 +1,356 @@ +# 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 +#!define _INCLUDE_DATA_FILES + +Name ScummVM + +# Included files +!include MUI2.nsh + +######################################################################################### +# Command line options +######################################################################################### + +#!define top_srcdir "" +#!define build_dir "" +#!define text_dir "" +#!define ARCH "" ;(optional, defaults to win32) + +# Check parameters +!ifndef top_srcdir + !error "Top source folder has not been passed to command line!" +!endif + +!ifndef build_dir + !error "Build folder has not been passed to command line (this folder should contain the executable and linked DLLs)!" +!endif + +!ifndef text_dir + !error "Text folder has not been passed to command line (this folder should contain all the text files used by the installer)!" +!endif + +!ifndef ARCH + !warning "ARCH has not been defined, defaulting to 'win32'" + !define ARCH "win32" +!endif + +######################################################################################### +# Folders +######################################################################################### +!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 +######################################################################################### +OutFile ${build_dir}\scummvm-${VERSION}-${ARCH}.exe +InstallDir $PROGRAMFILES\ScummVM ; Default installation folder +InstallDirRegKey HKCU "Software\ScummVM\ScummVM" "InstallPath" ; Get installation folder from registry if available + ; 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}" ; Change branding text on the installer to show our name and version instead of NSIS's + +# Show Details when installing/uninstalling files +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_UNICON "graphics\scummvm-install.ico" + +#Start menu +!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKCU +!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY} +!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup +!define MUI_STARTMENUPAGE_DEFAULTFOLDER $(^Name) + +# Finish page +!define MUI_FINISHPAGE_RUN "$INSTDIR\scummvm.exe" +!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.txt" +!define MUI_FINISHPAGE_RUN_NOTCHECKED +!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED + +!define MUI_LICENSEPAGE_RADIOBUTTONS + +!define MUI_FINISHPAGE_NOAUTOCLOSE +!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 "Afrikaans" +;!insertmacro MUI_LANGUAGE "Albanian" +;!insertmacro MUI_LANGUAGE "Arabic" +;!insertmacro MUI_LANGUAGE "Belarusian" +;!insertmacro MUI_LANGUAGE "Bosnian" +;!insertmacro MUI_LANGUAGE "Breton" +;!insertmacro MUI_LANGUAGE "Bulgarian" +!insertmacro MUI_LANGUAGE "Catalan" +;!insertmacro MUI_LANGUAGE "Croatian" +!insertmacro MUI_LANGUAGE "Czech" +!insertmacro MUI_LANGUAGE "Danish" +;!insertmacro MUI_LANGUAGE "Dutch" +;!insertmacro MUI_LANGUAGE "Esperanto" +;!insertmacro MUI_LANGUAGE "Estonian" +;!insertmacro MUI_LANGUAGE "Farsi" +;!insertmacro MUI_LANGUAGE "Finnish" +!insertmacro MUI_LANGUAGE "French" +;!insertmacro MUI_LANGUAGE "Galician" +!insertmacro MUI_LANGUAGE "German" +;!insertmacro MUI_LANGUAGE "Greek" +;!insertmacro MUI_LANGUAGE "Hebrew" +!insertmacro MUI_LANGUAGE "Hungarian" +;!insertmacro MUI_LANGUAGE "Icelandic" +;!insertmacro MUI_LANGUAGE "Indonesian" +;!insertmacro MUI_LANGUAGE "Irish" +!insertmacro MUI_LANGUAGE "Italian" +;!insertmacro MUI_LANGUAGE "Japanese" +;!insertmacro MUI_LANGUAGE "Korean" +;!insertmacro MUI_LANGUAGE "Kurdish" +;!insertmacro MUI_LANGUAGE "Latvian" +;!insertmacro MUI_LANGUAGE "Lithuanian" +;!insertmacro MUI_LANGUAGE "Luxembourgish" +;!insertmacro MUI_LANGUAGE "Macedonian" +;!insertmacro MUI_LANGUAGE "Malay" +;!insertmacro MUI_LANGUAGE "Mongolian" +!insertmacro MUI_LANGUAGE "Norwegian" +!insertmacro MUI_LANGUAGE "NorwegianNynorsk" +!insertmacro MUI_LANGUAGE "Polish" +;!insertmacro MUI_LANGUAGE "Portuguese" +!insertmacro MUI_LANGUAGE "PortugueseBR" +;!insertmacro MUI_LANGUAGE "Romanian" +!insertmacro MUI_LANGUAGE "Russian" +;!insertmacro MUI_LANGUAGE "Serbian" +;!insertmacro MUI_LANGUAGE "SerbianLatin" +;!insertmacro MUI_LANGUAGE "SimpChinese" +;!insertmacro MUI_LANGUAGE "Slovak" +;!insertmacro MUI_LANGUAGE "Slovenian" +!insertmacro MUI_LANGUAGE "Spanish" +;!insertmacro MUI_LANGUAGE "SpanishInternational" +!insertmacro MUI_LANGUAGE "Swedish" +;!insertmacro MUI_LANGUAGE "Thai" +;!insertmacro MUI_LANGUAGE "TradChinese" +;!insertmacro MUI_LANGUAGE "Turkish" +!insertmacro MUI_LANGUAGE "Ukrainian" +;!insertmacro MUI_LANGUAGE "Uzbek" +!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" + File /oname=README-SDL.txt "${build_dir}\README-SDL" + +!ifdef _INCLUDE_DATA_FILES + # 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" +!endif + + # Main exe and dlls + File "${build_dir}\scummvm.exe" + File "${build_dir}\SDL.dll" + + WriteRegStr HKCU "${REGKEY}" InstallPath "$INSTDIR" ; Store installation folder +SectionEnd + +# Write Start menu entries and uninstaller +Section -post SecMainPost + SetOutPath $INSTDIR + WriteUninstaller $INSTDIR\uninstall.exe + !insertmacro MUI_STARTMENU_WRITE_BEGIN Application + SetShellVarContext all ; Create shortcuts in the all-users folder + CreateDirectory "$SMPROGRAMS\$StartMenuGroup" + CreateShortCut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\$(^Name).exe "" "$INSTDIR\$(^Name).exe" 0 ; Create shortcut with icon + CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Readme.lnk" $INSTDIR\README.txt + 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 && NSIS_CONFIG_LOG + LogSet on ; Will write a log file to the install folder (when using the special NSIS logging build) +!endif +FunctionEnd + +######################################################################################### +# Uninstaller sections +######################################################################################### +Section -un.Main SecUninstall + Delete /REBOOTOK $INSTDIR\AUTHORS.txt + Delete /REBOOTOK $INSTDIR\COPYING.txt + Delete /REBOOTOK $INSTDIR\COPYING.LGPL.txt + Delete /REBOOTOK $INSTDIR\COPYRIGHT.txt + Delete /REBOOTOK $INSTDIR\NEWS.txt + Delete /REBOOTOK $INSTDIR\README.txt + Delete /REBOOTOK $INSTDIR\README-SDL.txt + +!ifdef _INCLUDE_DATA_FILES + Delete /REBOOTOK $INSTDIR\drascula.dat + Delete /REBOOTOK $INSTDIR\hugo.dat + Delete /REBOOTOK $INSTDIR\kyra.dat + Delete /REBOOTOK $INSTDIR\lure.dat + Delete /REBOOTOK $INSTDIR\m4.dat + Delete /REBOOTOK $INSTDIR\queen.tbl + Delete /REBOOTOK $INSTDIR\sky.cpt + Delete /REBOOTOK $INSTDIR\teenagent.dat + Delete /REBOOTOK $INSTDIR\toon.dat + + Delete /REBOOTOK $INSTDIR\pred.dic + + Delete /REBOOTOK $INSTDIR\scummclassic.zip + Delete /REBOOTOK $INSTDIR\scummmodern.zip + Delete /REBOOTOK $INSTDIR\translations.dat +!endif + + Delete /REBOOTOK $INSTDIR\scummvm.exe + Delete /REBOOTOK $INSTDIR\SDL.dll +SectionEnd + +Section -un.post SecUninstallPost + # Remove start menu entries + SetShellVarContext all + Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" + Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Readme.lnk" + Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" + RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup + + Delete /REBOOTOK $INSTDIR\uninstall.exe + + DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" + DeleteRegValue HKCU "${REGKEY}" StartMenuGroup + DeleteRegValue HKCU "${REGKEY}" InstallPath + DeleteRegValue HKCU "${REGKEY}" InstallerLanguage + DeleteRegKey /IfEmpty HKCU "${REGKEY}" + + RmDir $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 -- cgit v1.2.3