mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-10 01:09:50 +00:00
299 lines
9.7 KiB
Text
299 lines
9.7 KiB
Text
|
;--------------------------------
|
|||
|
;Include Modern UI
|
|||
|
!include "MUI2.nsh"
|
|||
|
|
|||
|
;--------------------------------
|
|||
|
;General
|
|||
|
!define Company "Nevrax"
|
|||
|
!define Product "Ryzom"
|
|||
|
!define Version "2.1.0"
|
|||
|
!define Patch "661"
|
|||
|
!define RegistryCat "HKLM"
|
|||
|
!define RegistryKey "Software\${Company}\${Product}"
|
|||
|
!define Executable "client_ryzom_rd.exe"
|
|||
|
!define DstDir "Output"
|
|||
|
!define SrcDir "Ryzom"
|
|||
|
!define Installer "ryzom_setup_${Patch}.exe"
|
|||
|
|
|||
|
;Registry key for uninstaller
|
|||
|
!define UninstallRegistryRoot "Software\Microsoft\Windows\CurrentVersion\Uninstall"
|
|||
|
!define UninstallRegistryKey "${UninstallRegistryRoot}\${Product}"
|
|||
|
|
|||
|
;Properly display all languages (Installer will not work on Windows 95, 98 or ME!)
|
|||
|
Unicode true
|
|||
|
|
|||
|
;New XP style
|
|||
|
XPStyle on
|
|||
|
|
|||
|
;Name and file
|
|||
|
Name "${Product}"
|
|||
|
OutFile "${DstDir}\${Installer}"
|
|||
|
|
|||
|
;Default installation folder
|
|||
|
InstallDir "$PROGRAMFILES\${Product}"
|
|||
|
|
|||
|
;Get installation folder from registry if available
|
|||
|
InstallDirRegKey "${RegistryCat}" "${RegistryKey}" "${Product} Install Path"
|
|||
|
|
|||
|
;Request application privileges for Windows Vista
|
|||
|
RequestExecutionLevel admin
|
|||
|
|
|||
|
;Best compression
|
|||
|
SetCompressor LZMA
|
|||
|
|
|||
|
; ???
|
|||
|
AllowSkipFiles on
|
|||
|
|
|||
|
;--------------------------------
|
|||
|
;Variables
|
|||
|
|
|||
|
;Will be used later
|
|||
|
Var MUI_TEMP
|
|||
|
Var STARTMENU_FOLDER
|
|||
|
|
|||
|
;--------------------------------
|
|||
|
;Interface Settings
|
|||
|
|
|||
|
!define MUI_ICON "${SrcDir}\ryzom.ico"
|
|||
|
!define MUI_UNICON "${SrcDir}\ryzom.ico"
|
|||
|
!define MUI_HEADERIMAGE
|
|||
|
!define MUI_HEADERIMAGE_BITMAP "modern-header.bmp" ; optional
|
|||
|
!define MUI_WELCOMEFINISHPAGE_BITMAP "modern-wizard.bmp"
|
|||
|
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "modern-wizard.bmp"
|
|||
|
!define MUI_ABORTWARNING
|
|||
|
|
|||
|
;Show all languages, despite user's codepage
|
|||
|
!define MUI_LANGDLL_ALLLANGUAGES
|
|||
|
|
|||
|
;--------------------------------
|
|||
|
;Language Selection Dialog Settings
|
|||
|
|
|||
|
;Remember the installer language
|
|||
|
!define MUI_LANGDLL_REGISTRY_ROOT "${RegistryCat}"
|
|||
|
!define MUI_LANGDLL_REGISTRY_KEY "${RegistryKey}"
|
|||
|
!define MUI_LANGDLL_REGISTRY_VALUENAME "Language"
|
|||
|
|
|||
|
;--------------------------------
|
|||
|
;Pages
|
|||
|
!insertmacro MUI_PAGE_WELCOME
|
|||
|
!insertmacro MUI_PAGE_DIRECTORY
|
|||
|
|
|||
|
;Start Menu Folder Page Configuration
|
|||
|
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${RegistryCat}"
|
|||
|
!define MUI_STARTMENUPAGE_REGISTRY_KEY "${RegistryKey}"
|
|||
|
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
|
|||
|
|
|||
|
!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
|
|||
|
|
|||
|
!insertmacro MUI_PAGE_INSTFILES
|
|||
|
|
|||
|
!define MUI_FINISHPAGE_RUN "$INSTDIR\client_ryzom_rd.exe"
|
|||
|
|
|||
|
!insertmacro MUI_PAGE_FINISH
|
|||
|
|
|||
|
!insertmacro MUI_UNPAGE_WELCOME
|
|||
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|||
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|||
|
!insertmacro MUI_UNPAGE_FINISH
|
|||
|
|
|||
|
;--------------------------------
|
|||
|
;Languages
|
|||
|
|
|||
|
!insertmacro MUI_LANGUAGE "English" ;first language is the default language
|
|||
|
!insertmacro MUI_LANGUAGE "French"
|
|||
|
!insertmacro MUI_LANGUAGE "German"
|
|||
|
;!insertmacro MUI_LANGUAGE "Spanish"
|
|||
|
|
|||
|
;--------------------------------
|
|||
|
;Reserve Files
|
|||
|
|
|||
|
;If you are using solid compression, files that are required before
|
|||
|
;the actual installation should be stored first in the data block,
|
|||
|
;because this will make your installer start faster.
|
|||
|
|
|||
|
!insertmacro MUI_RESERVEFILE_LANGDLL
|
|||
|
|
|||
|
;--------------------------------
|
|||
|
;Descriptions
|
|||
|
|
|||
|
;French
|
|||
|
LangString MSG_SUPPORT_URL_TITLE ${LANG_FRENCH} "Support"
|
|||
|
LangString MSG_SUPPORT_URL ${LANG_FRENCH} "http://app.ryzom.com/app_forum/index.php?page=topic/view/22047/1&post149889=fr#1"
|
|||
|
LangString MSG_HOME_URL_TITLE ${LANG_FRENCH} "${Product} sur le Web"
|
|||
|
LangString MSG_HOME_URL ${LANG_FRENCH} "http://ryzom.fr"
|
|||
|
LangString MSG_CONFIRM_DELETE_BACKUPS ${LANG_FRENCH} "Voulez-vous supprimer vos fichiers de sauvegarde ? Appuyer sur Oui pour effacer vos fichiers de sauvegarde."
|
|||
|
|
|||
|
;English
|
|||
|
LangString MSG_SUPPORT_URL_TITLE ${LANG_ENGLISH} "Support"
|
|||
|
LangString MSG_SUPPORT_URL ${LANG_ENGLISH} "http://app.ryzom.com/app_forum/index.php?page=topic/view/22047/1&post149889=en#1"
|
|||
|
LangString MSG_HOME_URL_TITLE ${LANG_ENGLISH} "${Product} on the Web"
|
|||
|
LangString MSG_HOME_URL ${LANG_ENGLISH} "http://ryzom.com"
|
|||
|
LangString MSG_CONFIRM_DELETE_BACKUPS ${LANG_ENGLISH} "Deleting Save Files? Click Yes to delete your own save files."
|
|||
|
|
|||
|
;German
|
|||
|
LangString MSG_SUPPORT_URL_TITLE ${LANG_GERMAN} "Support"
|
|||
|
LangString MSG_SUPPORT_URL ${LANG_GERMAN} "http://app.ryzom.com/app_forum/index.php?page=topic/view/22047/1&post149889=de#1"
|
|||
|
LangString MSG_HOME_URL_TITLE ${LANG_GERMAN} "${Product} im Internet"
|
|||
|
LangString MSG_HOME_URL ${LANG_GERMAN} "http://ryzom.de"
|
|||
|
LangString MSG_CONFIRM_DELETE_BACKUPS ${LANG_GERMAN} "Gespeicherte Dateien l<>schen? Klicke Ja um die eigenen Dateien zu l<>schen."
|
|||
|
|
|||
|
;--------------------------------
|
|||
|
;Installer Sections
|
|||
|
|
|||
|
!macro CreateInternetShortcut FILENAME URL ICONFILE
|
|||
|
WriteINIStr "${FILENAME}.url" "InternetShortcut" "URL" "${URL}"
|
|||
|
WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconFile" "${ICONFILE}"
|
|||
|
WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconIndex" "0"
|
|||
|
!macroend
|
|||
|
|
|||
|
; ----------------------------------------
|
|||
|
; Default section
|
|||
|
Section
|
|||
|
;Install for All Users
|
|||
|
SetShellVarContext all
|
|||
|
|
|||
|
;Game directories
|
|||
|
SetOutPath "$INSTDIR\cfg"
|
|||
|
File /r "${SrcDir}\cfg\*.*"
|
|||
|
|
|||
|
SetOutPath "$INSTDIR\data"
|
|||
|
File /r "${SrcDir}\data\*.*"
|
|||
|
|
|||
|
SetOutPath "$INSTDIR\examples"
|
|||
|
File /r "${SrcDir}\examples\*.*"
|
|||
|
|
|||
|
SetOutPath "$INSTDIR\user"
|
|||
|
File /r "${SrcDir}\user\*.*"
|
|||
|
|
|||
|
SetOutPath "$INSTDIR"
|
|||
|
|
|||
|
;Client, configuration and misc files
|
|||
|
File "${SrcDir}\client_default.cfg"
|
|||
|
File "${SrcDir}\client_ryzom_rd.exe"
|
|||
|
File "${SrcDir}\configure.bat"
|
|||
|
File "${SrcDir}\d3dcompiler_43.dll"
|
|||
|
File "${SrcDir}\d3dx9_43.dll"
|
|||
|
File "${SrcDir}\fmod.dll"
|
|||
|
File "${SrcDir}\forum.url"
|
|||
|
File "${SrcDir}\launch.bat"
|
|||
|
File "${SrcDir}\msvcp100.dll"
|
|||
|
File "${SrcDir}\msvcr100.dll"
|
|||
|
File "${SrcDir}\nel_drv_direct3d_win_r.dll"
|
|||
|
File "${SrcDir}\nel_drv_fmod_win_r.dll"
|
|||
|
File "${SrcDir}\nel_drv_opengl_win_r.dll"
|
|||
|
File "${SrcDir}\ryzom.ico"
|
|||
|
File "${SrcDir}\ryzom.url"
|
|||
|
File "${SrcDir}\Ryzom6.ico"
|
|||
|
|
|||
|
;Create uninstaller
|
|||
|
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
|||
|
|
|||
|
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
|
|||
|
|
|||
|
;Create shortcuts in Start Menu
|
|||
|
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
|
|||
|
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
|||
|
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\${Product}.lnk" "$INSTDIR\${Executable}"
|
|||
|
|
|||
|
;Create URLs
|
|||
|
!insertmacro CreateInternetShortcut "$SMPROGRAMS\$STARTMENU_FOLDER\$(MSG_SUPPORT_URL_TITLE)" "$(MSG_SUPPORT_URL)" "$INSTDIR\ryzom.ico"
|
|||
|
!insertmacro CreateInternetShortcut "$SMPROGRAMS\$STARTMENU_FOLDER\$(MSG_HOME_URL_TITLE)" "$(MSG_HOME_URL)" "$INSTDIR\ryzom.ico"
|
|||
|
|
|||
|
!insertmacro MUI_STARTMENU_WRITE_END
|
|||
|
|
|||
|
;Shortcut on desktop
|
|||
|
CreateShortCut "$DESKTOP\${Product}.lnk" "$INSTDIR\${Executable}"
|
|||
|
|
|||
|
;Add/Remove Program entry
|
|||
|
WriteRegStr HKLM "${UninstallRegistryKey}" "DisplayIcon" "$INSTDIR\${Executable},0"
|
|||
|
WriteRegStr HKLM "${UninstallRegistryKey}" "DisplayName" "${Product}"
|
|||
|
WriteRegStr HKLM "${UninstallRegistryKey}" "DisplayVersion" "${Version}"
|
|||
|
WriteRegStr HKLM "${UninstallRegistryKey}" "InstallLocation" "$INSTDIR"
|
|||
|
WriteRegStr HKLM "${UninstallRegistryKey}" "QuietUninstallString" '"$INSTDIR\Uninstall.exe" /S'
|
|||
|
WriteRegStr HKLM "${UninstallRegistryKey}" "UninstallString" "$INSTDIR\Uninstall.exe"
|
|||
|
WriteRegStr HKLM "${UninstallRegistryKey}" "Publisher" "${Company}"
|
|||
|
WriteRegStr HKLM "${UninstallRegistryKey}" "HelpLink" "$(MSG_SUPPORT_URL)"
|
|||
|
WriteRegStr HKLM "${UninstallRegistryKey}" "URLInfoAbout" "$(MSG_HOME_URL)"
|
|||
|
|
|||
|
;Store installation folder
|
|||
|
WriteRegStr "${RegistryCat}" "${RegistryKey}" "${Product} Install Path" $INSTDIR
|
|||
|
SectionEnd
|
|||
|
|
|||
|
;--------------------------------
|
|||
|
;Uninstaller Section
|
|||
|
Section "Uninstall"
|
|||
|
;Install for All Users
|
|||
|
SetShellVarContext all
|
|||
|
|
|||
|
;Game directories
|
|||
|
RMDir /r "$INSTDIR\cfg"
|
|||
|
RMDir /r "$INSTDIR\data"
|
|||
|
RMDir /r "$INSTDIR\examples"
|
|||
|
|
|||
|
;Temporary directories
|
|||
|
RMDir /r "$INSTDIR\cache"
|
|||
|
RMDir /r "$INSTDIR\unpack"
|
|||
|
|
|||
|
;Client, configuration and misc files
|
|||
|
Delete "$INSTDIR\client_default.cfg"
|
|||
|
Delete "$INSTDIR\client_ryzom_rd.exe"
|
|||
|
Delete "$INSTDIR\configure.bat"
|
|||
|
Delete "$INSTDIR\d3dcompiler_43.dll"
|
|||
|
Delete "$INSTDIR\d3dx9_43.dll"
|
|||
|
Delete "$INSTDIR\fmod.dll"
|
|||
|
Delete "$INSTDIR\forum.url"
|
|||
|
Delete "$INSTDIR\launch.bat"
|
|||
|
Delete "$INSTDIR\msvcp100.dll"
|
|||
|
Delete "$INSTDIR\msvcr100.dll"
|
|||
|
Delete "$INSTDIR\nel_drv_direct3d_win_r.dll"
|
|||
|
Delete "$INSTDIR\nel_drv_fmod_win_r.dll"
|
|||
|
Delete "$INSTDIR\nel_drv_opengl_win_r.dll"
|
|||
|
Delete "$INSTDIR\ryzom.ico"
|
|||
|
Delete "$INSTDIR\ryzom.url"
|
|||
|
Delete "$INSTDIR\Ryzom6.ico"
|
|||
|
|
|||
|
;Delete uninstaller
|
|||
|
Delete "$INSTDIR\Uninstall.exe"
|
|||
|
|
|||
|
MessageBox MB_YESNO "$(MSG_CONFIRM_DELETE_BACKUPS)" IDNO DontDeleteMiscFiles
|
|||
|
|
|||
|
;Delete directory
|
|||
|
RMDir /r "$INSTDIR"
|
|||
|
|
|||
|
DontDeleteMiscFiles:
|
|||
|
|
|||
|
;Delete directory if empty
|
|||
|
RMDir "$INSTDIR"
|
|||
|
|
|||
|
;Delete all shortcuts
|
|||
|
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
|
|||
|
|
|||
|
;Delete Start Menu shortcuts
|
|||
|
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
|
|||
|
Delete "$SMPROGRAMS\$MUI_TEMP\${Product}.lnk"
|
|||
|
Delete "$SMPROGRAMS\$MUI_TEMP\$(MSG_HOME_URL_TITLE).url"
|
|||
|
Delete "$SMPROGRAMS\$MUI_TEMP\$(MSG_SUPPORT_URL_TITLE).url"
|
|||
|
RMDir /r /REBOOTOK "$SMPROGRAMS\$MUI_TEMP"
|
|||
|
|
|||
|
;Delete desktop shortcut
|
|||
|
Delete "$DESKTOP\${Product}.lnk"
|
|||
|
|
|||
|
;Delete registry
|
|||
|
DeleteRegKey /ifempty "${RegistryCat}" "${RegistryKey}"
|
|||
|
DeleteRegKey "${RegistryCat}" "${UninstallRegistryKey}"
|
|||
|
SectionEnd
|
|||
|
|
|||
|
;--------------------------------
|
|||
|
;Installer Functions
|
|||
|
|
|||
|
Function .onInit
|
|||
|
!insertmacro MUI_LANGDLL_DISPLAY
|
|||
|
FunctionEnd
|
|||
|
|
|||
|
;--------------------------------
|
|||
|
;Uninstaller Functions
|
|||
|
|
|||
|
Function un.onInit
|
|||
|
!insertmacro MUI_UNGETLANGUAGE
|
|||
|
FunctionEnd
|