From 51ed8fe6f2ea9892e905e81cf5bad3960537eb40 Mon Sep 17 00:00:00 2001 From: brunzelchen Date: Fri, 19 Feb 2010 17:18:42 +0000 Subject: Challenge MOD r7 alpha based on Ultrastar Deluxe v1.0.1a for changes read Changelog.txt in folder Game git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/1.0.1 Challenge MOD@2107 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Installer/UltraStarDeluxeFull.nsi | 599 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 599 insertions(+) create mode 100644 Installer/UltraStarDeluxeFull.nsi (limited to 'Installer/UltraStarDeluxeFull.nsi') diff --git a/Installer/UltraStarDeluxeFull.nsi b/Installer/UltraStarDeluxeFull.nsi new file mode 100644 index 00000000..95bb628a --- /dev/null +++ b/Installer/UltraStarDeluxeFull.nsi @@ -0,0 +1,599 @@ +; -------------------------------------------------------------- +; UltraStar Deluxe - Installation Wizard with NSIS (USDXIWWNSIS) +; -------------------------------------------------------------- + +!include "MUI.nsh" ; Include the macros for the Modern User Interface +!include "LogicLib.nsh" +!include ".\settings\GameExplorer.nsh" +!include ".\settings\functions.nsh" +!include "WinVer.nsh" + +!define icon_inst "ustar.ico" ; Icon for Installation +!define icon_uninst "uninstall.ico" ; Icon for Uninstallation + +SetCompress Auto +SetCompressor /SOLID lzma +SetCompressorDictSize 32 +SetDatablockOptimize On + +; XPStyle on + +; ------------------------------------------------------ +; Declaration of Variables (See .\settings\variables.nsh) +; ------------------------------------------------------ + +!include ".\settings\variables.nsh" + +!addPluginDir "..\InstallerDependencies\plugins\" + +; ------------------------------- +; Strings for Installation Wizard +; ------------------------------- + +!define MUI_WELCOMEPAGE_TITLE "$(wp_title)" + +!define MUI_WELCOMEPAGE_TEXT "$(wp_text)" +;!define MUI_FINISHPAGE_SHOWREADME_TEXT "$(fp_showreadme)" +!define MUI_FINISHPAGE_LINK "$(fp_link)" +!define MUI_UNCONFIRMPAGE_TEXT_TOP "UltraStar Deluxe - $(sm_uninstall)" + +!define MUI_LICENSEPAGE_RADIOBUTTONS +!define MUI_WELCOMEPAGE_TITLE_3LINES + +!define MUI_FINISHPAGE_TITLE_3LINES + +!define MUI_FINISHPAGE_RUN "$INSTDIR\${exe}.exe" +!define MUI_FINISHPAGE_RUN_NOTCHECKED + +;!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\ReadMe.txt" + +!define MUI_FINISHPAGE_LINK_LOCATION "${homepage}" +!define MUI_FINISHPAGE_NOREBOOTSUPPORT +!define MUI_FINISHPAGE_TEXT_LARGE +!define MUI_FINISHPAGE_TEXT "$(fp_text)" + +!define MUI_UNFINISHPAGE_LINK_LOCATION "${forum}" + +!define MUI_COMPONENTSPAGE_SMALLDESC + +; The other (multi) language Strings are at the bottom of this file + +; -------------------------------------------------- +; Begin of the installation wizard +; -------------------------------------------------- + +Name "${p_name} V.${version}" +Brandingtext "${p_name} Installation" +OutFile "ultrastardx-${version}-installer-full.exe" +!define ins_name "Install ${p_name} V.${version}.exe" + +InstallDir "$PROGRAMFILES\${p_name}" + +ShowInstDetails show +ShowUnInstDetails show + +!define PRODUCT_NAME "${p_name}" +!define PRODUCT_VERSION "${version}" +!define PRODUCT_PUBLISHER "${publisher}" +!define PRODUCT_WEB_SITE "${homepage}" +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" +!define PRODUCT_UNINST_ROOT_KEY "HKLM" +!define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir" + +; Modern User Interface (MUI) Stuff + +!define MUI_ICON "${icon_inst}" ; Icon for Installation +!define MUI_UNICON "${icon_uninst}" ; Icon for Uninstallation + +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_BITMAP "${bmp_header}" ; Header Bitmap of the installation (Size: 150x57 px) +!define MUI_HEADERIMAGE_UNBITMAP "${bmp_header}" ; Header Bitmap of the uninstallation (Size: 150x57 px) +!define MUI_WELCOMEFINISHPAGE_BITMAP "${bmp_side}" ; Left Side Bitmap of Welcome & Finish Page while Installation (Size: 164x314 px) +!define MUI_UNWELCOMEFINISHPAGE_BITMAP "${bmp_side}" ; Left Side Bitmap of Welcome & Finish Page while Uninstallation (Size: 164x314 px) +!define MUI_BGCOLOR "FFFFFF" ; RGB Background color (for header, welcome & finish page) +!define MUI_WELCOMEFINISHPAGE_INI "${mui_ini}" ; Installation Options for Welcome & Finish Page (Installation) +!define MUI_UNWELCOMEFINISHPAGE_INI "${mui_ini}" ; Installation Options for Welcome & Finish Page (Uninstallation) +!define MUI_LICENSEPAGE_BGCOLOR "${license_bgcolor}" ; Background Color of Licence agreement +!define MUI_COMPONENTSPAGE_CHECKBITMAP "${bmp_check}" ; Bitmap of Checks at Components Selection Page +!define MUI_DIRECTORYPAGE_BGCOLOR "${directory_bgcolor}" ; RGB Background Color for Directory textbox +!define MUI_STARTMENUPAGE_BGCOLOR "${smp_bgcolor}" ; RGB Background of Startmenu List and Textbox +;!define MUI_INSTFILESPAGE_COLORS "${dets_bgcolor}" ; Background Color of Details Screen while files are being extracted + + +!define MUI_LANGDLL_WINDOWTITLE "USdx In-/Uninstaller: Choose language" +!define MUI_LANGDLL_ALWAYSSHOW + +!define MUI_FINISHPAGE_NOAUTOCLOSE ; Allows user to check the log file of installation (Comment out if unwanted) +!define MUI_UNFINISHPAGE_NOAUTOCLOSE ; Allows user to check the log file of uninstallation (Comment out if unwanted) + +!define MUI_ABORTWARNING +!define MUI_ABORTWARNING_TEXT $(str_abort) ; Abort Warning message +!define MUI_ABORTWARNING_CANCEL_DEFAULT ; Default: Cancel abort (Comment out if unwanted) + +!define MUI_FINISHPAGE_SHOWREADME +!define MUI_FINISHPAGE_SHOWREADME_TEXT $(sc_desktop) +!define MUI_FINISHPAGE_SHOWREADME_FUNCTION CreateDesktopShortCuts + +; -------------------------------------------------- +; Begin of the installation routine +; -------------------------------------------------- + +; Pages for MUI Installation + +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_LICENSE "${file_license}" +!insertmacro MUI_PAGE_COMPONENTS +!insertmacro MUI_PAGE_DIRECTORY + + +; Start menu page + +var ICONS_GROUP +!define MUI_STARTMENUPAGE_NODISABLE +!define MUI_STARTMENUPAGE_DEFAULTFOLDER "UltraStar Deluxe" +!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" +!define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" +!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}" +!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP + +!insertmacro MUI_PAGE_INSTFILES +Page custom Settings + +; USDX Settings Page + +Function Settings + +!insertmacro MUI_HEADER_TEXT "$(Settings_TITLE)" "$(Settings_SUBTITLE)" + + !insertmacro MUI_INSTALLOPTIONS_DISPLAY "Settings-$LANGUAGE" + +; Get all the variables: + +var /GLOBAL fullscreen +var /GLOBAL language2 +var /GLOBAL resolution +var /GLOBAL tabs +var /GLOBAL animations + !insertmacro MUI_INSTALLOPTIONS_READ $fullscreen "Settings-$LANGUAGE" "Field 6" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $language2 "Settings-$LANGUAGE" "Field 7" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $resolution "Settings-$LANGUAGE" "Field 8" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $tabs "Settings-$LANGUAGE" "Field 9" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $animations "Settings-$LANGUAGE" "Field 10" "State" + +; Write all variables to config.ini + +FileOpen $0 '$INSTDIR\config.ini' w +FileWrite $0 '[Game]$\r$\n' +FileClose $0 + +${If} $language2 != "" + +${WriteToConfig} "Language=$language2$\r$\n" "$INSTDIR\config.ini" + +${EndIf} + +${If} $tabs != "" + +${WriteToConfig} "Tabs=$tabs$\r$\n" "$INSTDIR\config.ini" + +${EndIf} + +${WriteToConfig} "[Graphics]$\r$\n" "$INSTDIR\config.ini" + +${If} $fullscreen != "" + +${WriteToConfig} "FullScreen=$fullscreen$\r$\n" "$INSTDIR\config.ini" + +${EndIf} + +${If} $resolution != "" + +${WriteToConfig} "Resolution=$resolution$\r$\n" "$INSTDIR\config.ini" + +${EndIf} + +${WriteToConfig} "[Advanced]$\r$\n" "$INSTDIR\config.ini" + +; Animations On / Off Tasks + +${If} $animations == "Off" + +${WriteToConfig} "LoadAnimation=Off$\r$\n" "$INSTDIR\config.ini" + +${WriteToConfig} "EffectSing=Off$\r$\n" "$INSTDIR\config.ini" + +${WriteToConfig} "ScreenFade=Off$\r$\n" "$INSTDIR\config.ini" + +${EndIf} + + +FunctionEnd ;Custom page end + +!insertmacro MUI_PAGE_FINISH + +; Pages for MUI Uninstallation + +!insertmacro MUI_UNPAGE_WELCOME +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +; Language files + +!insertmacro MUI_LANGUAGE "English" +!insertmacro MUI_LANGUAGE "German" + +; Finish Page + +!insertmacro MUI_UNPAGE_FINISH + +; --------------------------------------------------------- +; Section1: Main components of UltraStar Deluxe +; --------------------------------------------------------- + +LangString DESC_Section1 ${LANG_ENGLISH} "${eng_sec1_desc}" ; Adds the description to section1 +LangString DESC_Section1 ${LANG_GERMAN} "${ger_sec1_desc}" + +LangString sec1 ${LANG_ENGLISH} "${eng_sec1}" ; Name of section1 +LangString sec1 ${LANG_GERMAN} "${ger_sec1}" + +Section $(sec1) Section1 + SectionIn RO ; readonly + SetOutPath $INSTDIR + SetOverwrite try + +!include ".\settings\files_in.nsh" + +; Create shortcuts + + SetOutPath "$INSTDIR" + + !insertmacro MUI_STARTMENU_WRITE_BEGIN Application + + SetShellVarContext all + SetOutPath "$INSTDIR" + + CreateDirectory "${p_name}" + CreateDirectory "$SMPROGRAMS\$ICONS_GROUP" + CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_shortcut).lnk" "$INSTDIR\${exe}.exe" +; CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_documentation).lnk" "$INSTDIR\documentation.pdf" + CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_website).lnk" "http://www.ultrastardeluxe.org/" + CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_readme).lnk" "$INSTDIR\ReadMe.txt" + CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_license).lnk" "$INSTDIR\License.txt" + CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_uninstall).lnk" "$INSTDIR\Uninstall.exe" + !insertmacro MUI_STARTMENU_WRITE_END + +; WINDOWS VISTA GAME EXPLORER + +${If} ${AtLeastWinVista} + +${GameExplorer_GenerateGUID} +Pop $0 + +${GameExplorer_AddGame} all "${gdf_path}" $WINDIR $INSTDIR\${exe}.exe $0 + +CreateDirectory $APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\1 +CreateShortcut "$APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\1\Benchmark.lnk" \ + "$INSTDIR\${exe}.exe" "-Benchmark" + +CreateDirectory $APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\2 +CreateShortcut "$APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\2\Joypad.lnk" \ + "$INSTDIR\${exe}.exe" "-Joypad" + +CreateDirectory $APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\3 +CreateShortcut "$APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\3\Fullscreen.lnk" \ + "$INSTDIR\${exe}.exe" "-FullScreen" + +CreateDirectory $APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\3 +CreateShortcut "$APPDATA\Microsoft\Windows\GameExplorer\$0\PlayTasks\3\Dual Screen.lnk" \ + "$INSTDIR\${exe}.exe" "-Screen 2" + +CreateDirectory $APPDATA\Microsoft\Windows\GameExplorer\$0\SupportTasks\0 +CreateShortcut "$APPDATA\Microsoft\Windows\GameExplorer\$0\SupportTasks\0\Support Forum.lnk" \ + "http://forum.ultrastardeluxe.org" + +${EndIf} + +; Create Uninstaller: + + WriteUninstaller "$INSTDIR\Uninstall.exe" + + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${p_name}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\Uninstall.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" + +SectionEnd + +; --------------------------------------------------------- +; Section2: Example Song "Dead Smiling Pirates" +; --------------------------------------------------------- + + LangString DESC_g2Section1 ${LANG_ENGLISH} "${eng_g2Section1_desc}" + LangString DESC_g2Section1 ${LANG_GERMAN} "${ger_g2Section1_desc}" + + LangString DESC_g2Section2 ${LANG_ENGLISH} "${eng_g2Section2_desc}" + LangString DESC_g2Section2 ${LANG_GERMAN} "${ger_g2Section2_desc}" + + LangString DESC_g2Section3 ${LANG_ENGLISH} "${eng_g2Section3_desc}" + LangString DESC_g2Section3 ${LANG_GERMAN} "${ger_g2Section3_desc}" + + LangString sec2 ${LANG_ENGLISH} "${eng_sec2}" + LangString sec2 ${LANG_GERMAN} "${ger_sec2}" + +SectionGroup $(sec2) Section2 + +Section /o "Dead Smiling Pirates - I 18" g2Section1 +; AddSize 1400 + SetOverwrite try + SetOutPath "$INSTDIR" + CreateDirectory "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]" + SetOutPath "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\" + +; Download song: +; NSISdl::download /TIMEOUT=30000 ${demosong} $TEMP\Song-I-18.zip +; +; Pop $R0 ;Get the return value +; StrCmp $R0 "success" dlok +; MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK +; dlok: +; nsisunz::Unzip "$TEMP\Song-I-18.zip" "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\" + +; Delete "$TEMP\Song-I-18.zip" + + + SetOutPath "$INSTDIR" + +!include ".\settings\optional\in_song1.nsh" + + SetOutPath "$INSTDIR" + + SectionEnd + +Section /o "Steven Dunston - Northern Star" g2Section2 +; AddSize 1500 + SetOverwrite try + SetOutPath "$INSTDIR" + CreateDirectory "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]" + SetOutPath "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\" + +; Download song: +; NSISdl::download /TIMEOUT=30000 ${demosong2} $TEMP\Song-Northern-Star.zip + +; Pop $R0 ;Get the return value +; StrCmp $R0 "success" dlok +; MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK +; dlok: +; nsisunz::Unzip "$TEMP\Song-Northern-Star.zip" "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\" + +; Delete "$TEMP\Song-Northern-Star.zip" + + SetOutPath "$INSTDIR" + +!include ".\settings\optional\in_song2.nsh" + + SetOutPath "$INSTDIR" + + SectionEnd + +Section /o "Joshua Morin - On the run" g2Section3 +; AddSize 2200 + SetOverwrite try + SetOutPath "$INSTDIR" + CreateDirectory "$INSTDIR\Songs\Joshua Morin - On the run [DEMO]" + SetOutPath "$INSTDIR\Songs\Joshua Morin - On the run [DEMO]\" + +; Download song: +; NSISdl::download /TIMEOUT=30000 ${demosong3} $TEMP\Song-On-the-run.zip + +; Pop $R0 ;Get the return value +; StrCmp $R0 "success" dlok +; MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK +; dlok: +; nsisunz::Unzip "$TEMP\Song-On-the-run.zip" "$INSTDIR\Songs\Joshua Morin - On the run [DEMO]\" + +; Delete "$TEMP\Song-On-the-run.zip" + + SetOutPath "$INSTDIR" + +!include ".\settings\optional\in_song3.nsh" + + SetOutPath "$INSTDIR" + + SectionEnd + + SectionGroupEnd + +; --------------------------------------------------------- +; Section3: Optional Themes +; --------------------------------------------------------- + +LangString DESC_Section3 ${LANG_ENGLISH} "${eng_sec3_desc}" +LangString DESC_Section3 ${LANG_GERMAN} "${ger_sec3_desc}" + +LangString DESC_g1Sec1 ${LANG_ENGLISH} "${eng_g1Sec1_desc}" +LangString DESC_g1Sec1 ${LANG_GERMAN} "${ger_g1Sec1_desc}" + +LangString DESC_g1Sec2 ${LANG_ENGLISH} "${eng_g1Sec2_desc}" +LangString DESC_g1Sec2 ${LANG_GERMAN} "${ger_g1Sec2_desc}" + +LangString DESC_g1Sec3 ${LANG_ENGLISH} "${eng_g1Sec3_desc}" +LangString DESC_g1Sec3 ${LANG_GERMAN} "${ger_g1Sec3_desc}" + +LangString sec_group ${LANG_ENGLISH} "${eng_sec3}" +LangString sec_group ${LANG_GERMAN} "${ger_sec3}" + +SectionGroup $(sec_group) Section3 + + Section "Orange" g1Sec1 +; AddSize 700 + +; Download theme orange: +; NSISdl::download /TIMEOUT=30000 ${dl_orange} $TEMP\Theme-Orange.zip + +; Pop $R0 ;Get the return value +; StrCmp $R0 "success" dlok +; MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK +; dlok: +; nsisunz::Unzip "$TEMP\Theme-Orange.zip" "$INSTDIR\" + +; Delete "$TEMP\Theme-Orange.zip" + + SetOutPath "$INSTDIR" + +!include ".\settings\optional\in_orange.nsh" + + SetOutPath "$INSTDIR" + +SectionEnd + + Section "Streetlight" g1Sec2 +; AddSize 1000 + +; Download theme Streetlight: +; NSISdl::download /TIMEOUT=30000 ${dl_streetlight} $TEMP\Theme-Streetlight.zip + +; Pop $R0 ;Get the return value +; StrCmp $R0 "success" dlok +; MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK +; dlok: +; nsisunz::Unzip "$TEMP\Theme-Streetlight.zip" "$INSTDIR\" + +; Delete "$TEMP\Theme-Streetlight.zip" + + SetOutPath "$INSTDIR" + +!include ".\settings\optional\in_streetlight.nsh" + + SetOutPath "$INSTDIR" + +SectionEnd + + Section "Vistar" g1Sec3 +; AddSize 1000 + +; Download theme Vistar: + +; NSISdl::download /TIMEOUT=30000 ${dl_vistar} $TEMP\Theme-Vistar.zip + +; Pop $R0 ;Get the return value +; StrCmp $R0 "success" dlok +; MessageBox MB_OK|MB_ICONEXCLAMATION "Download Error, click OK to Continue" /SD IDOK +; dlok: +; nsisunz::Unzip "$TEMP\Theme-Vistar.zip" "$INSTDIR\" + +; Delete "$TEMP\Theme-Vistar.zip" + + SetOutPath "$INSTDIR" + +!include ".\settings\optional\in_vistar.nsh" + + SetOutPath "$INSTDIR" + +SectionEnd + + +SectionGroupEnd + +; --------------------------------------------------------- +; Section4: Uninstallation Wizard +; --------------------------------------------------------- + +Section Uninstall + !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP + + !include ".\settings\optional\opt_uninstall.nsh" + !include ".\settings\files_un.nsh" + + DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" + +; Unregister from Windows Vista Game Explorer + +${If} ${AtLeastWinVista} + +${GameExplorer_RemoveGame} $0 + +${EndIf} + +SectionEnd + +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN + !insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1) + +; !insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2) +; !insertmacro MUI_DESCRIPTION_TEXT ${Section3} $(DESC_Section3) + + !insertmacro MUI_DESCRIPTION_TEXT ${g1Sec1} $(DESC_g1Sec1) + !insertmacro MUI_DESCRIPTION_TEXT ${g1Sec2} $(DESC_g1Sec2) + !insertmacro MUI_DESCRIPTION_TEXT ${g1Sec3} $(DESC_g1Sec3) + + !insertmacro MUI_DESCRIPTION_TEXT ${g2Section1} $(DESC_g2Section1) + !insertmacro MUI_DESCRIPTION_TEXT ${g2Section2} $(DESC_g2Section2) + !insertmacro MUI_DESCRIPTION_TEXT ${g2Section3} $(DESC_g2Section3) + +!insertmacro MUI_FUNCTION_DESCRIPTION_END + +; ----------------------------------------------------------------------- +; Language Strings for Installation / Uninstallation Wizard +; can be found at .\settings\langstrings.nsh +; ----------------------------------------------------------------------- + +!include .\settings\langstrings.nsh + +; ------------------------------------------------------------------ +; Functions for the beginning of the installation and uninstallation +; ------------------------------------------------------------------ + +; Function for Installation + +Function .onInit + + System::Call 'kernel32::CreateMutexA(i 0, i 0, t "USdx Installer.exe") ?e' + + Pop $R0 + + StrCmp $R0 0 +3 + MessageBox MB_OK "The installer is already running." + Abort + + !insertmacro MUI_LANGDLL_DISPLAY + + ReadRegStr $R0 HKLM \ + "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" \ + "UninstallString" + StrCmp $R0 "" done + + MessageBox MB_YESNO|MB_ICONEXCLAMATION \ + "${PRODUCT_NAME} is already installed. $\n$\nAre you sure you want to \ + install it again?" \ + IDYES done + Abort + + +done: + + !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS ".\settings\settings-1031.ini" "Settings-1031" + !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS ".\settings\settings-1033.ini" "Settings-1033" + +FunctionEnd + +; Function for Uninstallation + +Function un.onInit + + ${nsProcess::FindProcess} "USdx.exe" $R0 + StrCmp $R0 0 0 +2 + MessageBox MB_YESNO|MB_ICONEXCLAMATION 'UltraStar Deluxe cannot be uninstalled while its running! Do you want to close it?' IDYES closeit IDNO end + + closeit: + ${nsProcess::KillProcess} "USdx.exe" $R0 + goto continue + + end: + ${nsProcess::Unload} + Abort + + continue: + !insertmacro MUI_LANGDLL_DISPLAY + +FunctionEnd \ No newline at end of file -- cgit v1.2.3