;NSIS Gothic Mod Install Script Template
;Written by Efectivo (efectivo.spb.ru)
;Copyright status: Public domain
;--------------------------------
; DO NOT EDIT! {
;--------------------------------
!include "MUI.nsh"
!include "FileFunc.nsh"
;--------------------------------
; DO NOT EDIT! }
;--------------------------------
;--------------------------------
;Основное.
!define MOD_NAME "Modification" ; Название мода.
!define MOD_VERSION "1.0" ; Версия мода.
!define MOD_DETAILED_VERSION "1.0.0.0" ; Версия сборки мода.
!define MOD_AUTHOR "Mod Author" ; Разработчики мода.
!define COPYRIGHT_YEARS "2009" ; Копирайты.
!define PLATFORM "G2a" ; Платформа мода (G1, или G2a).
!define INSTALL_TYPE "Mod" ; Тип установки (Mod - обычный мод, или Patch - патч, или русификация).
!define ORIGINAL_INI "mod.ini" ; Имя ini файла оригинального мода (для установки типа Patch).
!define ORIGINAL_VERSION "1.0" ; Необходимая версия оригинального мода (для установки типа Patch).
!define INSTALLER_NAME "install_modification" ; Имя инсталлятора.
!define UNINSTALLER_NAME "uninstall_modification" ; Имя деинсталлятора.
!define INSTALLER_VERSION "1.0" ; Версия инсталлятора.
!define LICENSE "${NSISDIR}DocsModern UILicense.txt" ; Файл лицензии.
;--------------------------------
; DO NOT EDIT! {
;--------------------------------
Name "${MOD_NAME}"
OutFile "${INSTALLER_NAME}.exe"
BrandingText "Powered by NSIS, Script Template by Efectivo"
;--------------------------------
; DO NOT EDIT! }
;--------------------------------
;--------------------------------
;Настройки интерфейса.
!define MUI_ICON "${NSISDIR}ContribGraphicsIconsmodern-install.ico" ; Значек инталлятора.
!define MUI_UNICON "${NSISDIR}ContribGraphicsIconsmodern-uninstall.ico" ; Значек деинсталлятора.
!define MUI_HEADERIMAGE ; Использовать свою картинку в "шапке" инсталлятора.
!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}ContribGraphicsHeadernsis.bmp" ; Картинка в "шапке" инсталлятора.
!define MUI_HEADERIMAGE_UNBITMAP "${NSISDIR}ContribGraphicsHeadernsis.bmp" ; Картинка в "шапке" деинсталлятора.
!define MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}ContribGraphicsWizardwin.bmp" ; Основная картинка инсталлятора.
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}ContribGraphicsWizardwin.bmp" ; Основная картинка деинсталлятора.
!define MUI_ABORTWARNING ; Предупреждать при выходе из инсталлятора "вручную".
!define MUI_UNABORTWARNING ; Предупреждать при выходе из деинсталлятора "вручную".
;--------------------------------
; DO NOT EDIT! {
;--------------------------------
!define MUI_WELCOMEPAGE_TEXT "$(WPT)"
!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
!define MUI_LANGDLL_REGISTRY_KEY "Software${MOD_NAME}"
!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
;--------------------------------
; DO NOT EDIT! }
;--------------------------------
;--------------------------------
;Страницы.
; Страницы инсталлятора.
!insertmacro MUI_PAGE_WELCOME ; Стартовая страница.
!insertmacro MUI_PAGE_LICENSE "${LICENSE}" ; Лицензия.
!insertmacro MUI_PAGE_DIRECTORY ; Страница выбора папки.
!insertmacro MUI_PAGE_INSTFILES ; Страница процесса установки.
!insertmacro MUI_PAGE_FINISH ; Завершающая страница.
; Можно также использовать:
;
; MUI_PAGE_COMPONENTS ; Выбор компонентов установки.
; MUI_PAGE_STARTMENU ; Страница выбора папки в меню "Пуск".
; Страницы деинсталлятора.
!insertmacro MUI_UNPAGE_WELCOME ; Стартовая страница.
!insertmacro MUI_UNPAGE_CONFIRM ; Страница подтверждения удаления.
!insertmacro MUI_UNPAGE_INSTFILES ; Страница процесса удаления.
!insertmacro MUI_UNPAGE_FINISH ; Завершающая страница.
; Можно также использовать:
;
; MUI_UNPAGE_LICENSE "${LICENSE}" ; Лицензия.
; MUI_UNPAGE_COMPONENTS ; Выбор компонентов для удаления.
; MUI_UNPAGE_DIRECTORY ; Страница выбора папки.
;--------------------------------
;Языки.
!insertmacro MUI_LANGUAGE "Russian" ; Русский интерфейс инсталлятора.
!insertmacro MUI_LANGUAGE "English" ; Английский интерфейс инсталлятора.
; Можно использовать любые поддерживаемые инсталлятором языки.
LangString WPT ${LANG_RUSSIAN} "Описание мода..." ;Текст на стартовой странице (на русском).
LangString WPT ${LANG_ENGLISH} "Description of the mod..." ;Текст на стартовой странице (на английском).
LangString PLATFORM_NOTFOUND_1 ${LANG_RUSSIAN} "Оригинальная версия" ; Предупреждение об отсутствии необходимой платформы (начало, на русском).
LangString PLATFORM_NOTFOUND_2 ${LANG_RUSSIAN} "не найдена" ; Предупреждение об отсутствии необходимой платформы (конец, на русском).
LangString PLATFORM_NOTFOUND_1 ${LANG_ENGLISH} "The original version of" ; Предупреждение об отсутствии необходимой платформы (начало, на на английском).
LangString PLATFORM_NOTFOUND_2 ${LANG_ENGLISH} "not found" ; Предупреждение об отсутствии необходимой платформы (конец, на на английском).
;--------------------------------
; DO NOT EDIT! {
;--------------------------------
!insertmacro MUI_RESERVEFILE_LANGDLL
!insertmacro GetFileVersion
VIProductVersion "${MOD_DETAILED_VERSION}"
VIAddVersionKey "CompanyName" "${MOD_AUTHOR}"
VIAddVersionKey "FileVersion" "${INSTALLER_VERSION}"
VIAddVersionKey "LegalCopyright" "Copyright © ${COPYRIGHT_YEARS} ${MOD_AUTHOR}"
VIAddVersionKey "FileDescription" "Install ${MOD_NAME}"
VIAddVersionKey "OriginalFilename" "${INSTALLER_NAME}.exe"
VIAddVersionKey "ProductName" "${MOD_NAME}"
VIAddVersionKey "ProductVersion" "${MOD_VERSION}"
Function .onInit
SetSilent normal
!insertmacro MUI_LANGDLL_DISPLAY
StrCmp "${PLATFORM}" "G1" Gothic_Platform
StrCmp "${PLATFORM}" "G2a" Gothic2_DNDR_Platform
Goto OtherPlatform
Gothic_Platform:
ReadRegStr $INSTDIR HKCU "SoftwarePiranha BytesPlayer-Kit" "InstallLocation"
StrCmp $INSTDIR "" "" SetPlatform
StrCpy $INSTDIR "$PROGRAMFILESSnowball InteractiveGothic"
Goto SetPlatform
Gothic2_DNDR_Platform:
ReadRegStr $INSTDIR HKCU "SoftwarePiranha BytesPlayer-Kit2" "InstallLocation"
StrCmp $INSTDIR "" "" SetPlatform
StrCpy $INSTDIR "$PROGRAMFILESAkella GamesGothic II"
Goto SetPlatform
OtherPlatform:
ReadRegStr $INSTDIR HKCU "Software${MOD_NAME}" "InstallLocation"
StrCmp $INSTDIR "" "" SetPlatform
StrCpy $INSTDIR "$PROGRAMFILES${MOD_NAME}"
SetPlatform:
FunctionEnd
Function un.onInit
SetSilent normal
!insertmacro MUI_UNGETLANGUAGE
FunctionEnd
Function .onVerifyInstDir
StrCmp "${PLATFORM}" "G1" Gothic
StrCmp "${PLATFORM}" "G2a" Gothic2_DNDR
Goto VerifiedPath
Gothic:
${GetFileVersion} "$INSTDIRSystemGothicMod.exe" $R0
StrCmp $R0 "1.0.8.11" VerifiedPath
StrCmp $R1 "1" Shown
MessageBox MB_OK|MB_ICONExclamation "$(PLATFORM_NOTFOUND_1) GothicMod v1.08k $(PLATFORM_NOTFOUND_2)"
StrCpy $R1 "1"
Shown:
Abort
Gothic2_DNDR:
${GetFileVersion} "$INSTDIRSystemGothic2.exe" $R2
StrCmp $R2 "2.6.0.0" VerifiedPath
StrCmp $R3 "1" Shown_2
MessageBox MB_OK|MB_ICONExclamation "$(PLATFORM_NOTFOUND_1) Gothic II The Night of the Raven v2.6 $(PLATFORM_NOTFOUND_2)"
StrCpy $R3 "1"
Shown_2:
Abort
VerifiedPath:
StrCmp "${INSTALL_TYPE}" "Mod" VerifiedMod
ReadINIStr $R4 "$INSTDIRSystem${ORIGINAL_INI}" "INFO" "Version"
StrCmp $R4 "${ORIGINAL_VERSION}" VerifiedMod
StrCmp $R5 "1" Shown_3
MessageBox MB_OK|MB_ICONExclamation "$(PLATFORM_NOTFOUND_1) ${MOD_NAME} v${ORIGINAL_VERSION} $(PLATFORM_NOTFOUND_2)"
StrCpy $R5 "1"
Shown_3:
Abort
VerifiedMod:
FunctionEnd
Section "Dummy Section" SecDummy
SectionIn RO
SetOverwrite on
;--------------------------------
; DO NOT EDIT! }
;--------------------------------
;--------------------------------
;Установка (укажите каталоги и файлы для инсталляции).
SetOutPath "$INSTDIRSystem"
;File ".Systemmod.ini"
;File ".Systemmod.rtf"
;File ".Systemmod.ico"
SetOutPath "$INSTDIRDatamodvdf"
;File ".Datamodvdfmod.mod"
SetOutPath "$INSTDIR"
;CreateDirectory "$INSTDIRsaves_mod"
;--------------------------------
; DO NOT EDIT! {
;--------------------------------
WriteRegStr HKCU "Software${MOD_NAME}" "InstallLocation" $INSTDIR
WriteUninstaller "$INSTDIR${UNINSTALLER_NAME}.exe"
SectionEnd
Section "Uninstall"
;--------------------------------
; DO NOT EDIT! }
;--------------------------------
;--------------------------------
;Удаление (укажите файлы для деинсталляции).
elete "$INSTDIRSystemmod.ini"
elete "$INSTDIRSystemmod.rtf"
elete "$INSTDIRSystemmod.ico"
elete "$INSTDIRDatamodvdfmod.mod"
;RMDir "$INSTDIRsaves_mod"
;--------------------------------
; DO NOT EDIT! {
;--------------------------------
DeleteRegKey HKCU "Software${MOD_NAME}"
Delete "$INSTDIR${UNINSTALLER_NAME}.exe"
SectionEnd
;--------------------------------
; DO NOT EDIT! }
;--------------------------------