############################################################################################
#      NSIS Installation Script created by NSIS Quick Setup Script Generator v1.09.18
#               Entirely Edited with NullSoft Scriptable Installation System                
#              by Vlasis K. Barkas aka Red Wine red_wine@freemail.gr Sep 2006               
############################################################################################
!include Library.nsh
!define APP_NAME "Dice100"
!define COMP_NAME "TwistedMind"
!define VERSION "01.00.102.00"
!define COPYRIGHT "GenRabbit"
!define DESCRIPTION "Application"
!define INSTALLER_NAME "E:\Project Dice100\InstallMaker\InstallDice100_100102.exe"
!define MAIN_APP_EXE "Dice100Client.exe"
!define INSTALL_TYPE "SetShellVarContext current"
!define REG_ROOT "HKCU"
!define REG_APP_PATH "Software\Microsoft\Windows\CurrentVersion\App Paths\${MAIN_APP_EXE}"
!define UNINSTALL_PATH "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}"
!define WEB_SITE "http://dice100.clancampers.com"
######################################################################

VIProductVersion  "${VERSION}"
VIAddVersionKey "ProductName"  "${APP_NAME}"
VIAddVersionKey "CompanyName"  "${COMP_NAME}"
VIAddVersionKey "LegalCopyright"  "${COPYRIGHT}"
VIAddVersionKey "FileDescription"  "${DESCRIPTION}"
VIAddVersionKey "FileVersion"  "${VERSION}"

######################################################################
SetCompressor ZLIB
Name "${APP_NAME}"
Caption "${APP_NAME}"
OutFile "${INSTALLER_NAME}"
BrandingText "${APP_NAME}"
XPStyle on
InstallDirRegKey "${REG_ROOT}" "${REG_APP_PATH}" ""
InstallDir "$PROGRAMFILES\Dice100Client"

######################################################################

Var ALREADY_INSTALLED

!include "MUI.nsh"

!define MUI_ABORTWARNING
!define MUI_UNABORTWARNING

!insertmacro MUI_PAGE_WELCOME

!ifdef LICENSE_TXT
!insertmacro MUI_PAGE_LICENSE "${LICENSE_TXT}"
!endif

!insertmacro MUI_PAGE_DIRECTORY

!ifdef REG_START_MENU
!define MUI_STARTMENUPAGE_NODISABLE
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "Dice100"
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${REG_ROOT}"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "${UNINSTALL_PATH}"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${REG_START_MENU}"
!insertmacro MUI_PAGE_STARTMENU Application $SM_Folder
!endif

!insertmacro MUI_PAGE_INSTFILES

!define MUI_FINISHPAGE_RUN "$INSTDIR\${MAIN_APP_EXE}"
!insertmacro MUI_PAGE_FINISH

!insertmacro MUI_UNPAGE_CONFIRM

!insertmacro MUI_UNPAGE_INSTFILES

!insertmacro MUI_UNPAGE_FINISH

!insertmacro MUI_LANGUAGE "English"

######################################################################
section -VB6runtimes
#file "E:\Project Dice100\Dice100client + installer\Dice100Client\MSWINSCK.OCX"

StrCpy $ALREADY_INSTALLED 0
IfFileExists "$SYSDIR\MSWinsck.ocx" 0 new1
   StrCpy $ALREADY_INSTALLED 1
new1:
!insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_NOTPROTECTED "E:\Project Dice100\InstallMaker\System Files\MSWinsck.ocx" "$SYSDIR\MSWinsck.ocx" "$SYSDIR"

StrCpy $ALREADY_INSTALLED 0
IfFileExists "$SYSDIR\mscomctl.ocx" 0 new2
   StrCpy $ALREADY_INSTALLED 1
new2:
!insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_NOTPROTECTED "E:\Project Dice100\InstallMaker\System Files\mscomctl.ocx" "$SYSDIR\MSComctl.ocx" "$SYSDIR"

StrCpy $ALREADY_INSTALLED 0
IfFileExists "$SYSDIR\RICHTX32.OCX" 0 new3
   StrCpy $ALREADY_INSTALLED 1
new3:
!insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_NOTPROTECTED "E:\Project Dice100\InstallMaker\System Files\RICHTX32.OCX" "$SYSDIR\RICHTX32.OCX" "$SYSDIR"
Sectionend


Section -MainProgram
${INSTALL_TYPE}
SetOverwrite ifnewer

SetOutPath "$INSTDIR"
File "E:\Project Dice100\Executable Client\Commands.lng"
File "E:\Project Dice100\Executable Client\Dice100Client.exe"
SetOutPath "$INSTDIR\Resources"
File "E:\Project Dice100\Executable Client\Resources\Dice100.ico"
SetOutPath "$INSTDIR\Language"
File "E:\Project Dice100\Executable Client\Language\eng_programtext.sdf"
File "E:\Project Dice100\Executable Client\Language\eng_help.sdf"
File "E:\Project Dice100\Executable Client\Language\eng_shortcuts.sdf"
File "E:\Project Dice100\Executable Client\Language\eng_skills.sdf"
File "E:\Project Dice100\Executable Client\Language\nor_help.sdf"
File "E:\Project Dice100\Executable Client\Language\nor_programtext.sdf"
File "E:\Project Dice100\Executable Client\Language\nor_shortcuts.sdf"
File "E:\Project Dice100\Executable Client\Language\nor_skills.sdf"

	; We make our Dice100.path file
	DELETE "$APPDATA\Dice100.path"
	ClearErrors
	
	FileOpen $0 "$APPDATA\Dice100.path" w
		IfErrors 0 Outdata
		MessageBox MB_OK "Error creating Dice100.path"
		Goto done
	OutData:
		FileWrite $0 "version=1$\r$\nclientpath=$INSTDIR\"
	Done:
	FileClose $0

SectionEnd

######################################################################

Section -Icons_Reg
SetOutPath "$INSTDIR"
WriteUninstaller "$INSTDIR\uninstall.exe"

!ifdef REG_START_MENU
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory "$SMPROGRAMS\$SM_Folder"
CreateShortCut "$SMPROGRAMS\$SM_Folder\${APP_NAME}.lnk" "$INSTDIR\${MAIN_APP_EXE}"
CreateShortCut "$SMPROGRAMS\$SM_Folder\Uninstall ${APP_NAME}.lnk" "$INSTDIR\uninstall.exe"

!ifdef WEB_SITE
WriteIniStr "$INSTDIR\${APP_NAME} website.url" "InternetShortcut" "URL" "${WEB_SITE}"
CreateShortCut "$SMPROGRAMS\$SM_Folder\${APP_NAME} Website.lnk" "$INSTDIR\${APP_NAME} website.url"
!endif
!insertmacro MUI_STARTMENU_WRITE_END
!endif

!ifndef REG_START_MENU
CreateDirectory "$SMPROGRAMS\Dice100"
CreateShortCut "$SMPROGRAMS\Dice100\${APP_NAME}.lnk" "$INSTDIR\${MAIN_APP_EXE}"
CreateShortCut "$SMPROGRAMS\Dice100\Uninstall ${APP_NAME}.lnk" "$INSTDIR\uninstall.exe"

!ifdef WEB_SITE
WriteIniStr "$INSTDIR\${APP_NAME} website.url" "InternetShortcut" "URL" "${WEB_SITE}"
CreateShortCut "$SMPROGRAMS\Dice100Client\${APP_NAME} Website.lnk" "$INSTDIR\${APP_NAME} website.url"
!endif
!endif

WriteRegStr ${REG_ROOT} "${REG_APP_PATH}" "" "$INSTDIR\${MAIN_APP_EXE}"
WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}"  "DisplayName" "${APP_NAME}"
WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}"  "UninstallString" "$INSTDIR\uninstall.exe"
WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}"  "DisplayIcon" "$INSTDIR\${MAIN_APP_EXE}"
WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}"  "DisplayVersion" "${VERSION}"
WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}"  "Publisher" "${COMP_NAME}"

!ifdef WEB_SITE
WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}"  "URLInfoAbout" "${WEB_SITE}"
!endif
SectionEnd

######################################################################

Section -un.VB6runtimes
  !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\MSWinsck.ocx"
  !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\mscomctl.ocx"
  !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\RICHTX32.OCX"
Sectionend

Section Uninstall
${INSTALL_TYPE}
Delete "$INSTDIR\Commands.lng"
Delete "$INSTDIR\Dice100Client.exe"
Delete "$INSTDIR\Resources\Dice100.ico"
Delete "$INSTDIR\Language\eng_programtext.sdf"
Delete "$INSTDIR\Language\eng_skills.sdf"
Delete "$INSTDIR\Language\nor_programtext.sdf"
Delete "$INSTDIR\Language\nor_skills.sdf"
 
RmDir "$INSTDIR\Language"
RmDir "$INSTDIR\Resources"
 
Delete "$INSTDIR\uninstall.exe"
DELETE "$APPDATA\Dice100.path"

!ifdef WEB_SITE
Delete "$INSTDIR\${APP_NAME} website.url"
!endif

RmDir "$INSTDIR"

!ifdef REG_START_MENU
!insertmacro MUI_STARTMENU_GETFOLDER "Application" $SM_Folder
Delete "$SMPROGRAMS\$SM_Folder\${APP_NAME}.lnk"
Delete "$SMPROGRAMS\$SM_Folder\Uninstall ${APP_NAME}.lnk"
!ifdef WEB_SITE
Delete "$SMPROGRAMS\$SM_Folder\${APP_NAME} Website.lnk"
!endif
RmDir "$SMPROGRAMS\$SM_Folder"
!endif

!ifndef REG_START_MENU
Delete "$SMPROGRAMS\Dice100\${APP_NAME}.lnk"
Delete "$SMPROGRAMS\Dice100\Uninstall ${APP_NAME}.lnk"
!ifdef WEB_SITE
Delete "$SMPROGRAMS\Dice100\${APP_NAME} Website.lnk"
!endif
RmDir "$SMPROGRAMS\Dice100"
!endif

DeleteRegKey ${REG_ROOT} "${REG_APP_PATH}"
DeleteRegKey ${REG_ROOT} "${UNINSTALL_PATH}"
SectionEnd

######################################################################

