aboutsummaryrefslogtreecommitdiffstats
path: root/Installer
diff options
context:
space:
mode:
Diffstat (limited to 'Installer')
-rw-r--r--Installer/Readme.txt19
-rw-r--r--Installer/UltraStarDeluxe.nsi557
-rw-r--r--Installer/UltraStarDeluxeFull.nsi599
-rw-r--r--Installer/clanguage/English.nsh94
-rw-r--r--Installer/clanguage/German.nsh94
-rw-r--r--Installer/gdf/UltraStar Deluxe.gdf.xmlbin0 -> 3494 bytes
-rw-r--r--Installer/gdf/UltraStar Deluxe.rc33
-rw-r--r--Installer/gdf/boxart.pngbin0 -> 36578 bytes
-rw-r--r--Installer/gdf/gameux.h250
-rw-r--r--Installer/gdf/icon.icobin0 -> 22486 bytes
-rw-r--r--Installer/settings/GameExplorer.nsh198
-rw-r--r--Installer/settings/files_in.nsh269
-rw-r--r--Installer/settings/files_un.nsh349
-rw-r--r--Installer/settings/functions.nsh78
-rw-r--r--Installer/settings/io.ini19
-rw-r--r--Installer/settings/langstrings.nsh69
-rw-r--r--Installer/settings/optional/in_orange.nsh102
-rw-r--r--Installer/settings/optional/in_song1.nsh10
-rw-r--r--Installer/settings/optional/in_song2.nsh11
-rw-r--r--Installer/settings/optional/in_song3.nsh11
-rw-r--r--Installer/settings/optional/in_streetlight.nsh100
-rw-r--r--Installer/settings/optional/in_vistar.nsh102
-rw-r--r--Installer/settings/optional/opt_uninstall.nsh292
-rw-r--r--Installer/settings/settings-1031.ini131
-rw-r--r--Installer/settings/settings-1033.ini131
-rw-r--r--Installer/settings/variables.nsh70
-rw-r--r--Installer/u3portable/7za.exebin0 -> 476672 bytes
-rw-r--r--Installer/u3portable/Data/Ultrastar.dbbin0 -> 3072 bytes
-rw-r--r--Installer/u3portable/Data/config.ini0
-rw-r--r--Installer/u3portable/Host/U3.lnkbin0 -> 1165 bytes
-rw-r--r--Installer/u3portable/Host/appstop.exebin0 -> 24576 bytes
-rw-r--r--Installer/u3portable/Host/start.bat21
-rw-r--r--Installer/u3portable/License.txt549
-rw-r--r--Installer/u3portable/Manifest/USdx.icobin0 -> 2238 bytes
-rw-r--r--Installer/u3portable/Manifest/manifest.u3i17
-rw-r--r--Installer/u3portable/Readme.txt5
-rw-r--r--Installer/u3portable/copy.bat20
-rw-r--r--Installer/uninstall.icobin0 -> 22486 bytes
-rw-r--r--Installer/ustar.icobin0 -> 22486 bytes
39 files changed, 4200 insertions, 0 deletions
diff --git a/Installer/Readme.txt b/Installer/Readme.txt
new file mode 100644
index 00000000..a10b8ac2
--- /dev/null
+++ b/Installer/Readme.txt
@@ -0,0 +1,19 @@
+SOURCE (23th of December 2007, 13:00 UTC+1 MESZ)
+
+Build using Nullsoft Install System
+(http://nsis.sourceforge.net/)
+
+-----------------------------------------------
+Dependencies
+-----------------------------------------------
+
+The installer needs the plugins
+within the ..\InstallerDependencies\plugins dir.
+
+-----------------------------------------------
+Custom language files (Dir: clanguage):
+-----------------------------------------------
+
+Place the edited custom languages files in:
+
+.\NSIS\Contrib\Modern UI\Language files
diff --git a/Installer/UltraStarDeluxe.nsi b/Installer/UltraStarDeluxe.nsi
new file mode 100644
index 00000000..cb1b7745
--- /dev/null
+++ b/Installer/UltraStarDeluxe.nsi
@@ -0,0 +1,557 @@
+; --------------------------------------------------------------
+; 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-lite.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 sec2 ${LANG_ENGLISH} "${eng_sec2}"
+; LangString sec2 ${LANG_GERMAN} "${ger_sec2}"
+
+; SectionGroup $(sec2) Section2
+
+; Section /o "Dead Smiling Pirates - I 18" g2Section1
+; AddSize 2816
+; 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"
+
+; SectionEnd
+
+; Section /o "Steven Dunston - Northern Star" g2Section2
+; AddSize 3769
+; 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"
+
+; 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
+
+; 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
+
+; 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
+
+; 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_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
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
diff --git a/Installer/clanguage/English.nsh b/Installer/clanguage/English.nsh
new file mode 100644
index 00000000..795abfde
--- /dev/null
+++ b/Installer/clanguage/English.nsh
@@ -0,0 +1,94 @@
+;NSIS Modern User Interface - Language File
+;Compatible with Modern UI 1.68
+
+;Language: English (1033)
+;By Joost Verburg
+
+;--------------------------------
+
+!insertmacro MUI_LANGUAGEFILE_BEGIN "English"
+
+ !define MUI_LANGNAME "English" ;Use only ASCII characters (if this is not possible, use the English name)
+
+ !define MUI_TEXT_WELCOME_INFO_TITLE "Welcome to the $(^NameDA) Setup Wizard"
+ !define MUI_TEXT_WELCOME_INFO_TEXT "This wizard will guide you through the installation of $(^NameDA).\r\n\r\nIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without having to reboot your computer.\r\n\r\n$_CLICK"
+
+ !define MUI_TEXT_LICENSE_TITLE "License Agreement"
+ !define MUI_TEXT_LICENSE_SUBTITLE "Please review the license terms before installing $(^NameDA)."
+ !define MUI_INNERTEXT_LICENSE_TOP "Press Page Down to see the rest of the agreement."
+ !define MUI_INNERTEXT_LICENSE_BOTTOM "If you accept the terms of the agreement, click I Agree to continue. You must accept the agreement to install $(^NameDA)."
+ !define MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "If you accept the terms of the agreement, click the check box below. You must accept the agreement to install $(^NameDA). $_CLICK"
+ !define MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "If you accept the terms of the agreement, select the first option below. You must accept the agreement to install $(^NameDA). $_CLICK"
+
+ !define MUI_TEXT_COMPONENTS_TITLE "Choose Components"
+ !define MUI_TEXT_COMPONENTS_SUBTITLE "Choose which features of $(^NameDA) you want to install."
+ !define MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Description"
+ !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+ !define MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Position your mouse over a component to see its description."
+ !else
+ !define MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Select a component to see its description."
+ !endif
+
+ !define MUI_TEXT_DIRECTORY_TITLE "Choose Install Location"
+ !define MUI_TEXT_DIRECTORY_SUBTITLE "Choose the folder in which to install $(^NameDA)."
+
+ !define MUI_TEXT_INSTALLING_TITLE "Installing"
+ !define MUI_TEXT_INSTALLING_SUBTITLE "Please wait while $(^NameDA) is being installed."
+
+ !define MUI_TEXT_FINISH_TITLE "Installation Complete"
+ !define MUI_TEXT_FINISH_SUBTITLE "Setup was completed successfully."
+
+ !define MUI_TEXT_ABORT_TITLE "Installation Aborted"
+ !define MUI_TEXT_ABORT_SUBTITLE "Setup was not completed successfully."
+
+ !define MUI_BUTTONTEXT_FINISH "&Finish"
+ !define MUI_TEXT_FINISH_INFO_TITLE "Completing the $(^NameDA) Setup Wizard"
+ !define MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) has been installed on your computer.\r\n\r\nClick Finish to close this wizard."
+ !define MUI_TEXT_FINISH_INFO_REBOOT "Your computer must be restarted in order to complete the installation of $(^NameDA). Do you want to reboot now?"
+ !define MUI_TEXT_FINISH_REBOOTNOW "Reboot now"
+ !define MUI_TEXT_FINISH_REBOOTLATER "I want to manually reboot later"
+ !define MUI_TEXT_FINISH_RUN "&Run $(^NameDA)"
+ !define MUI_TEXT_FINISH_SHOWREADME "&Show Readme"
+
+ !define MUI_TEXT_STARTMENU_TITLE "Choose Start Menu Folder"
+ !define MUI_TEXT_STARTMENU_SUBTITLE "Choose a Start Menu folder for the $(^NameDA) shortcuts."
+ !define MUI_INNERTEXT_STARTMENU_TOP "Select the Start Menu folder in which you would like to create the program's shortcuts. You can also enter a name to create a new folder."
+ !define MUI_INNERTEXT_STARTMENU_CHECKBOX "Do not create shortcuts"
+
+ !define MUI_TEXT_ABORTWARNING "Are you sure you want to quit $(^Name) Setup?"
+
+
+ !define MUI_UNTEXT_WELCOME_INFO_TITLE "Welcome to the $(^NameDA) Uninstall Wizard"
+ !define MUI_UNTEXT_WELCOME_INFO_TEXT "This wizard will guide you through the uninstallation of $(^NameDA).\r\n\r\nBefore starting the uninstallation, make sure $(^NameDA) is not running.\r\n\r\n$_CLICK"
+
+ !define MUI_UNTEXT_CONFIRM_TITLE "Uninstall $(^NameDA)"
+ !define MUI_UNTEXT_CONFIRM_SUBTITLE "Remove $(^NameDA) from your computer."
+
+ !define MUI_UNTEXT_LICENSE_TITLE "License Agreement"
+ !define MUI_UNTEXT_LICENSE_SUBTITLE "Please review the license terms before uninstalling $(^NameDA)."
+ !define MUI_UNINNERTEXT_LICENSE_BOTTOM "If you accept the terms of the agreement, click I Agree to continue. You must accept the agreement to uninstall $(^NameDA)."
+ !define MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "If you accept the terms of the agreement, click the check box below. You must accept the agreement to uninstall $(^NameDA). $_CLICK"
+ !define MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "If you accept the terms of the agreement, select the first option below. You must accept the agreement to uninstall $(^NameDA). $_CLICK"
+
+ !define MUI_UNTEXT_COMPONENTS_TITLE "Choose Components"
+ !define MUI_UNTEXT_COMPONENTS_SUBTITLE "Choose which features of $(^NameDA) you want to uninstall."
+
+ !define MUI_UNTEXT_DIRECTORY_TITLE "Choose Uninstall Location"
+ !define MUI_UNTEXT_DIRECTORY_SUBTITLE "Choose the folder from which to uninstall $(^NameDA)."
+
+ !define MUI_UNTEXT_UNINSTALLING_TITLE "Uninstalling"
+ !define MUI_UNTEXT_UNINSTALLING_SUBTITLE "Please wait while $(^NameDA) is being uninstalled."
+
+ !define MUI_UNTEXT_FINISH_TITLE "Uninstallation Complete"
+ !define MUI_UNTEXT_FINISH_SUBTITLE "Uninstall was completed successfully."
+
+ !define MUI_UNTEXT_ABORT_TITLE "Uninstallation Aborted"
+ !define MUI_UNTEXT_ABORT_SUBTITLE "Uninstall was not completed successfully."
+
+ !define MUI_UNTEXT_FINISH_INFO_TITLE "Completing the $(^NameDA) Uninstall Wizard"
+ !define MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) has been uninstalled from your computer.\r\n\r\nClick Finish to close this wizard."
+ !define MUI_UNTEXT_FINISH_INFO_REBOOT "Your computer must be restarted in order to complete the uninstallation of $(^NameDA). Do you want to reboot now?"
+
+ !define MUI_UNTEXT_ABORTWARNING "Are you sure you want to quit $(^Name) Uninstall?"
+
+!insertmacro MUI_LANGUAGEFILE_END \ No newline at end of file
diff --git a/Installer/clanguage/German.nsh b/Installer/clanguage/German.nsh
new file mode 100644
index 00000000..54c271b8
--- /dev/null
+++ b/Installer/clanguage/German.nsh
@@ -0,0 +1,94 @@
+;NSIS Modern User Interface - Language File
+;Compatible with Modern UI 1.68
+
+;Language: German (1031)
+;By L.King, changes by K. Windszus & R. Bisswanger & M. Simmack & D. Weiß
+
+;--------------------------------
+
+!insertmacro MUI_LANGUAGEFILE_BEGIN "German"
+
+ !define MUI_LANGNAME "Deutsch" ;Use only ASCII characters (if this is not possible, use the English name)
+
+ !define MUI_TEXT_WELCOME_INFO_TITLE "Willkommen beim Installations-\r\nAssistenten für $(^NameDA)"
+ !define MUI_TEXT_WELCOME_INFO_TEXT "Dieser Assistent wird Sie durch die Installation von $(^NameDA) begleiten.\r\n\r\nEs wird empfohlen, vor der Installation alle anderen Programme zu schließen, damit bestimmte Systemdateien ohne Neustart ersetzt werden können.\r\n\r\n$_CLICK"
+
+ !define MUI_TEXT_LICENSE_TITLE "Lizenzabkommen"
+ !define MUI_TEXT_LICENSE_SUBTITLE "Bitte lesen Sie die Lizenzbedingungen durch, bevor Sie mit der Installation fortfahren."
+ !define MUI_INNERTEXT_LICENSE_TOP "Drücken Sie die Bild-nach-unten Taste, um den Rest des Abkommens zu sehen."
+ !define MUI_INNERTEXT_LICENSE_BOTTOM "Falls Sie alle Bedingungen des Abkommens akzeptieren, klicken Sie auf Annehmen. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^NameDA) installieren zu können."
+ !define MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Falls Sie alle Bedingungen des Abkommens akzeptieren, aktivieren Sie das Kästchen. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^NameDA) installieren zu können. $_CLICK"
+ !define MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Falls Sie alle Bedingungen des Abkommens akzeptieren, wählen Sie unten die entsprechende Option. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^NameDA) installieren zu können. $_CLICK"
+
+ !define MUI_TEXT_COMPONENTS_TITLE "Komponenten auswählen"
+ !define MUI_TEXT_COMPONENTS_SUBTITLE "Wählen Sie die Komponenten aus, die Sie installieren möchten."
+ !define MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Beschreibung"
+ !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+ !define MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Bewegen Sie den Mauszeiger über eine Komponente, um ihre Beschreibung zu sehen."
+ !else
+ !define MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Selektieren Sie eine Komponente, um ihre Beschreibung zu sehen."
+ !endif
+
+ !define MUI_TEXT_DIRECTORY_TITLE "Zielverzeichnis auswählen"
+ !define MUI_TEXT_DIRECTORY_SUBTITLE "Wählen Sie das Verzeichnis aus, in das $(^NameDA) installiert werden soll."
+
+ !define MUI_TEXT_INSTALLING_TITLE "Installiere..."
+ !define MUI_TEXT_INSTALLING_SUBTITLE "Bitte warten Sie, während $(^NameDA) installiert wird."
+
+ !define MUI_TEXT_FINISH_TITLE "Die Installation ist vollständig"
+ !define MUI_TEXT_FINISH_SUBTITLE "Die Installation wurde erfolgreich abgeschlossen."
+
+ !define MUI_TEXT_ABORT_TITLE "Abbruch der Installation"
+ !define MUI_TEXT_ABORT_SUBTITLE "Die Installation wurde nicht vollständig abgeschlossen."
+
+ !define MUI_BUTTONTEXT_FINISH "&Fertig stellen"
+ !define MUI_TEXT_FINISH_INFO_TITLE "Die Installation von $(^NameDA) wird abgeschlossen"
+ !define MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) wurde auf Ihrem Computer installiert.\r\n\r\nKlicken Sie auf Fertig stellen, um den Installations-Assistenten zu schließen."
+ !define MUI_TEXT_FINISH_INFO_REBOOT "Windows muss neu gestartet werden, um die Installation von $(^NameDA) zu vervollständigen. Möchten Sie Windows jetzt neu starten?"
+ !define MUI_TEXT_FINISH_REBOOTNOW "Jetzt neu starten"
+ !define MUI_TEXT_FINISH_REBOOTLATER "Windows später selbst neu starten"
+ !define MUI_TEXT_FINISH_RUN "$(^NameDA) ausführen"
+ !define MUI_TEXT_FINISH_SHOWREADME "Liesmich anzeigen"
+
+ !define MUI_TEXT_STARTMENU_TITLE "Startmenü-Ordner bestimmen"
+ !define MUI_TEXT_STARTMENU_SUBTITLE "Bestimmen Sie einen Startmenü-Ordner für die Programmverknüpfungen."
+ !define MUI_INNERTEXT_STARTMENU_TOP "Wählen Sie den Startmenü-Ordner für die Programmverknüpfungen aus. Falls Sie einen neuen Ordner erstellen möchten, geben Sie dessen Namen ein."
+ !define MUI_INNERTEXT_STARTMENU_CHECKBOX "Keine Verknüpfungen erstellen"
+
+ !define MUI_TEXT_ABORTWARNING "Sind Sie sicher, dass Sie die Installation von $(^Name) abbrechen wollen?"
+
+
+ !define MUI_UNTEXT_WELCOME_INFO_TITLE "Deinstallations-Assistent von $(^NameDA)"
+ !define MUI_UNTEXT_WELCOME_INFO_TEXT "Dieser Assistent wird Sie durch die Deinstallation von $(^NameDA) begleiten.\r\n\r\nBitte beenden Sie $(^NameDA), bevor Sie mit der Deinstallation fortfahren.\r\n\r\n$_CLICK"
+
+ !define MUI_UNTEXT_CONFIRM_TITLE "Deinstallation von $(^NameDA)"
+ !define MUI_UNTEXT_CONFIRM_SUBTITLE "$(^NameDA) wird von Ihrem Computer entfernt."
+
+ !define MUI_UNTEXT_LICENSE_TITLE "Lizenzabkommen"
+ !define MUI_UNTEXT_LICENSE_SUBTITLE "Bitte lesen Sie die Lizenzbedingungen durch, bevor Sie mit der Deinstallation von $(^NameDA) fortfahren."
+ !define MUI_UNINNERTEXT_LICENSE_BOTTOM "Falls Sie alle Bedingungen des Abkommens akzeptieren, klicken Sie auf Annehmen. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^NameDA) deinstallieren zu können."
+ !define MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Falls Sie alle Bedingungen des Abkommens akzeptieren, aktivieren Sie das Kästchen. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^NameDA) deinstallieren zu können. $_CLICK"
+ !define MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Falls Sie alle Bedingungen des Abkommens akzeptieren, wählen Sie unten die entsprechende Option. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^NameDA) deinstallieren zu können. $_CLICK"
+
+ !define MUI_UNTEXT_COMPONENTS_TITLE "Komponenten auswählen"
+ !define MUI_UNTEXT_COMPONENTS_SUBTITLE "Wählen Sie die Komponenten aus, die Sie entfernen möchten."
+
+ !define MUI_UNTEXT_DIRECTORY_TITLE "Verzeichnis für Deinstallation auswählen"
+ !define MUI_UNTEXT_DIRECTORY_SUBTITLE "Wählen Sie das Verzeichnis aus, aus dem $(^NameDA) entfernt werden soll."
+
+ !define MUI_UNTEXT_UNINSTALLING_TITLE "Deinstalliere..."
+ !define MUI_UNTEXT_UNINSTALLING_SUBTITLE "Bitte warten Sie, während $(^NameDA) entfernt wird."
+
+ !define MUI_UNTEXT_FINISH_TITLE "Die Deinstallation ist vollständig"
+ !define MUI_UNTEXT_FINISH_SUBTITLE "Die Deinstallation wurde erfolgreich abgeschlossen."
+
+ !define MUI_UNTEXT_ABORT_TITLE "Abbruch der Deinstallation"
+ !define MUI_UNTEXT_ABORT_SUBTITLE "Die Deinstallation wurde nicht vollständig abgeschlossen."
+
+ !define MUI_UNTEXT_FINISH_INFO_TITLE "Die Deinstallation von $(^NameDA) wird abgeschlossen"
+ !define MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) ist von ihrem Computer entfernt worden.\r\n\r\nKlicken Sie auf Fertig stellen, um den Assistenten zu schließen."
+ !define MUI_UNTEXT_FINISH_INFO_REBOOT "Windows muss neu gestartet werden, um die Deinstallation von $(^NameDA) zu vervollständigen. Möchten Sie Windows jetzt neu starten?"
+
+ !define MUI_UNTEXT_ABORTWARNING "Sind Sie sicher, dass Sie die Deinstallation von $(^Name) abbrechen möchten?"
+
+!insertmacro MUI_LANGUAGEFILE_END \ No newline at end of file
diff --git a/Installer/gdf/UltraStar Deluxe.gdf.xml b/Installer/gdf/UltraStar Deluxe.gdf.xml
new file mode 100644
index 00000000..89d7ea16
--- /dev/null
+++ b/Installer/gdf/UltraStar Deluxe.gdf.xml
Binary files differ
diff --git a/Installer/gdf/UltraStar Deluxe.rc b/Installer/gdf/UltraStar Deluxe.rc
new file mode 100644
index 00000000..0bced87c
--- /dev/null
+++ b/Installer/gdf/UltraStar Deluxe.rc
@@ -0,0 +1,33 @@
+/////////////////////////////////////////////////////////////////////////////
+// Resource File for : UltraStar Deluxe
+#include "UltraStar Deluxe.h"
+
+#define _INC_CRTDEFS
+
+
+/////////////////////////////////////////////////////////////////////////////
+// This resource files requires the Platform SDK to be compiled.
+#include <gameux.h>
+
+
+#define APSTUDIO_READONLY_SYMBOLS
+
+#include <afxres.h>
+
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// Neutral Resources
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
+#ifdef _WIN32
+
+LANGUAGE LANG_NEUTRAL, SUBLANG_DEFAULT
+#pragma code_page(DEFAULT)
+#endif //_WIN32
+
+ID_GDF_XML DATA "UltraStar Deluxe.gdf.xml"
+ID_GDF_THUMBNAIL DATA "boxart.png"
+ID_ICON ICON "icon.ico"
+
+#endif // Neutral resources
+/////////////////////////////////////////////////////////////////////////////
diff --git a/Installer/gdf/boxart.png b/Installer/gdf/boxart.png
new file mode 100644
index 00000000..c3b1d788
--- /dev/null
+++ b/Installer/gdf/boxart.png
Binary files differ
diff --git a/Installer/gdf/gameux.h b/Installer/gdf/gameux.h
new file mode 100644
index 00000000..fa5b20a2
--- /dev/null
+++ b/Installer/gdf/gameux.h
@@ -0,0 +1,250 @@
+
+
+/* this ALWAYS GENERATED file contains the definitions for the interfaces */
+
+
+ /* File created by MIDL compiler version 7.00.0486 */
+/* Compiler settings for gameux.idl:
+ Oicf, W1, Zp8, env=Win32 (32b run)
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+//@@MIDL_FILE_HEADING( )
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+
+
+/* verify that the <rpcndr.h> version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+
+/* verify that the <rpcsal.h> version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCSAL_H_VERSION__
+#define __REQUIRED_RPCSAL_H_VERSION__ 100
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __RPCNDR_H_VERSION__
+#error this stub requires an updated version of <rpcndr.h>
+#endif // __RPCNDR_H_VERSION__
+
+#ifndef COM_NO_WINDOWS_H
+#include "windows.h"
+#include "ole2.h"
+#endif /*COM_NO_WINDOWS_H*/
+
+#ifndef __gameux_h__
+#define __gameux_h__
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
+#endif
+
+/* Forward Declarations */
+
+#ifndef __IGameExplorer_FWD_DEFINED__
+#define __IGameExplorer_FWD_DEFINED__
+typedef interface IGameExplorer IGameExplorer;
+#endif /* __IGameExplorer_FWD_DEFINED__ */
+
+
+#ifndef __GameExplorer_FWD_DEFINED__
+#define __GameExplorer_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class GameExplorer GameExplorer;
+#else
+typedef struct GameExplorer GameExplorer;
+#endif /* __cplusplus */
+
+#endif /* __GameExplorer_FWD_DEFINED__ */
+
+
+/* header files for imported files */
+#include "oaidl.h"
+#include "ocidl.h"
+#include "shobjidl.h"
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+
+/* interface __MIDL_itf_gameux_0000_0000 */
+/* [local] */
+
+#define ID_GDF_XML __GDF_XML
+#define ID_GDF_THUMBNAIL __GDF_THUMBNAIL
+#define ID_ICON_ICO __ICON_ICO
+#define ID_GDF_XML_STR L"__GDF_XML"
+#define ID_GDF_THUMBNAIL_STR L"__GDF_THUMBNAIL"
+typedef /* [v1_enum] */
+enum GAME_INSTALL_SCOPE
+ { GIS_NOT_INSTALLED = 1,
+ GIS_CURRENT_USER = 2,
+ GIS_ALL_USERS = 3
+ } GAME_INSTALL_SCOPE;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_gameux_0000_0000_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_gameux_0000_0000_v0_0_s_ifspec;
+
+#ifndef __IGameExplorer_INTERFACE_DEFINED__
+#define __IGameExplorer_INTERFACE_DEFINED__
+
+/* interface IGameExplorer */
+/* [unique][helpstring][uuid][object] */
+
+
+EXTERN_C const IID IID_IGameExplorer;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("E7B2FB72-D728-49B3-A5F2-18EBF5F1349E")
+ IGameExplorer : public IUnknown
+ {
+ public:
+ virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddGame(
+ /* [in] */ __RPC__in BSTR bstrGDFBinaryPath,
+ /* [in] */ __RPC__in BSTR bstrGameInstallDirectory,
+ /* [in] */ GAME_INSTALL_SCOPE installScope,
+ /* [out][in] */ __RPC__inout GUID *pguidInstanceID) = 0;
+
+ virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveGame(
+ /* [in] */ GUID guidInstanceID) = 0;
+
+ virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateGame(
+ /* [in] */ GUID guidInstanceID) = 0;
+
+ virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VerifyAccess(
+ /* [in] */ __RPC__in BSTR bstrGDFBinaryPath,
+ /* [out] */ __RPC__out BOOL *pfHasAccess) = 0;
+
+ };
+
+#else /* C style interface */
+
+ typedef struct IGameExplorerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IGameExplorer * This,
+ /* [in] */ __RPC__in REFIID riid,
+ /* [iid_is][out] */
+ __RPC__deref_out void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IGameExplorer * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IGameExplorer * This);
+
+ /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddGame )(
+ IGameExplorer * This,
+ /* [in] */ __RPC__in BSTR bstrGDFBinaryPath,
+ /* [in] */ __RPC__in BSTR bstrGameInstallDirectory,
+ /* [in] */ GAME_INSTALL_SCOPE installScope,
+ /* [out][in] */ __RPC__inout GUID *pguidInstanceID);
+
+ /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveGame )(
+ IGameExplorer * This,
+ /* [in] */ GUID guidInstanceID);
+
+ /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateGame )(
+ IGameExplorer * This,
+ /* [in] */ GUID guidInstanceID);
+
+ /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *VerifyAccess )(
+ IGameExplorer * This,
+ /* [in] */ __RPC__in BSTR bstrGDFBinaryPath,
+ /* [out] */ __RPC__out BOOL *pfHasAccess);
+
+ END_INTERFACE
+ } IGameExplorerVtbl;
+
+ interface IGameExplorer
+ {
+ CONST_VTBL struct IGameExplorerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IGameExplorer_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IGameExplorer_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IGameExplorer_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IGameExplorer_AddGame(This,bstrGDFBinaryPath,bstrGameInstallDirectory,installScope,pguidInstanceID) \
+ ( (This)->lpVtbl -> AddGame(This,bstrGDFBinaryPath,bstrGameInstallDirectory,installScope,pguidInstanceID) )
+
+#define IGameExplorer_RemoveGame(This,guidInstanceID) \
+ ( (This)->lpVtbl -> RemoveGame(This,guidInstanceID) )
+
+#define IGameExplorer_UpdateGame(This,guidInstanceID) \
+ ( (This)->lpVtbl -> UpdateGame(This,guidInstanceID) )
+
+#define IGameExplorer_VerifyAccess(This,bstrGDFBinaryPath,pfHasAccess) \
+ ( (This)->lpVtbl -> VerifyAccess(This,bstrGDFBinaryPath,pfHasAccess) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IGameExplorer_INTERFACE_DEFINED__ */
+
+
+
+#ifndef __gameuxLib_LIBRARY_DEFINED__
+#define __gameuxLib_LIBRARY_DEFINED__
+
+/* library gameuxLib */
+/* [helpstring][version][uuid] */
+
+
+EXTERN_C const IID LIBID_gameuxLib;
+
+EXTERN_C const CLSID CLSID_GameExplorer;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("9A5EA990-3034-4D6F-9128-01F3C61022BC")
+GameExplorer;
+#endif
+#endif /* __gameuxLib_LIBRARY_DEFINED__ */
+
+/* Additional Prototypes for ALL interfaces */
+
+unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
+unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
+unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
+void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
+
+/* end of Additional Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/Installer/gdf/icon.ico b/Installer/gdf/icon.ico
new file mode 100644
index 00000000..f3214d1a
--- /dev/null
+++ b/Installer/gdf/icon.ico
Binary files differ
diff --git a/Installer/settings/GameExplorer.nsh b/Installer/settings/GameExplorer.nsh
new file mode 100644
index 00000000..d5056661
--- /dev/null
+++ b/Installer/settings/GameExplorer.nsh
@@ -0,0 +1,198 @@
+# user interface
+
+!define GameExplorer_GenerateGUID '!insertmacro GameExplorer_GenerateGUID'
+!define GameExplorer_AddGame '!insertmacro GameExplorer_AddGame'
+!define GameExplorer_UpdateGame '!insertmacro GameExplorer_UpdateGame'
+!define GameExplorer_RemoveGame '!insertmacro GameExplorer_RemoveGame'
+
+# internal stuff
+
+!define CLSCTX_INPROC_SERVER 1
+!define IID_IGameExplorer {E7B2FB72-D728-49B3-A5F2-18EBF5F1349E}
+!define CLSID_GameExplorer {9A5EA990-3034-4D6F-9128-01F3C61022BC}
+
+!define GIS_CURRENT_USER 2
+!define GIS_ALL_USERS 3
+
+!define IGameExplorer_QueryInterface 0
+!define IGameExplorer_AddRef 1
+!define IGameExplorer_Release 2
+!define IGameExplorer_AddGame 3
+!define IGameExplorer_RemoveGame 4
+!define IGameExplorer_UpdateGame 5
+!define IGameExplorer_VerifyAccess 6
+
+# includes
+
+!include LogicLib.nsh
+
+# the actual code
+
+!macro GameExplorer_GenerateGUID
+
+ System::Call 'ole32::CoCreateGuid(g .s)'
+
+!macroend
+
+!macro GameExplorer_AddGame CONTEXT GDF INSTDIR EXE GUID
+
+ !define __GAME_EXPLORER_UNIQUE "${__LINE__}${__FILE__}"
+
+ Push $0
+ Push $1
+
+ Push $R0
+ Push $R1
+ Push $R2
+ Push $R3
+
+ Push "${EXE}"
+ Push "${GUID}"
+ Push "${INSTDIR}"
+ Push "${GDF}"
+
+ Pop $R0 # == ${GDF}
+ Pop $R1 # == ${INSTDIR}
+ Pop $R2 # == ${GUID}
+ Pop $R3 # == ${EXE}
+
+ ClearErrors
+
+ System::Call "ole32::CoCreateInstance( \
+ g '${CLSID_GameExplorer}', i 0, \
+ i ${CLSCTX_INPROC_SERVER}, \
+ g '${IID_IGameExplorer}', *i .r1) i .r0"
+
+ ${If} $0 != 0 # S_OK
+
+ SetErrors
+ Goto "done_${__GAME_EXPLORER_UNIQUE}"
+
+ ${EndIf}
+
+ !if ${CONTEXT} == all
+
+ System::Call "$1->${IGameExplorer_AddGame}(w R0, w R1, i ${GIS_ALL_USERS}, g R2) i .r0"
+
+ !else if ${CONTEXT} == user
+
+ System::Call "$1->${IGameExplorer_AddGame}(w R1, w R0, i ${GIS_CURRENT_USER}, g R2) i .r0"
+
+ !else
+
+ !error "Invalid CONTEXT passed to GameExplorer_AddGame! Must be `user` or `all`."
+
+ !endif
+
+ ${If} $0 != 0 # S_OK
+
+ SetErrors
+
+ ${Else}
+
+ # Create play task
+
+ !if ${CONTEXT} == all
+
+ SetShellVarContext all
+
+ !else if if ${CONTEXT} == user
+
+ SetShellVarContext user
+
+ !endif
+
+ CreateDirectory $APPDATA\Microsoft\Windows\GameExplorer\$R2\PlayTasks\0
+ CreateShortcut $APPDATA\Microsoft\Windows\GameExplorer\$R2\PlayTasks\0\Play.lnk $R3
+
+ ${EndIf}
+
+ System::Call "$1->${IGameExplorer_Release}()"
+
+ "done_${__GAME_EXPLORER_UNIQUE}:"
+
+ Pop $R3
+ Pop $R2
+ Pop $R1
+ Pop $R0
+
+ Pop $1
+ Pop $0
+
+ !undef __GAME_EXPLORER_UNIQUE
+
+!macroend
+
+!macro _GameExplorer_GUID_Function Function GUID
+
+ !define __GAME_EXPLORER_UNIQUE "${__LINE__}${__FILE__}"
+
+ Push $0
+ Push $1
+ Push $2
+ Push $3
+ Push $4
+ Push $5
+
+ Push $R0
+
+ Push "${GUID}"
+
+ Pop $R0 # == ${GUID}
+
+ System::Alloc 16
+ Exch $R0
+ System::Call "ole32::CLSIDFromString(w s, i R0)"
+ System::Call "*$R0(i .r2, i .r3, i .r4, i .r5)"
+ System::Free $R0
+
+ ClearErrors
+
+ System::Call "ole32::CoCreateInstance( \
+ g '${CLSID_GameExplorer}', i 0, \
+ i ${CLSCTX_INPROC_SERVER}, \
+ g '${IID_IGameExplorer}', *i .r1) i .r0"
+
+ ${If} $0 != 0 # S_OK
+
+ SetErrors
+ Goto "done_${__GAME_EXPLORER_UNIQUE}"
+
+ ${EndIf}
+
+ System::Call "$1->${Function}(i r2, i r3, i r4, i r5) i .r0"
+
+ ${If} $0 != 0 # S_OK
+
+ SetErrors
+
+ ${EndIf}
+
+ System::Call "$1->${IGameExplorer_Release}()"
+
+ "done_${__GAME_EXPLORER_UNIQUE}:"
+
+ Pop $R0
+
+ Pop $5
+ Pop $4
+ Pop $3
+ Pop $2
+ Pop $1
+ Pop $0
+
+ !undef __GAME_EXPLORER_UNIQUE
+
+!macroend
+
+!macro GameExplorer_UpdateGame GUID
+
+ !insertmacro _GameExplorer_GUID_Function ${IGameExplorer_UpdateGame} "${GUID}"
+
+!macroend
+
+!macro GameExplorer_RemoveGame GUID
+
+ !insertmacro _GameExplorer_GUID_Function ${IGameExplorer_RemoveGame} "${GUID}"
+
+!macroend \ No newline at end of file
diff --git a/Installer/settings/files_in.nsh b/Installer/settings/files_in.nsh
new file mode 100644
index 00000000..41464613
--- /dev/null
+++ b/Installer/settings/files_in.nsh
@@ -0,0 +1,269 @@
+; This list contains the files that will be installed
+
+; Create required directories:
+
+ CreateDirectory "$INSTDIR\Covers"
+ CreateDirectory "$INSTDIR\Languages"
+ CreateDirectory "$INSTDIR\Plugins"
+ CreateDirectory "$INSTDIR\Skins"
+ CreateDirectory "$INSTDIR\Skins\Classic"
+ CreateDirectory "$INSTDIR\Skins\Deluxe"
+ CreateDirectory "$INSTDIR\Songs"
+ CreateDirectory "$INSTDIR\Sounds"
+ CreateDirectory "$INSTDIR\Themes"
+
+; Extract files to the directories:
+
+ SetOutPath "$INSTDIR"
+ File "..\InstallerDependencies\dll\bass.dll"
+ File "..\InstallerDependencies\dll\SDL.dll"
+ File "..\InstallerDependencies\dll\sqlite3.dll"
+ File "..\InstallerDependencies\dll\avcodec-51.dll"
+ File "..\InstallerDependencies\dll\avformat-50.dll"
+ File "..\InstallerDependencies\dll\avutil-49.dll"
+
+ File "..\InstallerDependencies\documents\Changelog.german.txt"
+ File "..\InstallerDependencies\documents\Changelog.txt"
+ File "..\InstallerDependencies\documents\documentation.pdf"
+ File "..\InstallerDependencies\documents\License.txt"
+ File "..\InstallerDependencies\documents\ReadMe.txt"
+
+ File "..\ScoreConverter.exe"
+ File "..\${exe}.exe"
+
+${If} ${AtLeastWinVista}
+
+ SetOutPath "$WINDIR"
+ File "..\InstallerDependencies\plugins\gdf.dll"
+
+${EndIf}
+
+ SetOutPath "$INSTDIR\Covers\"
+ File "..\Covers\Covers.ini"
+ File "..\Covers\NoCover.jpg"
+
+ SetOutPath "$INSTDIR\Languages\"
+
+ File "..\Languages\readme.txt"
+
+ File "..\Languages\Catalan.ini"
+ File "..\Languages\Dutch.ini"
+ File "..\Languages\English.ini"
+ File "..\Languages\Euskara.ini"
+ File "..\Languages\French.ini"
+ File "..\Languages\German.ini"
+ File "..\Languages\Italian.ini"
+ File "..\Languages\Norwegian.ini"
+ File "..\Languages\Polish.ini"
+ File "..\Languages\Portuguese.ini"
+ File "..\Languages\Serbian.ini"
+ File "..\Languages\Slovak.ini"
+ File "..\Languages\Spanish.ini"
+ File "..\Languages\Swedish.ini"
+
+ SetOutPath "$INSTDIR\Plugins\"
+ File "..\Plugins\Blind.dll"
+ File "..\Plugins\Duell.dll"
+ File "..\Plugins\Hold_The_Line.dll"
+ File "..\Plugins\TeamDuell.dll"
+ File "..\Plugins\Until5000.dll"
+
+ SetOutPath "$INSTDIR\Skins\Classic\"
+ File "..\Skins\Classic\[button]13.jpg"
+ File "..\Skins\Classic\[button]alt.jpg"
+ File "..\Skins\Classic\[button]az.jpg"
+ File "..\Skins\Classic\[button]e.jpg"
+ File "..\Skins\Classic\[button]enter.jpg"
+ File "..\Skins\Classic\[button]esc.jpg"
+ File "..\Skins\Classic\[button]j.jpg"
+ File "..\Skins\Classic\[button]m.jpg"
+ File "..\Skins\Classic\[button]navi.jpg"
+ File "..\Skins\Classic\[button]p.jpg"
+ File "..\Skins\Classic\[effect]goldenNoteStar.jpg"
+ File "..\Skins\Classic\[effect]perfectNoteStar.jpg"
+ File "..\Skins\Classic\[helper]rectangle.jpg"
+ File "..\Skins\Classic\[icon]error.jpg"
+ File "..\Skins\Classic\[icon]question.jpg"
+ File "..\Skins\Classic\[icon]Star.jpg"
+ File "..\Skins\Classic\[icon]stats.jpg"
+ File "..\Skins\Classic\[icon]video.jpg"
+ File "..\Skins\Classic\[main]Bar.jpg"
+ File "..\Skins\Classic\[main]Bar1.jpg"
+ File "..\Skins\Classic\[main]Button.jpg"
+ File "..\Skins\Classic\[main]Button2.jpg"
+ File "..\Skins\Classic\[main]Button3.jpg"
+ File "..\Skins\Classic\[main]ButtonEditor.jpg"
+ File "..\Skins\Classic\[main]Logo.jpg"
+ File "..\Skins\Classic\[main]songCover.jpg"
+ File "..\Skins\Classic\[main]square.jpg"
+ File "..\Skins\Classic\[mainbutton]Exit.jpg"
+ File "..\Skins\Classic\[mainbutton]Multi.jpg"
+ File "..\Skins\Classic\[mainbutton]Options.jpg"
+ File "..\Skins\Classic\[mainbutton]Solo.jpg"
+ File "..\Skins\Classic\[mainbutton]Stats.jpg"
+ File "..\Skins\Classic\[menu]jumpToBg.jpg"
+ File "..\Skins\Classic\[menu]PopUpBg.JPG"
+ File "..\Skins\Classic\[menu]PopUpFg.JPG"
+ File "..\Skins\Classic\[menu]songMenuBg.jpg"
+ File "..\Skins\Classic\[menu]songMenuBorder.jpg"
+ File "..\Skins\Classic\[menu]songMenuButtonBG.jpg"
+ File "..\Skins\Classic\[menu]songMenuSelectBG.jpg"
+ File "..\Skins\Classic\[party]Joker.jpg"
+ File "..\Skins\Classic\[party]playerButton.jpg"
+ File "..\Skins\Classic\[party]playerTeamButton.jpg"
+ File "..\Skins\Classic\[party]pointer.bmp"
+ File "..\Skins\Classic\[party]roundBG1.jpg"
+ File "..\Skins\Classic\[party]roundBG2.jpg"
+ File "..\Skins\Classic\[party]roundBG3.jpg"
+ File "..\Skins\Classic\[party]roundBG4.jpg"
+ File "..\Skins\Classic\[party]roundTeamButton.jpg"
+ File "..\Skins\Classic\[party]scoreBG1.jpg"
+ File "..\Skins\Classic\[party]scoreBG2.jpg"
+ File "..\Skins\Classic\[party]scoreDecoration.jpg"
+ File "..\Skins\Classic\[party]teamPoints.jpg"
+ File "..\Skins\Classic\[party]winDecoration.jpg"
+ File "..\Skins\Classic\[party]winTeamButton1.jpg"
+ File "..\Skins\Classic\[party]winTeamButton2.jpg"
+ File "..\Skins\Classic\[party]winTeamButton3.jpg"
+ File "..\Skins\Classic\[score]box.jpg"
+ File "..\Skins\Classic\[score]level.jpg"
+ File "..\Skins\Classic\[score]levelround.jpg"
+ File "..\Skins\Classic\[score]line.jpg"
+ File "..\Skins\Classic\[sing]lineBonusPopUp.jpg"
+ File "..\Skins\Classic\[sing]LyricsBall.bmp"
+ File "..\Skins\Classic\[sing]lyricsHelpBar.bmp"
+ File "..\Skins\Classic\[sing]notesBgLeft.bmp"
+ File "..\Skins\Classic\[sing]notesBgMid.bmp"
+ File "..\Skins\Classic\[sing]notesBgRight.bmp"
+ File "..\Skins\Classic\[sing]notesLeft.bmp"
+ File "..\Skins\Classic\[sing]notesMid.bmp"
+ File "..\Skins\Classic\[sing]notesRight.bmp"
+ File "..\Skins\Classic\[sing]p.jpg"
+ File "..\Skins\Classic\[sing]scoreBg.jpg"
+ File "..\Skins\Classic\[sing]singBarBack.jpg"
+ File "..\Skins\Classic\[sing]singBarBar.jpg"
+ File "..\Skins\Classic\[sing]singBarFront.jpg"
+ File "..\Skins\Classic\[sing]textBar.jpg"
+ File "..\Skins\Classic\[song]BGFade.jpg"
+ File "..\Skins\Classic\[song]EqualizerBG.jpg"
+ File "..\Skins\Classic\[song]selection.jpg"
+ File "..\Skins\Classic\[stat]detailBG1.jpg"
+ File "..\Skins\Classic\[stat]mainBG1.jpg"
+ File "..\Skins\Classic\[stat]mainBG2.jpg"
+ File "..\Skins\Classic\[stat]mainBG3.jpg"
+ File "..\Skins\Classic\Star.ini"
+
+ SetOutPath "$INSTDIR\Skins\Deluxe\"
+ File "..\Skins\Deluxe\[bg-load]blue.jpg"
+ File "..\Skins\Deluxe\[bg-load]fall.jpg"
+ File "..\Skins\Deluxe\[bg-load]summer.jpg"
+ File "..\Skins\Deluxe\[bg-load]winter.jpg"
+ File "..\Skins\Deluxe\[bg-main]blue.jpg"
+ File "..\Skins\Deluxe\[bg-main]fall.jpg"
+ File "..\Skins\Deluxe\[bg-main]summer.jpg"
+ File "..\Skins\Deluxe\[bg-main]winter.jpg"
+ File "..\Skins\Deluxe\[button]13.jpg"
+ File "..\Skins\Deluxe\[button]alt.jpg"
+ File "..\Skins\Deluxe\[button]az.jpg"
+ File "..\Skins\Deluxe\[button]enter.jpg"
+ File "..\Skins\Deluxe\[button]esc.jpg"
+ File "..\Skins\Deluxe\[button]j.jpg"
+ File "..\Skins\Deluxe\[button]m.jpg"
+ File "..\Skins\Deluxe\[button]navi.jpg"
+ File "..\Skins\Deluxe\[button]p.jpg"
+ File "..\Skins\Deluxe\[effect]goldenNoteStar.jpg"
+ File "..\Skins\Deluxe\[effect]perfectNoteStar.jpg"
+ File "..\Skins\Deluxe\[helper]buttonFade.jpg"
+ File "..\Skins\Deluxe\[helper]rectangle.jpg"
+ File "..\Skins\Deluxe\[icon]cd.jpg"
+ File "..\Skins\Deluxe\[icon]error.jpg"
+ File "..\Skins\Deluxe\[icon]main.jpg"
+ File "..\Skins\Deluxe\[icon]options.jpg"
+ File "..\Skins\Deluxe\[icon]party.jpg"
+ File "..\Skins\Deluxe\[icon]question.jpg"
+ File "..\Skins\Deluxe\[icon]score.jpg"
+ File "..\Skins\Deluxe\[icon]search.jpg"
+ File "..\Skins\Deluxe\[icon]songmenu.jpg"
+ File "..\Skins\Deluxe\[icon]stats.jpg"
+ File "..\Skins\Deluxe\[icon]video.jpg"
+ File "..\Skins\Deluxe\[main]button.jpg"
+ File "..\Skins\Deluxe\[main]buttonf.jpg"
+ File "..\Skins\Deluxe\[main]mainBar.jpg"
+ File "..\Skins\Deluxe\[main]playerNumberBox.jpg"
+ File "..\Skins\Deluxe\[main]selectbg.jpg"
+ File "..\Skins\Deluxe\[main]songCover.jpg"
+ File "..\Skins\Deluxe\[main]songSelection1.jpg"
+ File "..\Skins\Deluxe\[main]songSelection2.jpg"
+ File "..\Skins\Deluxe\[menu]jumpToBg.jpg"
+ File "..\Skins\Deluxe\[menu]PopUpBg.JPG"
+ File "..\Skins\Deluxe\[menu]PopUpFg.JPG"
+ File "..\Skins\Deluxe\[menu]songMenuBg.jpg"
+ File "..\Skins\Deluxe\[menu]songMenuSelectBg.jpg"
+ File "..\Skins\Deluxe\[party]Joker.jpg"
+ File "..\Skins\Deluxe\[party]playerButton.jpg"
+ File "..\Skins\Deluxe\[party]playerTeamButton.jpg"
+ File "..\Skins\Deluxe\[party]pointer.bmp"
+ File "..\Skins\Deluxe\[party]roundBG1.jpg"
+ File "..\Skins\Deluxe\[party]roundBG2.jpg"
+ File "..\Skins\Deluxe\[party]roundBG3.jpg"
+ File "..\Skins\Deluxe\[party]roundBG4.jpg"
+ File "..\Skins\Deluxe\[party]roundTeamButton.jpg"
+ File "..\Skins\Deluxe\[party]scoreBG1.jpg"
+ File "..\Skins\Deluxe\[party]scoreBG2.jpg"
+ File "..\Skins\Deluxe\[party]scoreDecoration.jpg"
+ File "..\Skins\Deluxe\[party]teamPoints.jpg"
+ File "..\Skins\Deluxe\[party]winDecoration1.jpg"
+ File "..\Skins\Deluxe\[party]winTeamButton1.jpg"
+ File "..\Skins\Deluxe\[party]winTeamButton2.jpg"
+ File "..\Skins\Deluxe\[party]winTeamButton3.jpg"
+ File "..\Skins\Deluxe\[score]box.jpg"
+ File "..\Skins\Deluxe\[score]endcap.jpg"
+ File "..\Skins\Deluxe\[score]level.jpg"
+ File "..\Skins\Deluxe\[score]levelRound.jpg"
+ File "..\Skins\Deluxe\[score]Line.jpg"
+ File "..\Skins\Deluxe\[sing]lineBonusPopUp.jpg"
+ File "..\Skins\Deluxe\[sing]LyricsBall.bmp"
+ File "..\Skins\Deluxe\[sing]lyricsHelpBar.bmp"
+ File "..\Skins\Deluxe\[sing]notesBgLeft.bmp"
+ File "..\Skins\Deluxe\[sing]notesBgMid.bmp"
+ File "..\Skins\Deluxe\[sing]notesBgRight.bmp"
+ File "..\Skins\Deluxe\[sing]notesLeft.bmp"
+ File "..\Skins\Deluxe\[sing]notesMid.bmp"
+ File "..\Skins\Deluxe\[sing]notesRight.bmp"
+ File "..\Skins\Deluxe\[sing]p.jpg"
+ File "..\Skins\Deluxe\[sing]scoreBg.jpg"
+ File "..\Skins\Deluxe\[sing]singBarBack.jpg"
+ File "..\Skins\Deluxe\[sing]singBarBar.jpg"
+ File "..\Skins\Deluxe\[sing]singBarFront.jpg"
+ File "..\Skins\Deluxe\[sing]textBar.jpg"
+ File "..\Skins\Deluxe\[sing]timeBar.jpg"
+ File "..\Skins\Deluxe\[sing]timeBar1.jpg"
+ File "..\Skins\Deluxe\[sing]timeBarBG.jpg"
+ File "..\Skins\Deluxe\[special]bar1.jpg"
+ File "..\Skins\Deluxe\[special]bar2.jpg"
+ File "..\Skins\Deluxe\[stat]detailBG1.jpg"
+ File "..\Skins\Deluxe\[stat]mainBG1.jpg"
+ File "..\Skins\Deluxe\[stat]mainBG2.jpg"
+ File "..\Skins\Deluxe\[stat]mainBG3.jpg"
+ File "..\Skins\Deluxe\Blue.ini"
+ File "..\Skins\Deluxe\Fall.ini"
+ File "..\Skins\Deluxe\Summer.ini"
+ File "..\Skins\Deluxe\Winter.ini"
+
+ SetOutPath "$INSTDIR\Sounds\"
+ File "..\Sounds\Common back.mp3"
+ File "..\Sounds\Common start.mp3"
+ File "..\Sounds\credits-outro-tune.mp3"
+ File "..\Sounds\dismissed.mp3"
+ File "..\Sounds\menu swoosh.mp3"
+ File "..\Sounds\option change col.mp3"
+ File "..\Sounds\rimshot022b.mp3"
+ File "..\Sounds\select music change music 50.mp3"
+ File "..\Sounds\select music change music.mp3"
+ File "..\Sounds\wome-credits-tune.mp3"
+
+ SetOutPath "$INSTDIR\Themes\"
+ File "..\Themes\Classic.ini"
+ File "..\Themes\Deluxe.ini"
+
+ SetOutPath "$INSTDIR" \ No newline at end of file
diff --git a/Installer/settings/files_un.nsh b/Installer/settings/files_un.nsh
new file mode 100644
index 00000000..adaf625b
--- /dev/null
+++ b/Installer/settings/files_un.nsh
@@ -0,0 +1,349 @@
+; This list contains the files that will be uninstalled
+
+; Delete provided Game Exe and provided Tools
+ Delete "$INSTDIR\ScoreConverter.exe"
+ Delete "$INSTDIR\${exe}.exe"
+
+; Delete other provided/created stuff
+ Delete "$INSTDIR\bass.dll"
+ Delete "$INSTDIR\Changelog.german.txt"
+ Delete "$INSTDIR\Changelog.txt"
+ Delete "$INSTDIR\documentation.pdf"
+ Delete "$INSTDIR\License.txt"
+ Delete "$INSTDIR\ReadMe.txt"
+ Delete "$INSTDIR\SDL.dll"
+
+ Delete "$INSTDIR\sqlite3.dll"
+ Delete "$INSTDIR\avcodec-51.dll"
+ Delete "$INSTDIR\avformat-50.dll"
+ Delete "$INSTDIR\avutil-49.dll"
+
+ Delete "$INSTDIR\sqlite3.dll"
+ Delete "$INSTDIR\config.ini"
+ Delete "$INSTDIR\Error.log"
+ Delete "$INSTDIR\covers.cache"
+ Delete "$INSTDIR\Uninstall.exe"
+
+${If} ${AtLeastWinVista}
+
+; Delete gdf.dll
+ Delete "$WINDIR\gdf.dll"
+
+${EndIf}
+
+; Delete provided Covers
+ Delete "$INSTDIR\Covers\Covers.ini"
+ Delete "$INSTDIR\Covers\NoCover.jpg"
+
+; Delete provided languages
+ Delete "$INSTDIR\Languages\Catalan.ini"
+ Delete "$INSTDIR\Languages\Dutch.ini"
+ Delete "$INSTDIR\Languages\English.ini"
+ Delete "$INSTDIR\Languages\Euskara.ini"
+ Delete "$INSTDIR\Languages\French.ini"
+ Delete "$INSTDIR\Languages\German.ini"
+ Delete "$INSTDIR\Languages\Italian.ini"
+ Delete "$INSTDIR\Languages\Norwegian.ini"
+ Delete "$INSTDIR\Languages\Polish.ini"
+ Delete "$INSTDIR\Languages\Portuguese.ini"
+ Delete "$INSTDIR\Languages\readme.txt"
+ Delete "$INSTDIR\Languages\Serbian.ini"
+ Delete "$INSTDIR\Languages\Slovak.ini"
+ Delete "$INSTDIR\Languages\Spanish.ini"
+ Delete "$INSTDIR\Languages\Swedish.ini"
+
+; Delete provided plugins
+ Delete "$INSTDIR\Plugins\Blind.dll"
+ Delete "$INSTDIR\Plugins\Duell.dll"
+ Delete "$INSTDIR\Plugins\Hold_The_Line.dll"
+ Delete "$INSTDIR\Plugins\TeamDuell.dll"
+ Delete "$INSTDIR\Plugins\Until5000.dll"
+
+; Delete provided Classic Skin
+ Delete "$INSTDIR\Skins\Classic\Star.ini"
+ Delete "$INSTDIR\Skins\Classic\[button]13.jpg"
+ Delete "$INSTDIR\Skins\Classic\[button]alt.jpg"
+ Delete "$INSTDIR\Skins\Classic\[button]az.jpg"
+ Delete "$INSTDIR\Skins\Classic\[button]e.jpg"
+ Delete "$INSTDIR\Skins\Classic\[button]enter.jpg"
+ Delete "$INSTDIR\Skins\Classic\[button]esc.jpg"
+ Delete "$INSTDIR\Skins\Classic\[button]j.jpg"
+ Delete "$INSTDIR\Skins\Classic\[button]m.jpg"
+ Delete "$INSTDIR\Skins\Classic\[button]navi.jpg"
+ Delete "$INSTDIR\Skins\Classic\[button]p.jpg"
+ Delete "$INSTDIR\Skins\Classic\[effect]goldenNoteStar.jpg"
+ Delete "$INSTDIR\Skins\Classic\[effect]perfectNoteStar.jpg"
+ Delete "$INSTDIR\Skins\Classic\[helper]rectangle.jpg"
+ Delete "$INSTDIR\Skins\Classic\[icon]error.jpg"
+ Delete "$INSTDIR\Skins\Classic\[icon]question.jpg"
+ Delete "$INSTDIR\Skins\Classic\[icon]Star.jpg"
+ Delete "$INSTDIR\Skins\Classic\[icon]stats.jpg"
+ Delete "$INSTDIR\Skins\Classic\[icon]video.jpg"
+ Delete "$INSTDIR\Skins\Classic\[mainbutton]Exit.jpg"
+ Delete "$INSTDIR\Skins\Classic\[mainbutton]Multi.jpg"
+ Delete "$INSTDIR\Skins\Classic\[mainbutton]Options.jpg"
+ Delete "$INSTDIR\Skins\Classic\[mainbutton]Solo.jpg"
+ Delete "$INSTDIR\Skins\Classic\[mainbutton]Stats.jpg"
+ Delete "$INSTDIR\Skins\Classic\[main]Bar.jpg"
+ Delete "$INSTDIR\Skins\Classic\[main]Bar1.jpg"
+ Delete "$INSTDIR\Skins\Classic\[main]Button.jpg"
+ Delete "$INSTDIR\Skins\Classic\[main]Button2.jpg"
+ Delete "$INSTDIR\Skins\Classic\[main]Button3.jpg"
+ Delete "$INSTDIR\Skins\Classic\[main]ButtonEditor.jpg"
+ Delete "$INSTDIR\Skins\Classic\[main]Logo.jpg"
+ Delete "$INSTDIR\Skins\Classic\[main]songCover.jpg"
+ Delete "$INSTDIR\Skins\Classic\[main]square.jpg"
+ Delete "$INSTDIR\Skins\Classic\[menu]jumpToBg.jpg"
+ Delete "$INSTDIR\Skins\Classic\[menu]PopUpBg.JPG"
+ Delete "$INSTDIR\Skins\Classic\[menu]PopUpFg.JPG"
+ Delete "$INSTDIR\Skins\Classic\[menu]songMenuBg.jpg"
+ Delete "$INSTDIR\Skins\Classic\[menu]songMenuBorder.jpg"
+ Delete "$INSTDIR\Skins\Classic\[menu]songMenuButtonBG.jpg"
+ Delete "$INSTDIR\Skins\Classic\[menu]songMenuSelectBG.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]Joker.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]playerButton.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]playerTeamButton.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]pointer.bmp"
+ Delete "$INSTDIR\Skins\Classic\[party]roundBG1.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]roundBG2.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]roundBG3.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]roundBG4.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]roundTeamButton.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]scoreBG1.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]scoreBG2.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]scoreDecoration.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]teamPoints.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]winDecoration.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]winTeamButton1.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]winTeamButton2.jpg"
+ Delete "$INSTDIR\Skins\Classic\[party]winTeamButton3.jpg"
+ Delete "$INSTDIR\Skins\Classic\[score]box.jpg"
+ Delete "$INSTDIR\Skins\Classic\[score]level.jpg"
+ Delete "$INSTDIR\Skins\Classic\[score]levelround.jpg"
+ Delete "$INSTDIR\Skins\Classic\[score]line.jpg"
+ Delete "$INSTDIR\Skins\Classic\[sing]lineBonusPopUp.jpg"
+ Delete "$INSTDIR\Skins\Classic\[sing]LyricsBall.bmp"
+ Delete "$INSTDIR\Skins\Classic\[sing]lyricsHelpBar.bmp"
+ Delete "$INSTDIR\Skins\Classic\[sing]notesBgLeft.bmp"
+ Delete "$INSTDIR\Skins\Classic\[sing]notesBgMid.bmp"
+ Delete "$INSTDIR\Skins\Classic\[sing]notesBgRight.bmp"
+ Delete "$INSTDIR\Skins\Classic\[sing]notesLeft.bmp"
+ Delete "$INSTDIR\Skins\Classic\[sing]notesMid.bmp"
+ Delete "$INSTDIR\Skins\Classic\[sing]notesRight.bmp"
+ Delete "$INSTDIR\Skins\Classic\[sing]p.jpg"
+ Delete "$INSTDIR\Skins\Classic\[sing]scoreBg.jpg"
+ Delete "$INSTDIR\Skins\Classic\[sing]singBarBack.jpg"
+ Delete "$INSTDIR\Skins\Classic\[sing]singBarBar.jpg"
+ Delete "$INSTDIR\Skins\Classic\[sing]singBarFront.jpg"
+ Delete "$INSTDIR\Skins\Classic\[sing]textBar.jpg"
+ Delete "$INSTDIR\Skins\Classic\[song]BGFade.jpg"
+ Delete "$INSTDIR\Skins\Classic\[song]EqualizerBG.jpg"
+ Delete "$INSTDIR\Skins\Classic\[song]selection.jpg"
+ Delete "$INSTDIR\Skins\Classic\[stat]detailBG1.jpg"
+ Delete "$INSTDIR\Skins\Classic\[stat]mainBG1.jpg"
+ Delete "$INSTDIR\Skins\Classic\[stat]mainBG2.jpg"
+ Delete "$INSTDIR\Skins\Classic\[stat]mainBG3.jpg"
+
+; Delete provided Deluxe Skin
+ Delete "$INSTDIR\Skins\Deluxe\Blue.ini"
+ Delete "$INSTDIR\Skins\Deluxe\Fall.ini"
+ Delete "$INSTDIR\Skins\Deluxe\Summer.ini"
+ Delete "$INSTDIR\Skins\Deluxe\Winter.ini"
+ Delete "$INSTDIR\Skins\Deluxe\[bg-load]blue.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[bg-load]fall.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[bg-load]summer.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[bg-load]winter.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[bg-main]blue.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[bg-main]fall.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[bg-main]summer.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[bg-main]winter.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[button]13.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[button]alt.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[button]az.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[button]enter.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[button]esc.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[button]j.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[button]m.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[button]navi.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[button]p.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[effect]goldenNoteStar.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[effect]perfectNoteStar.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[helper]buttonFade.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[helper]rectangle.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[icon]cd.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[icon]error.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[icon]main.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[icon]options.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[icon]party.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[icon]question.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[icon]score.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[icon]search.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[icon]songmenu.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[icon]stats.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[icon]video.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[main]button.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[main]buttonf.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[main]mainBar.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[main]playerNumberBox.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[main]selectbg.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[main]songCover.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[main]songSelection1.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[main]songSelection2.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[menu]jumpToBg.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[menu]PopUpBg.JPG"
+ Delete "$INSTDIR\Skins\Deluxe\[menu]PopUpFg.JPG"
+ Delete "$INSTDIR\Skins\Deluxe\[menu]songMenuBg.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[menu]songMenuSelectBg.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]Joker.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]playerButton.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]playerTeamButton.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]pointer.bmp"
+ Delete "$INSTDIR\Skins\Deluxe\[party]roundBG1.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]roundBG2.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]roundBG3.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]roundBG4.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]roundTeamButton.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]scoreBG1.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]scoreBG2.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]scoreDecoration.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]teamPoints.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]winDecoration1.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]winTeamButton1.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]winTeamButton2.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[party]winTeamButton3.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[score]box.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[score]endcap.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[score]level.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[score]levelRound.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[score]Line.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]lineBonusPopUp.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]LyricsBall.bmp"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]lyricsHelpBar.bmp"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]notesBgLeft.bmp"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]notesBgMid.bmp"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]notesBgRight.bmp"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]notesLeft.bmp"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]notesMid.bmp"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]notesRight.bmp"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]p.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]scoreBg.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]singBarBack.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]singBarBar.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]singBarFront.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]textBar.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]timeBar.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]timeBar1.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[sing]timeBarBG.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[special]bar1.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[special]bar2.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[stat]detailBG1.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[stat]mainBG1.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[stat]mainBG2.jpg"
+ Delete "$INSTDIR\Skins\Deluxe\[stat]mainBG3.jpg"
+
+; Delete provided sounds
+ Delete "$INSTDIR\Sounds\Common back.mp3"
+ Delete "$INSTDIR\Sounds\Common start.mp3"
+ Delete "$INSTDIR\Sounds\credits-outro-tune.mp3"
+ Delete "$INSTDIR\Sounds\dismissed.mp3"
+ Delete "$INSTDIR\Sounds\menu swoosh.mp3"
+ Delete "$INSTDIR\Sounds\option change col.mp3"
+ Delete "$INSTDIR\Sounds\rimshot022b.mp3"
+ Delete "$INSTDIR\Sounds\select music change music 50.mp3"
+ Delete "$INSTDIR\Sounds\select music change music.mp3"
+ Delete "$INSTDIR\Sounds\wome-credits-tune.mp3"
+
+; Delete provided Themes
+ Delete "$INSTDIR\Themes\Classic.ini"
+ Delete "$INSTDIR\Themes\Deluxe.ini"
+
+; Delete provided Songs
+ Delete "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\Dead Smiling Pirates - I 18 [BG].jpg"
+ Delete "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\Dead Smiling Pirates - I 18 [CO].jpg"
+ Delete "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\Dead Smiling Pirates - I 18.ogg"
+ Delete "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\Dead Smiling Pirates - I 18.txt"
+ Delete "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\License.txt"
+
+ Delete "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\Steven Dunston - Northern Star [BG].jpg"
+ Delete "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\Steven Dunston - Northern Star [CO].jpg"
+ Delete "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\Steven Dunston - Northern Star.ogg"
+ Delete "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\Steven Dunston - Northern Star.txt"
+ Delete "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\License.txt"
+
+ Delete "$INSTDIR\Songs\Joshua Morin - On the run [DEMO]\License.txt"
+ Delete "$INSTDIR\Songs\Joshua Morin - On the run [DEMO]\Joshua Morin - On the run.txt"
+ Delete "$INSTDIR\Songs\Joshua Morin - On the run [DEMO]\Joshua Morin - On the run [BG].jpg"
+ Delete "$INSTDIR\Songs\Joshua Morin - On the run [DEMO]\Joshua Morin - On the run [CO].jpg"
+ Delete "$INSTDIR\Songs\Joshua Morin - On the run [DEMO]\Joshua Morin - On the run.ogg"
+
+; Delete only empty directories:
+
+StrCpy $0 "$INSTDIR\Covers"
+Call un.DeleteIfEmpty
+
+StrCpy $0 "$INSTDIR\Languages"
+Call un.DeleteIfEmpty
+
+StrCpy $0 "$INSTDIR\Plugins"
+Call un.DeleteIfEmpty
+
+StrCpy $0 "$INSTDIR\Skins\Classic"
+Call un.DeleteIfEmpty
+
+StrCpy $0 "$INSTDIR\Skins\Deluxe"
+Call un.DeleteIfEmpty
+
+StrCpy $0 "$INSTDIR\Skins"
+Call un.DeleteIfEmpty
+
+StrCpy $0 "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]"
+Call un.DeleteIfEmpty
+
+StrCpy $0 "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]"
+Call un.DeleteIfEmpty
+
+StrCpy $0 "$INSTDIR\Songs\Joshua Morin - On the run [DEMO]"
+Call un.DeleteIfEmpty
+
+StrCpy $0 "$INSTDIR\Songs"
+Call un.DeleteIfEmpty
+
+StrCpy $0 "$INSTDIR\Sounds"
+Call un.DeleteIfEmpty
+
+StrCpy $0 "$INSTDIR\Themes"
+Call un.DeleteIfEmpty
+
+StrCpy $0 "$INSTDIR\Screenshots"
+Call un.DeleteIfEmpty
+
+StrCpy $0 "$INSTDIR\Playlists"
+Call un.DeleteIfEmpty
+
+StrCpy $0 "$INSTDIR"
+Call un.DeleteIfEmpty
+
+
+; Delete created Icons in startmenu
+
+ SetShellVarContext all
+
+ Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk"
+ Delete "$SMPROGRAMS\$ICONS_GROUP\Deinstallieren.lnk"
+ Delete "$SMPROGRAMS\$ICONS_GROUP\Website.lnk"
+ Delete "$SMPROGRAMS\$ICONS_GROUP\Internetseite.lnk"
+ Delete "$SMPROGRAMS\$ICONS_GROUP\UltraStar Deluxe spielen.lnk"
+ Delete "$SMPROGRAMS\$ICONS_GROUP\Play UltraStar Deluxe.lnk"
+ Delete "$SMPROGRAMS\$ICONS_GROUP\Readme.lnk"
+ Delete "$SMPROGRAMS\$ICONS_GROUP\Lies mich.lnk"
+ Delete "$SMPROGRAMS\$ICONS_GROUP\Lizenz.lnk"
+ Delete "$SMPROGRAMS\$ICONS_GROUP\License.lnk"
+
+; Delete created Icon on Desktop
+
+Delete "$Desktop\Play UltraStar Deluxe.lnk"
+Delete "$Desktop\UltraStar Deluxe spielen.lnk"
+
+StrCpy $0 "$SMPROGRAMS\$ICONS_GROUP"
+Call un.DeleteIfEmpty
+
diff --git a/Installer/settings/functions.nsh b/Installer/settings/functions.nsh
new file mode 100644
index 00000000..147ec76c
--- /dev/null
+++ b/Installer/settings/functions.nsh
@@ -0,0 +1,78 @@
+!define exe2 "USdx" ; Current name of start exe
+; Creates Desktop Shortcut(s) if
+; checked on Finish Page
+
+Function CreateDesktopShortCuts
+
+SetOutPath "$INSTDIR"
+
+CreateShortcut "$Desktop\$(sm_shortcut).lnk" "$INSTDIR\${exe2}.exe"
+
+FunctionEnd
+
+; Deletes only empty dirs which are
+; at the top of the stack.
+
+Function un.DeleteIfEmpty
+ FindFirst $R0 $R1 "$0\*.*"
+ strcmp $R1 "." 0 NoDelete
+ FindNext $R0 $R1
+ strcmp $R1 ".." 0 NoDelete
+ ClearErrors
+ FindNext $R0 $R1
+ IfErrors 0 NoDelete
+ FindClose $R0
+ Sleep 1000
+ RMDir "$0"
+ NoDelete:
+ FindClose $R0
+FunctionEnd
+
+; This is used to write a
+; string to config.ini
+
+Function WriteToConfig
+ Exch $0
+ Exch
+ Exch $1
+
+ FileOpen $0 $0 a
+ FileSeek $0 0 END
+ FileWrite $0 $1
+ FileClose $0
+
+ Pop $1
+ Pop $0
+FunctionEnd
+
+!macro WriteToConfig String File
+ Push "${String}"
+ Push "${File}"
+ Call WriteToConfig
+!macroend
+!define WriteToConfig "!insertmacro WriteToConfig"
+
+; Finds UltraStar Deluxe process
+;
+
+!define nsProcess::FindProcess `!insertmacro nsProcess::FindProcess`
+
+!macro nsProcess::FindProcess _FILE _ERR
+ nsProcess::_FindProcess /NOUNLOAD `${_FILE}`
+ Pop ${_ERR}
+!macroend
+
+
+!define nsProcess::KillProcess `!insertmacro nsProcess::KillProcess`
+
+!macro nsProcess::KillProcess _FILE _ERR
+ nsProcess::_KillProcess /NOUNLOAD `${_FILE}`
+ Pop ${_ERR}
+!macroend
+
+
+!define nsProcess::Unload `!insertmacro nsProcess::Unload`
+
+!macro nsProcess::Unload
+ nsProcess::_Unload
+!macroend \ No newline at end of file
diff --git a/Installer/settings/io.ini b/Installer/settings/io.ini
new file mode 100644
index 00000000..55dc5a69
--- /dev/null
+++ b/Installer/settings/io.ini
@@ -0,0 +1,19 @@
+[Settings]
+Rect=1044
+NumFields=3
+[Field 1]
+Type=bitmap
+Left=0
+Right=109
+Top=0
+Bottom=193
+Flags=RESIZETOFIT
+[Field 2]
+Type=label
+Left=120
+Right=315
+Top=10
+[Field 3]
+Type=label
+Left=120
+Right=315 \ No newline at end of file
diff --git a/Installer/settings/langstrings.nsh b/Installer/settings/langstrings.nsh
new file mode 100644
index 00000000..baed5f94
--- /dev/null
+++ b/Installer/settings/langstrings.nsh
@@ -0,0 +1,69 @@
+; Language Strings which are used in the main program
+
+LangString str_continue ${LANG_GERMAN} "Dies wird UltraStar Deluxe installieren. Fortsetzen?"
+LangString str_continue ${LANG_ENGLISH} "This will install UltraStar Deluxe. Continue?"
+
+LangString str_abort ${LANG_ENGLISH} "Are you sure to abort Installation?"
+LangString str_abort ${LANG_GERMAN} "Wollen Sie die Installation wirklich abbrechen?"
+
+LangString uninst_begin ${LANG_ENGLISH} "This will uninstall UltraStar Deluxe completely (with Songs!). Continue ?"
+LangString uninst_begin ${LANG_GERMAN} "Dies wird UltraStar Deluxe vollständig deinstallieren (inkl. Songs!). Fortfahren?"
+
+LangString MUI_UNTEXT_FINISH_INFO_TEXT ${LANG_ENGLISH} "We hope you enjoyed UltraStar Deluxe. Please leave us a comment why you uninstalled UltraStar Deluxe in our forum: ${forum}. We would also be pleased to recieve your feedback on UltraStar Deluxe there."
+LangString MUI_UNTEXT_FINISH_INFO_TEXT ${LANG_GERMAN} "Wir hoffen du hast UltraStar Deluxe genossen. Bitte hinterlasse uns einen Kommentar im Forum, warum du UltraStar Deluxe deinstalliert hast: ${forum}. Wir würden uns dort ebenso über eine Rückmeldung für UltraStar Deluxe freuen."
+
+LangString MUI_UNTEXT_FINISH_INFO_TITLE ${LANG_ENGLISH} "The uninstallation finished successfully!"
+LangString MUI_UNTEXT_FINISH_INFO_TITLE ${LANG_GERMAN} "Die Deinstallation wurde erfolgreich abgeschlossen."
+
+LangString MUI_UNTEXT_FINISH_INFO_REBOOT ${LANG_ENGLISH} "Not supported for good reason."
+LangString MUI_UNTEXT_FINISH_INFO_REBOOT ${LANG_GERMAN} "Aus gutem Grund nicht unterstüzt."
+
+LangString str_header ${LANG_ENGLISH} "Custom options for Installation"
+LangString str_header ${LANG_GERMAN} "Eigene Optionen zur Installation"
+
+LangString str_header_subtitle ${LANG_ENGLISH} ""
+LangString str_header_subtitle ${LANG_GERMAN} ""
+
+LangString sm_shortcut ${LANG_GERMAN} "UltraStar Deluxe spielen" ; Name for start Icon in startmenu
+LangString sm_shortcut ${LANG_ENGLISH} "Play UltraStar Deluxe"
+
+LangString sc_desktop ${LANG_GERMAN} "Verknüpfung auf dem Desktop erstellen?" ; Finish Page: Readme = Create Desktop Shortcut
+LangString sc_desktop ${LANG_ENGLISH} "Create Desktop Shortcut?"
+
+LangString sc_play ${LANG_GERMAN} "Spielen" ; Shortcut name play or spielen (used for MCE)
+LangString sc_play ${LANG_ENGLISH} "Play"
+
+LangString sm_uninstall ${LANG_GERMAN} "Deinstallieren" ; Name for uninstall icon in startmenu
+LangString sm_uninstall ${LANG_ENGLISH} "Uninstall"
+
+LangString sm_website ${LANG_GERMAN} "Internetseite" ; Name for website icon in startmenu
+LangString sm_website ${LANG_ENGLISH} "Website"
+
+LangString sm_license ${LANG_GERMAN} "Lizenz" ; Name for license.txt icon in startmenu
+LangString sm_license ${LANG_ENGLISH} "License"
+
+LangString sm_readme ${LANG_GERMAN} "Lies mich" ; Name for readme.txt icon in startmenu
+LangString sm_readme ${LANG_ENGLISH} "Readme"
+
+LangString Settings_TITLE ${LANG_ENGLISH} " "
+LangString Settings_TITLE ${LANG_GERMAN} " "
+LangString Settings_SUBTITLE ${LANG_ENGLISH} "Specify your favorite settings for UltraStar Deluxe"
+LangString Settings_SUBTITLE ${LANG_GERMAN} "Lege deine favorisierten Einstellungen für UltraStar Deluxe fest."
+
+LangString wp_title ${LANG_GERMAN} "Willkommen zur Installationsroutine von UltraStar Deluxe" ; Title String in Welcome Page
+LangString wp_title ${LANG_ENGLISH} "Welcome to the UltraStar Deluxe Setup Wizard"
+
+LangString wp_text ${LANG_GERMAN} "Dieser Assistent wird Sie durch die Installation von UltraStar Deluxe begleiten. UltraStar Deluxe ist ein kostenloses quelloffenes Karaokespiel, welches Singstar ähnelt. \n\r\n\rDas UltraStar Deluxe Team wünscht viel Spaß.\n\rProjekthomepage: http://www.ultrastardeluxe.org\n\rSupport Forum: http://forum.ultrastardeluxe.org"
+LangString wp_text ${LANG_ENGLISH} "This wizard will guide you through the Installation of UltraStar Deluxe. UltraStar Deluxe is a free open source Karaoke game, which can be compared with Singstar.\n\r\n\rThe UltraStar Deluxe Team wishes you fun.\n\rProject website: http://www.ultrastardeluxe.org\n\rSupport Forum: http://forum.ultrastardeluxe.org"
+
+LangString fp_showreadme ${LANG_GERMAN} "Dokumentation ansehen (PDF)" ; "Show Readme" String in Finish Page
+LangString fp_showreadme ${LANG_ENGLISH} "See documentation (PDF)"
+
+LangString fp_text ${LANG_GERMAN} "UltraStar Deluxe wurde erfolgreich auf Ihrem System installiert.\n\r\n\rBesuchen Sie unsere Projektwebseite um die neusten Updates und News zu erhalten."
+LangString fp_text ${LANG_ENGLISH} "UltraStar Deluxe was installed successfully on you system.\n\r\n\rVisit out project website to get latest news and updates."
+
+LangString fp_link ${LANG_GERMAN} "Projektwebseite" ; Link to developers website - String in Finish Page
+LangString fp_link ${LANG_ENGLISH} "Project website"
+
+LangString uncp_text ${LANG_GERMAN} "Willkommen beim Deinstallations-Assistent für UltraStar Deluxe"
+LangString uncp_text ${LANG_ENGLISH} "Welcome to the UltraStar Deluxe Uninstall Wizard" \ No newline at end of file
diff --git a/Installer/settings/optional/in_orange.nsh b/Installer/settings/optional/in_orange.nsh
new file mode 100644
index 00000000..53eb09a8
--- /dev/null
+++ b/Installer/settings/optional/in_orange.nsh
@@ -0,0 +1,102 @@
+ CreateDirectory "$INSTDIR\Skins\Orange"
+
+ SetOutPath "$INSTDIR\Skins\Orange"
+
+ File "..\Skins\Orange\[bg-load].jpg"
+ File "..\Skins\Orange\[button]13.jpg"
+ File "..\Skins\Orange\[button]alt.jpg"
+ File "..\Skins\Orange\[button]az.jpg"
+ File "..\Skins\Orange\[button]enter.jpg"
+ File "..\Skins\Orange\[button]esc.jpg"
+ File "..\Skins\Orange\[button]j.jpg"
+ File "..\Skins\Orange\[button]m.jpg"
+ File "..\Skins\Orange\[button]navi.jpg"
+ File "..\Skins\Orange\[button]p.jpg"
+ File "..\Skins\Orange\[effect]goldenNoteStar.jpg"
+ File "..\Skins\Orange\[effect]perfectNoteStar.jpg"
+ File "..\Skins\Orange\[helper]buttonFade.jpg"
+ File "..\Skins\Orange\[helper]rectangle.jpg"
+ File "..\Skins\Orange\[icon]cd.jpg"
+ File "..\Skins\Orange\[icon]error.jpg"
+ File "..\Skins\Orange\[icon]main.jpg"
+ File "..\Skins\Orange\[icon]options.jpg"
+ File "..\Skins\Orange\[icon]party.jpg"
+ File "..\Skins\Orange\[icon]question.jpg"
+ File "..\Skins\Orange\[icon]score.jpg"
+ File "..\Skins\Orange\[icon]search.jpg"
+ File "..\Skins\Orange\[icon]songmenu.jpg"
+ File "..\Skins\Orange\[icon]stats.jpg"
+ File "..\Skins\Orange\[icon]video.jpg"
+ File "..\Skins\Orange\[main]button.jpg"
+ File "..\Skins\Orange\[main]button2.jpg"
+ File "..\Skins\Orange\[main]button3.jpg"
+ File "..\Skins\Orange\[main]buttonf.jpg"
+ File "..\Skins\Orange\[main]button-m-1.jpg"
+ File "..\Skins\Orange\[main]button-m-2.jpg"
+ File "..\Skins\Orange\[main]button-m-3.jpg"
+ File "..\Skins\Orange\[main]button-m-4.jpg"
+ File "..\Skins\Orange\[main]mainBar.jpg"
+ File "..\Skins\Orange\[main]playerNumberBox.jpg"
+ File "..\Skins\Orange\[main]selectbg.jpg"
+ File "..\Skins\Orange\[main]songCover.jpg"
+ File "..\Skins\Orange\[main]songSelection1.jpg"
+ File "..\Skins\Orange\[main]songSelection2.jpg"
+ File "..\Skins\Orange\[menu]jumpToBg.jpg"
+ File "..\Skins\Orange\[menu]PopUpBg.JPG"
+ File "..\Skins\Orange\[menu]PopUpFg.JPG"
+ File "..\Skins\Orange\[menu]songMenuBg.jpg"
+ File "..\Skins\Orange\[menu]songMenuSelectBg.jpg"
+ File "..\Skins\Orange\[party]Joker.jpg"
+ File "..\Skins\Orange\[party]playerButton.jpg"
+ File "..\Skins\Orange\[party]playerTeamButton.jpg"
+ File "..\Skins\Orange\[party]pointer.bmp"
+ File "..\Skins\Orange\[party]roundBG1.jpg"
+ File "..\Skins\Orange\[party]roundBG2.jpg"
+ File "..\Skins\Orange\[party]roundBG3.jpg"
+ File "..\Skins\Orange\[party]roundBG4.jpg"
+ File "..\Skins\Orange\[party]roundTeamButton.jpg"
+ File "..\Skins\Orange\[party]scoreBG1.jpg"
+ File "..\Skins\Orange\[party]scoreBG2.jpg"
+ File "..\Skins\Orange\[party]scoreDecoration.jpg"
+ File "..\Skins\Orange\[party]teamPoints.jpg"
+ File "..\Skins\Orange\[party]winDecoration1.jpg"
+ File "..\Skins\Orange\[party]winTeamButton1.jpg"
+ File "..\Skins\Orange\[party]winTeamButton2.jpg"
+ File "..\Skins\Orange\[party]winTeamButton3.jpg"
+ File "..\Skins\Orange\[score]box.jpg"
+ File "..\Skins\Orange\[score]endcap.jpg"
+ File "..\Skins\Orange\[score]level.jpg"
+ File "..\Skins\Orange\[score]levelRound.jpg"
+ File "..\Skins\Orange\[score]Line.jpg"
+ File "..\Skins\Orange\[sing]lineBonusPopUp.jpg"
+ File "..\Skins\Orange\[sing]LyricsBall.bmp"
+ File "..\Skins\Orange\[sing]lyricsHelpBar.bmp"
+ File "..\Skins\Orange\[sing]notesBgLeft.bmp"
+ File "..\Skins\Orange\[sing]notesBgMid.bmp"
+ File "..\Skins\Orange\[sing]notesBgRight.bmp"
+ File "..\Skins\Orange\[sing]notesLeft.bmp"
+ File "..\Skins\Orange\[sing]notesMid.bmp"
+ File "..\Skins\Orange\[sing]notesRight.bmp"
+ File "..\Skins\Orange\[sing]p.jpg"
+ File "..\Skins\Orange\[sing]scoreBg.jpg"
+ File "..\Skins\Orange\[sing]singBarBack.jpg"
+ File "..\Skins\Orange\[sing]singBarBar.jpg"
+ File "..\Skins\Orange\[sing]singBarFront.jpg"
+ File "..\Skins\Orange\[sing]textBar.jpg"
+ File "..\Skins\Orange\[sing]timeBar.jpg"
+ File "..\Skins\Orange\[sing]timeBarBG.jpg"
+ File "..\Skins\Orange\[special]bar1.jpg"
+ File "..\Skins\Orange\[special]bar2.jpg"
+ File "..\Skins\Orange\[stat]detailBG1.jpg"
+ File "..\Skins\Orange\[stat]mainBG1.jpg"
+ File "..\Skins\Orange\[stat]mainBG2.jpg"
+ File "..\Skins\Orange\[stat]mainBG3.jpg"
+ File "..\Skins\Orange\bg-main.jpg"
+ File "..\Skins\Orange\bg-song.jpg"
+ File "..\Skins\Orange\Orange.ini"
+
+ SetOutPath "$INSTDIR\Themes"
+
+ File "..\Themes\Orange.ini"
+
+ SetOutPath "$INSTDIR"
diff --git a/Installer/settings/optional/in_song1.nsh b/Installer/settings/optional/in_song1.nsh
new file mode 100644
index 00000000..50c1e20a
--- /dev/null
+++ b/Installer/settings/optional/in_song1.nsh
@@ -0,0 +1,10 @@
+
+ SetOutPath "$INSTDIR\Songs\Dead Smiling Pirates - I 18 [DEMO]\"
+
+ File "..\Songs\Dead Smiling Pirates - I 18 [DEMO]\Dead Smiling Pirates - I 18 [BG].jpg"
+ File "..\Songs\Dead Smiling Pirates - I 18 [DEMO]\Dead Smiling Pirates - I 18 [CO].jpg"
+ File "..\Songs\Dead Smiling Pirates - I 18 [DEMO]\Dead Smiling Pirates - I 18.ogg"
+ File "..\Songs\Dead Smiling Pirates - I 18 [DEMO]\Dead Smiling Pirates - I 18.txt"
+ File "..\Songs\Dead Smiling Pirates - I 18 [DEMO]\License.txt"
+
+ SetOutPath "$INSTDIR" \ No newline at end of file
diff --git a/Installer/settings/optional/in_song2.nsh b/Installer/settings/optional/in_song2.nsh
new file mode 100644
index 00000000..29478c56
--- /dev/null
+++ b/Installer/settings/optional/in_song2.nsh
@@ -0,0 +1,11 @@
+
+ SetOutPath "$INSTDIR\Songs\Steven Dunston - Northern Star [DEMO]\"
+
+ File "..\Songs\Steven Dunston - Northern Star [DEMO]\License.txt"
+ File "..\Songs\Steven Dunston - Northern Star [DEMO]\Steven Dunston - Northern Star.txt"
+ File "..\Songs\Steven Dunston - Northern Star [DEMO]\Steven Dunston - Northern Star [BG].jpg"
+ File "..\Songs\Steven Dunston - Northern Star [DEMO]\Steven Dunston - Northern Star [CO].jpg"
+ File "..\Songs\Steven Dunston - Northern Star [DEMO]\Steven Dunston - Northern Star.ogg"
+
+
+ SetOutPath "$INSTDIR" \ No newline at end of file
diff --git a/Installer/settings/optional/in_song3.nsh b/Installer/settings/optional/in_song3.nsh
new file mode 100644
index 00000000..844accdd
--- /dev/null
+++ b/Installer/settings/optional/in_song3.nsh
@@ -0,0 +1,11 @@
+
+ SetOutPath "$INSTDIR\Songs\Joshua Morin - On the run [DEMO]\"
+
+ File "..\Songs\Joshua Morin - On the run [DEMO]\License.txt"
+ File "..\Songs\Joshua Morin - On the run [DEMO]\Joshua Morin - On the run.txt"
+ File "..\Songs\Joshua Morin - On the run [DEMO]\Joshua Morin - On the run [BG].jpg"
+ File "..\Songs\Joshua Morin - On the run [DEMO]\Joshua Morin - On the run [CO].jpg"
+ File "..\Songs\Joshua Morin - On the run [DEMO]\Joshua Morin - On the run.ogg"
+
+
+ SetOutPath "$INSTDIR" \ No newline at end of file
diff --git a/Installer/settings/optional/in_streetlight.nsh b/Installer/settings/optional/in_streetlight.nsh
new file mode 100644
index 00000000..1d8d147f
--- /dev/null
+++ b/Installer/settings/optional/in_streetlight.nsh
@@ -0,0 +1,100 @@
+
+ CreateDirectory "$INSTDIR\Skins\Streetlight"
+
+ SetOutPath "$INSTDIR\Skins\Streetlight"
+
+ File "..\Skins\Streetlight\[bg-load].jpg"
+ File "..\Skins\Streetlight\[button]13.jpg"
+ File "..\Skins\Streetlight\[button]alt.jpg"
+ File "..\Skins\Streetlight\[button]az.jpg"
+ File "..\Skins\Streetlight\[button]enter.jpg"
+ File "..\Skins\Streetlight\[button]esc.jpg"
+ File "..\Skins\Streetlight\[button]j.jpg"
+ File "..\Skins\Streetlight\[button]m.jpg"
+ File "..\Skins\Streetlight\[button]navi.jpg"
+ File "..\Skins\Streetlight\[button]p.jpg"
+ File "..\Skins\Streetlight\[effect]goldenNoteStar.jpg"
+ File "..\Skins\Streetlight\[effect]perfectNoteStar.jpg"
+ File "..\Skins\Streetlight\[helper]buttonFade.jpg"
+ File "..\Skins\Streetlight\[helper]rectangle.jpg"
+ File "..\Skins\Streetlight\[icon]cd.jpg"
+ File "..\Skins\Streetlight\[icon]error.jpg"
+ File "..\Skins\Streetlight\[icon]main.jpg"
+ File "..\Skins\Streetlight\[icon]options.jpg"
+ File "..\Skins\Streetlight\[icon]party.jpg"
+ File "..\Skins\Streetlight\[icon]question.jpg"
+ File "..\Skins\Streetlight\[icon]score.jpg"
+ File "..\Skins\Streetlight\[icon]search.jpg"
+ File "..\Skins\Streetlight\[icon]songmenu.jpg"
+ File "..\Skins\Streetlight\[icon]stats.jpg"
+ File "..\Skins\Streetlight\[icon]video.jpg"
+ File "..\Skins\Streetlight\[main]button.jpg"
+ File "..\Skins\Streetlight\[main]button2.jpg"
+ File "..\Skins\Streetlight\[main]buttonf.jpg"
+ File "..\Skins\Streetlight\[main]mainBar.jpg"
+ File "..\Skins\Streetlight\[main]playerNumberBox.jpg"
+ File "..\Skins\Streetlight\[main]selectbg.jpg"
+ File "..\Skins\Streetlight\[main]songCover.jpg"
+ File "..\Skins\Streetlight\[main]songSelection1.jpg"
+ File "..\Skins\Streetlight\[main]songSelection2.jpg"
+ File "..\Skins\Streetlight\[menu]jumpToBg.jpg"
+ File "..\Skins\Streetlight\[menu]PopUpBg.JPG"
+ File "..\Skins\Streetlight\[menu]PopUpFg.JPG"
+ File "..\Skins\Streetlight\[menu]songMenuBg.jpg"
+ File "..\Skins\Streetlight\[menu]songMenuSelectBg.jpg"
+ File "..\Skins\Streetlight\[party]Joker.jpg"
+ File "..\Skins\Streetlight\[party]playerButton.jpg"
+ File "..\Skins\Streetlight\[party]playerTeamButton.jpg"
+ File "..\Skins\Streetlight\[party]pointer.bmp"
+ File "..\Skins\Streetlight\[party]roundBG1.jpg"
+ File "..\Skins\Streetlight\[party]roundBG2.jpg"
+ File "..\Skins\Streetlight\[party]roundBG3.jpg"
+ File "..\Skins\Streetlight\[party]roundBG4.jpg"
+ File "..\Skins\Streetlight\[party]roundTeamButton.jpg"
+ File "..\Skins\Streetlight\[party]scoreBG1.jpg"
+ File "..\Skins\Streetlight\[party]scoreBG2.jpg"
+ File "..\Skins\Streetlight\[party]scoreDecoration.jpg"
+ File "..\Skins\Streetlight\[party]teamPoints.jpg"
+ File "..\Skins\Streetlight\[party]winDecoration1.jpg"
+ File "..\Skins\Streetlight\[party]winTeamButton1.jpg"
+ File "..\Skins\Streetlight\[party]winTeamButton2.jpg"
+ File "..\Skins\Streetlight\[party]winTeamButton3.jpg"
+ File "..\Skins\Streetlight\[score]box.jpg"
+ File "..\Skins\Streetlight\[score]endcap.jpg"
+ File "..\Skins\Streetlight\[score]level.jpg"
+ File "..\Skins\Streetlight\[score]levelRound.jpg"
+ File "..\Skins\Streetlight\[score]Line.jpg"
+ File "..\Skins\Streetlight\[sing]lineBonusPopUp.jpg"
+ File "..\Skins\Streetlight\[sing]LyricsBall.bmp"
+ File "..\Skins\Streetlight\[sing]lyricsHelpBar.bmp"
+ File "..\Skins\Streetlight\[sing]notesBgLeft.bmp"
+ File "..\Skins\Streetlight\[sing]notesBgMid.bmp"
+ File "..\Skins\Streetlight\[sing]notesBgRight.bmp"
+ File "..\Skins\Streetlight\[sing]notesLeft.bmp"
+ File "..\Skins\Streetlight\[sing]notesMid.bmp"
+ File "..\Skins\Streetlight\[sing]notesRight.bmp"
+ File "..\Skins\Streetlight\[sing]p.jpg"
+ File "..\Skins\Streetlight\[sing]scoreBg.jpg"
+ File "..\Skins\Streetlight\[sing]singBarBack.jpg"
+ File "..\Skins\Streetlight\[sing]singBarBar.jpg"
+ File "..\Skins\Streetlight\[sing]singBarFront.jpg"
+ File "..\Skins\Streetlight\[sing]textBar.jpg"
+ File "..\Skins\Streetlight\[sing]timeBar.jpg"
+ File "..\Skins\Streetlight\[sing]timeBarBG.jpg"
+ File "..\Skins\Streetlight\[special]bar1.jpg"
+ File "..\Skins\Streetlight\[special]bar2.jpg"
+ File "..\Skins\Streetlight\[stat]detailBG1.jpg"
+ File "..\Skins\Streetlight\[stat]mainBG1.jpg"
+ File "..\Skins\Streetlight\[stat]mainBG2.jpg"
+ File "..\Skins\Streetlight\[stat]mainBG3.jpg"
+ File "..\Skins\Streetlight\bg-main.jpg"
+ File "..\Skins\Streetlight\bg-song.jpg"
+ File "..\Skins\Streetlight\Streetlight lite.ini"
+ File "..\Skins\Streetlight\Streetlight.ini"
+
+ SetOutPath "$INSTDIR\Themes"
+
+ File "..\Themes\Streetlight lite.ini"
+ File "..\Themes\Streetlight.ini"
+
+ SetOutPath "$INSTDIR" \ No newline at end of file
diff --git a/Installer/settings/optional/in_vistar.nsh b/Installer/settings/optional/in_vistar.nsh
new file mode 100644
index 00000000..47f9f371
--- /dev/null
+++ b/Installer/settings/optional/in_vistar.nsh
@@ -0,0 +1,102 @@
+
+ CreateDirectory "$INSTDIR\Skins\Vistar"
+
+ SetOutPath "$INSTDIR\Skins\Vistar"
+
+ File "..\Skins\Vistar\[button]13.jpg"
+ File "..\Skins\Vistar\[button]alt.jpg"
+ File "..\Skins\Vistar\[button]az.jpg"
+ File "..\Skins\Vistar\[button]enter.jpg"
+ File "..\Skins\Vistar\[button]esc.jpg"
+ File "..\Skins\Vistar\[button]j.jpg"
+ File "..\Skins\Vistar\[button]m.jpg"
+ File "..\Skins\Vistar\[button]navi.jpg"
+ File "..\Skins\Vistar\[button]p.jpg"
+ File "..\Skins\Vistar\[effect]goldenNoteStar.jpg"
+ File "..\Skins\Vistar\[effect]perfectNoteStar.jpg"
+ File "..\Skins\Vistar\[helper]rectangle.jpg"
+ File "..\Skins\Vistar\[icon]cd.jpg"
+ File "..\Skins\Vistar\[icon]error.jpg"
+ File "..\Skins\Vistar\[icon]main.jpg"
+ File "..\Skins\Vistar\[icon]options.jpg"
+ File "..\Skins\Vistar\[icon]party.jpg"
+ File "..\Skins\Vistar\[icon]question.jpg"
+ File "..\Skins\Vistar\[icon]score.jpg"
+ File "..\Skins\Vistar\[icon]search.jpg"
+ File "..\Skins\Vistar\[icon]songmenu.jpg"
+ File "..\Skins\Vistar\[icon]stats.jpg"
+ File "..\Skins\Vistar\[icon]video.jpg"
+ File "..\Skins\Vistar\[main]button.jpg"
+ File "..\Skins\Vistar\[main]buttonf.jpg"
+ File "..\Skins\Vistar\[main]mainBar.jpg"
+ File "..\Skins\Vistar\[main]playerNumberBox.jpg"
+ File "..\Skins\Vistar\[main]selectbg.jpg"
+ File "..\Skins\Vistar\[main]songCover.jpg"
+ File "..\Skins\Vistar\[main]songSelection2.jpg"
+ File "..\Skins\Vistar\[mainbutton]Exit.jpg"
+ File "..\Skins\Vistar\[mainbutton]Multi.jpg"
+ File "..\Skins\Vistar\[mainbutton]Options.jpg"
+ File "..\Skins\Vistar\[mainbutton]Solo.jpg"
+ File "..\Skins\Vistar\[mainbutton]Stats.jpg"
+ File "..\Skins\Vistar\[menu]jumpToBg.jpg"
+ File "..\Skins\Vistar\[menu]PopUpBg.JPG"
+ File "..\Skins\Vistar\[menu]PopUpFg.JPG"
+ File "..\Skins\Vistar\[menu]songMenuBg.jpg"
+ File "..\Skins\Vistar\[menu]songMenuSelectBg.jpg"
+ File "..\Skins\Vistar\[party]Joker.jpg"
+ File "..\Skins\Vistar\[party]playerButton.jpg"
+ File "..\Skins\Vistar\[party]playerTeamButton.jpg"
+ File "..\Skins\Vistar\[party]pointer.bmp"
+ File "..\Skins\Vistar\[party]roundBG1.jpg"
+ File "..\Skins\Vistar\[party]roundBG2.jpg"
+ File "..\Skins\Vistar\[party]roundBG3.jpg"
+ File "..\Skins\Vistar\[party]roundBG4.jpg"
+ File "..\Skins\Vistar\[party]roundTeamButton.jpg"
+ File "..\Skins\Vistar\[party]scoreBG1.jpg"
+ File "..\Skins\Vistar\[party]scoreBG2.jpg"
+ File "..\Skins\Vistar\[party]scoreDecoration.jpg"
+ File "..\Skins\Vistar\[party]teamPoints.jpg"
+ File "..\Skins\Vistar\[party]winDecoration1.jpg"
+ File "..\Skins\Vistar\[party]winTeamButton1.jpg"
+ File "..\Skins\Vistar\[party]winTeamButton2.jpg"
+ File "..\Skins\Vistar\[party]winTeamButton3.jpg"
+ File "..\Skins\Vistar\[score]box.jpg"
+ File "..\Skins\Vistar\[score]endcap.jpg"
+ File "..\Skins\Vistar\[score]level.jpg"
+ File "..\Skins\Vistar\[score]levelRound.jpg"
+ File "..\Skins\Vistar\[score]Line.jpg"
+ File "..\Skins\Vistar\[sing]lineBonusPopUp.jpg"
+ File "..\Skins\Vistar\[sing]LyricsBall.bmp"
+ File "..\Skins\Vistar\[sing]lyricsHelpBar.bmp"
+ File "..\Skins\Vistar\[sing]notesBgLeft.bmp"
+ File "..\Skins\Vistar\[sing]notesBgMid.bmp"
+ File "..\Skins\Vistar\[sing]notesBgRight.bmp"
+ File "..\Skins\Vistar\[sing]notesLeft.bmp"
+ File "..\Skins\Vistar\[sing]notesMid.bmp"
+ File "..\Skins\Vistar\[sing]notesRight.bmp"
+ File "..\Skins\Vistar\[sing]p.jpg"
+ File "..\Skins\Vistar\[sing]scoreBg.jpg"
+ File "..\Skins\Vistar\[sing]singBarBack.jpg"
+ File "..\Skins\Vistar\[sing]singBarBar.jpg"
+ File "..\Skins\Vistar\[sing]singBarFront.jpg"
+ File "..\Skins\Vistar\[sing]textBar.jpg"
+ File "..\Skins\Vistar\[sing]timeBar.jpg"
+ File "..\Skins\Vistar\[sing]timeBar1.jpg"
+ File "..\Skins\Vistar\[sing]timeBarBG.jpg"
+ File "..\Skins\Vistar\[stat]detailBG1.jpg"
+ File "..\Skins\Vistar\[stat]mainBG1.jpg"
+ File "..\Skins\Vistar\[stat]mainBG2.jpg"
+ File "..\Skins\Vistar\[stat]mainBG3.jpg"
+ File "..\Skins\Vistar\bg-lite.jpg"
+ File "..\Skins\Vistar\bg-load.jpg"
+ File "..\Skins\Vistar\bg-main.jpg"
+ File "..\Skins\Vistar\bg-score.jpg"
+ File "..\Skins\Vistar\bg-song.jpg"
+ File "..\Skins\Vistar\main-buttons.jpg"
+ File "..\Skins\Vistar\Vistar.ini"
+
+ SetOutPath "$INSTDIR\Themes"
+
+ File "..\Themes\Vistar.ini"
+
+ SetOutPath "$INSTDIR" \ No newline at end of file
diff --git a/Installer/settings/optional/opt_uninstall.nsh b/Installer/settings/optional/opt_uninstall.nsh
new file mode 100644
index 00000000..cb0de81b
--- /dev/null
+++ b/Installer/settings/optional/opt_uninstall.nsh
@@ -0,0 +1,292 @@
+; Uninstall all optional Themes
+
+ Delete "$INSTDIR\Skins\Orange\[bg-load].jpg"
+ Delete "$INSTDIR\Skins\Orange\[button]13.jpg"
+ Delete "$INSTDIR\Skins\Orange\[button]alt.jpg"
+ Delete "$INSTDIR\Skins\Orange\[button]az.jpg"
+ Delete "$INSTDIR\Skins\Orange\[button]enter.jpg"
+ Delete "$INSTDIR\Skins\Orange\[button]esc.jpg"
+ Delete "$INSTDIR\Skins\Orange\[button]j.jpg"
+ Delete "$INSTDIR\Skins\Orange\[button]m.jpg"
+ Delete "$INSTDIR\Skins\Orange\[button]navi.jpg"
+ Delete "$INSTDIR\Skins\Orange\[button]p.jpg"
+ Delete "$INSTDIR\Skins\Orange\[effect]goldenNoteStar.jpg"
+ Delete "$INSTDIR\Skins\Orange\[effect]perfectNoteStar.jpg"
+ Delete "$INSTDIR\Skins\Orange\[helper]buttonFade.jpg"
+ Delete "$INSTDIR\Skins\Orange\[helper]rectangle.jpg"
+ Delete "$INSTDIR\Skins\Orange\[icon]cd.jpg"
+ Delete "$INSTDIR\Skins\Orange\[icon]error.jpg"
+ Delete "$INSTDIR\Skins\Orange\[icon]main.jpg"
+ Delete "$INSTDIR\Skins\Orange\[icon]options.jpg"
+ Delete "$INSTDIR\Skins\Orange\[icon]party.jpg"
+ Delete "$INSTDIR\Skins\Orange\[icon]question.jpg"
+ Delete "$INSTDIR\Skins\Orange\[icon]score.jpg"
+ Delete "$INSTDIR\Skins\Orange\[icon]search.jpg"
+ Delete "$INSTDIR\Skins\Orange\[icon]songmenu.jpg"
+ Delete "$INSTDIR\Skins\Orange\[icon]stats.jpg"
+ Delete "$INSTDIR\Skins\Orange\[icon]video.jpg"
+ Delete "$INSTDIR\Skins\Orange\[main]button.jpg"
+ Delete "$INSTDIR\Skins\Orange\[main]button2.jpg"
+ Delete "$INSTDIR\Skins\Orange\[main]button3.jpg"
+ Delete "$INSTDIR\Skins\Orange\[main]buttonf.jpg"
+ Delete "$INSTDIR\Skins\Orange\[main]button-m-1.jpg"
+ Delete "$INSTDIR\Skins\Orange\[main]button-m-2.jpg"
+ Delete "$INSTDIR\Skins\Orange\[main]button-m-3.jpg"
+ Delete "$INSTDIR\Skins\Orange\[main]button-m-4.jpg"
+ Delete "$INSTDIR\Skins\Orange\[main]mainBar.jpg"
+ Delete "$INSTDIR\Skins\Orange\[main]playerNumberBox.jpg"
+ Delete "$INSTDIR\Skins\Orange\[main]selectbg.jpg"
+ Delete "$INSTDIR\Skins\Orange\[main]songCover.jpg"
+ Delete "$INSTDIR\Skins\Orange\[main]songSelection1.jpg"
+ Delete "$INSTDIR\Skins\Orange\[main]songSelection2.jpg"
+ Delete "$INSTDIR\Skins\Orange\[menu]jumpToBg.jpg"
+ Delete "$INSTDIR\Skins\Orange\[menu]PopUpBg.JPG"
+ Delete "$INSTDIR\Skins\Orange\[menu]PopUpFg.JPG"
+ Delete "$INSTDIR\Skins\Orange\[menu]songMenuBg.jpg"
+ Delete "$INSTDIR\Skins\Orange\[menu]songMenuSelectBg.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]Joker.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]playerButton.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]playerTeamButton.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]pointer.bmp"
+ Delete "$INSTDIR\Skins\Orange\[party]roundBG1.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]roundBG2.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]roundBG3.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]roundBG4.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]roundTeamButton.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]scoreBG1.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]scoreBG2.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]scoreDecoration.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]teamPoints.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]winDecoration1.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]winTeamButton1.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]winTeamButton2.jpg"
+ Delete "$INSTDIR\Skins\Orange\[party]winTeamButton3.jpg"
+ Delete "$INSTDIR\Skins\Orange\[score]box.jpg"
+ Delete "$INSTDIR\Skins\Orange\[score]endcap.jpg"
+ Delete "$INSTDIR\Skins\Orange\[score]level.jpg"
+ Delete "$INSTDIR\Skins\Orange\[score]levelRound.jpg"
+ Delete "$INSTDIR\Skins\Orange\[score]Line.jpg"
+ Delete "$INSTDIR\Skins\Orange\[sing]lineBonusPopUp.jpg"
+ Delete "$INSTDIR\Skins\Orange\[sing]LyricsBall.bmp"
+ Delete "$INSTDIR\Skins\Orange\[sing]lyricsHelpBar.bmp"
+ Delete "$INSTDIR\Skins\Orange\[sing]notesBgLeft.bmp"
+ Delete "$INSTDIR\Skins\Orange\[sing]notesBgMid.bmp"
+ Delete "$INSTDIR\Skins\Orange\[sing]notesBgRight.bmp"
+ Delete "$INSTDIR\Skins\Orange\[sing]notesLeft.bmp"
+ Delete "$INSTDIR\Skins\Orange\[sing]notesMid.bmp"
+ Delete "$INSTDIR\Skins\Orange\[sing]notesRight.bmp"
+ Delete "$INSTDIR\Skins\Orange\[sing]p.jpg"
+ Delete "$INSTDIR\Skins\Orange\[sing]scoreBg.jpg"
+ Delete "$INSTDIR\Skins\Orange\[sing]singBarBack.jpg"
+ Delete "$INSTDIR\Skins\Orange\[sing]singBarBar.jpg"
+ Delete "$INSTDIR\Skins\Orange\[sing]singBarFront.jpg"
+ Delete "$INSTDIR\Skins\Orange\[sing]textBar.jpg"
+ Delete "$INSTDIR\Skins\Orange\[sing]timeBar.jpg"
+ Delete "$INSTDIR\Skins\Orange\[sing]timeBarBG.jpg"
+ Delete "$INSTDIR\Skins\Orange\[special]bar1.jpg"
+ Delete "$INSTDIR\Skins\Orange\[special]bar2.jpg"
+ Delete "$INSTDIR\Skins\Orange\[stat]detailBG1.jpg"
+ Delete "$INSTDIR\Skins\Orange\[stat]mainBG1.jpg"
+ Delete "$INSTDIR\Skins\Orange\[stat]mainBG2.jpg"
+ Delete "$INSTDIR\Skins\Orange\[stat]mainBG3.jpg"
+ Delete "$INSTDIR\Skins\Orange\bg-main.jpg"
+ Delete "$INSTDIR\Skins\Orange\bg-song.jpg"
+ Delete "$INSTDIR\Skins\Orange\Orange.ini"
+
+ Delete "$INSTDIR\Themes\Orange.ini"
+
+
+ Delete "$INSTDIR\Skins\Streetlight\[bg-load].jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[button]13.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[button]alt.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[button]az.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[button]enter.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[button]esc.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[button]j.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[button]m.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[button]navi.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[button]p.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[effect]goldenNoteStar.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[effect]perfectNoteStar.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[helper]buttonFade.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[helper]rectangle.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[icon]cd.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[icon]error.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[icon]main.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[icon]options.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[icon]party.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[icon]question.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[icon]score.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[icon]search.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[icon]songmenu.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[icon]stats.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[icon]video.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[main]button.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[main]button2.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[main]buttonf.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[main]mainBar.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[main]playerNumberBox.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[main]selectbg.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[main]songCover.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[main]songSelection1.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[main]songSelection2.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[menu]jumpToBg.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[menu]PopUpBg.JPG"
+ Delete "$INSTDIR\Skins\Streetlight\[menu]PopUpFg.JPG"
+ Delete "$INSTDIR\Skins\Streetlight\[menu]songMenuBg.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[menu]songMenuSelectBg.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]Joker.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]playerButton.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]playerTeamButton.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]pointer.bmp"
+ Delete "$INSTDIR\Skins\Streetlight\[party]roundBG1.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]roundBG2.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]roundBG3.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]roundBG4.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]roundTeamButton.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]scoreBG1.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]scoreBG2.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]scoreDecoration.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]teamPoints.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]winDecoration1.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]winTeamButton1.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]winTeamButton2.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[party]winTeamButton3.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[score]box.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[score]endcap.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[score]level.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[score]levelRound.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[score]Line.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]lineBonusPopUp.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]LyricsBall.bmp"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]lyricsHelpBar.bmp"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]notesBgLeft.bmp"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]notesBgMid.bmp"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]notesBgRight.bmp"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]notesLeft.bmp"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]notesMid.bmp"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]notesRight.bmp"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]p.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]scoreBg.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]singBarBack.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]singBarBar.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]singBarFront.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]textBar.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]timeBar.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[sing]timeBarBG.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[special]bar1.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[special]bar2.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[stat]detailBG1.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[stat]mainBG1.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[stat]mainBG2.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\[stat]mainBG3.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\bg-main.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\bg-song.jpg"
+ Delete "$INSTDIR\Skins\Streetlight\Streetlight lite.ini"
+ Delete "$INSTDIR\Skins\Streetlight\Streetlight.ini"
+
+ Delete "$INSTDIR\Themes\Streetlight lite.ini"
+ Delete "$INSTDIR\Themes\Streetlight.ini"
+
+ Delete "$INSTDIR\Skins\Vistar\[button]13.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[button]alt.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[button]az.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[button]enter.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[button]esc.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[button]j.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[button]m.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[button]navi.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[button]p.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[effect]goldenNoteStar.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[effect]perfectNoteStar.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[helper]rectangle.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[icon]cd.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[icon]error.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[icon]main.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[icon]options.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[icon]party.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[icon]question.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[icon]score.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[icon]search.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[icon]songmenu.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[icon]stats.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[icon]video.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[main]button.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[main]buttonf.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[main]mainBar.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[main]playerNumberBox.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[main]selectbg.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[main]songCover.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[main]songSelection2.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[mainbutton]Exit.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[mainbutton]Multi.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[mainbutton]Options.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[mainbutton]Solo.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[mainbutton]Stats.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[menu]jumpToBg.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[menu]PopUpBg.JPG"
+ Delete "$INSTDIR\Skins\Vistar\[menu]PopUpFg.JPG"
+ Delete "$INSTDIR\Skins\Vistar\[menu]songMenuBg.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[menu]songMenuSelectBg.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]Joker.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]playerButton.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]playerTeamButton.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]pointer.bmp"
+ Delete "$INSTDIR\Skins\Vistar\[party]roundBG1.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]roundBG2.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]roundBG3.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]roundBG4.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]roundTeamButton.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]scoreBG1.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]scoreBG2.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]scoreDecoration.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]teamPoints.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]winDecoration1.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]winTeamButton1.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]winTeamButton2.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[party]winTeamButton3.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[score]box.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[score]endcap.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[score]level.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[score]levelRound.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[score]Line.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[sing]lineBonusPopUp.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[sing]LyricsBall.bmp"
+ Delete "$INSTDIR\Skins\Vistar\[sing]lyricsHelpBar.bmp"
+ Delete "$INSTDIR\Skins\Vistar\[sing]notesBgLeft.bmp"
+ Delete "$INSTDIR\Skins\Vistar\[sing]notesBgMid.bmp"
+ Delete "$INSTDIR\Skins\Vistar\[sing]notesBgRight.bmp"
+ Delete "$INSTDIR\Skins\Vistar\[sing]notesLeft.bmp"
+ Delete "$INSTDIR\Skins\Vistar\[sing]notesMid.bmp"
+ Delete "$INSTDIR\Skins\Vistar\[sing]notesRight.bmp"
+ Delete "$INSTDIR\Skins\Vistar\[sing]p.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[sing]scoreBg.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[sing]singBarBack.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[sing]singBarBar.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[sing]singBarFront.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[sing]textBar.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[sing]timeBar.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[sing]timeBar1.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[sing]timeBarBG.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[stat]detailBG1.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[stat]mainBG1.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[stat]mainBG2.jpg"
+ Delete "$INSTDIR\Skins\Vistar\[stat]mainBG3.jpg"
+ Delete "$INSTDIR\Skins\Vistar\bg-lite.jpg"
+ Delete "$INSTDIR\Skins\Vistar\bg-load.jpg"
+ Delete "$INSTDIR\Skins\Vistar\bg-main.jpg"
+ Delete "$INSTDIR\Skins\Vistar\bg-score.jpg"
+ Delete "$INSTDIR\Skins\Vistar\bg-song.jpg"
+ Delete "$INSTDIR\Skins\Vistar\main-buttons.jpg"
+ Delete "$INSTDIR\Skins\Vistar\Vistar.ini"
+
+ Delete "$INSTDIR\Themes\Vistar.ini"
+
+ StrCpy $0 "$INSTDIR\Skins\Orange"
+ Call un.DeleteIfEmpty
+
+ StrCpy $0 "$INSTDIR\Skins\Streetlight"
+ Call un.DeleteIfEmpty
+
+ StrCpy $0 "$INSTDIR\Skins\Vistar"
+ Call un.DeleteIfEmpty \ No newline at end of file
diff --git a/Installer/settings/settings-1031.ini b/Installer/settings/settings-1031.ini
new file mode 100644
index 00000000..642f577e
--- /dev/null
+++ b/Installer/settings/settings-1031.ini
@@ -0,0 +1,131 @@
+[Settings]
+NumFields=16
+
+[Field 1]
+Type=Label
+Text="Vollbild Modus:"
+Left=0
+Right=53
+Top=27
+Bottom=35
+
+[Field 2]
+Type=Label
+Text="Sprache:"
+Left=0
+Right=53
+Top=51
+Bottom=59
+
+[Field 3]
+Type=Label
+Text="Auflösung:"
+Left=0
+Right=53
+Top=73
+Bottom=81
+
+[Field 4]
+Type=Label
+Text="Ordnerstruktur:"
+Left=0
+Right=53
+Top=97
+Bottom=105
+
+[Field 5]
+Type=Label
+Text="Animationen/Effekte:"
+Left=0
+Right=70
+Top=124
+Bottom=132
+
+[Field 6]
+Type=Droplist
+ListItems=On|Off
+Left=71
+Right=161
+Top=25
+Bottom=38
+
+[Field 7]
+Type=Droplist
+ListItems=Catalan|Croatian|Danish|Dutch|English|Euskara|French|German|Italian|Norwegian|Polish|Portuguese|Serbian|Slovak|Spanish|Swedish
+Left=71
+Right=161
+Top=48
+Bottom=62
+
+[Field 8]
+Type=Droplist
+ListItems=320x200|640x480|800x600|1024x768|1280x1024|1440x900|1680x1050|1920x1200
+Left=71
+Right=161
+Top=72
+Bottom=86
+
+[Field 9]
+Type=Droplist
+ListItems=On|Off
+Left=71
+Right=161
+Top=96
+Bottom=110
+
+[Field 10]
+Type=Droplist
+ListItems=On|Off
+Left=71
+Right=161
+Top=121
+Bottom=136
+
+[Field 11]
+Type=Label
+Text="Wähle aus, ob das Spiel im Fenster oder \r\nals Vollbild gestartet werden soll."
+Left=170
+Right=315
+Top=24
+Bottom=44
+
+[Field 12]
+Type=Label
+Text="Hier können einige Einstellungen für UltraStar Deluxe vorgenommen werden.\r\nAlle Einstellungen können später im Spielmenü geändert werden."
+Left=0
+Right=315
+Top=3
+Bottom=20
+
+[Field 13]
+Type=Label
+Text="Wähle deine favorisierte Sprache, in der UltraStar Deluxe angezeigt werden soll."
+Left=170
+Right=315
+Top=46
+Bottom=68
+
+[Field 14]
+Type=Label
+Text="Wähle deine, dem Monitor angepasste, bevorzugte Auflösung."
+Left=170
+Right=315
+Top=70
+Bottom=96
+
+[Field 15]
+Type=Label
+Text="Wähle aus, ob UltraStar Deluxe eine Ordnerstruktur zum Anzeigen der Lieder verwenden soll."
+Left=170
+Right=315
+Top=92
+Bottom=116
+
+[Field 16]
+Type=Label
+Text="Wähle, ob Spezialeffekte und \r\nAnimationen benutzt werden sollen."
+Left=170
+Right=315
+Top=121
+Bottom=137
+
diff --git a/Installer/settings/settings-1033.ini b/Installer/settings/settings-1033.ini
new file mode 100644
index 00000000..2a3dfdba
--- /dev/null
+++ b/Installer/settings/settings-1033.ini
@@ -0,0 +1,131 @@
+[Settings]
+NumFields=16
+
+[Field 1]
+Type=Label
+Text="Fullscreen Mode:"
+Left=0
+Right=50
+Top=27
+Bottom=35
+
+[Field 2]
+Type=Label
+Text="Language:"
+Left=0
+Right=50
+Top=51
+Bottom=59
+
+[Field 3]
+Type=Label
+Text="Resolution:"
+Left=0
+Right=50
+Top=73
+Bottom=81
+
+[Field 4]
+Type=Label
+Text="Tabs:"
+Left=0
+Right=50
+Top=100
+Bottom=108
+
+[Field 5]
+Type=Label
+Text="Animations/Effects:"
+Left=0
+Right=67
+Top=124
+Bottom=132
+
+[Field 6]
+Type=Droplist
+ListItems=On|Off
+Left=70
+Right=160
+Top=24
+Bottom=36
+
+[Field 7]
+Type=Droplist
+ListItems=Catalan|Croatian|Danish|Dutch|English|Euskara|French|German|Italian|Norwegian|Polish|Portuguese|Serbian|Slovak|Spanish|Swedish
+Left=70
+Right=160
+Top=48
+Bottom=60
+
+[Field 8]
+Type=Droplist
+ListItems=320x200|640x480|800x600|1024x768|1280x1024|1440x900|1680x1050|1920x1200
+Left=70
+Right=160
+Top=72
+Bottom=86
+
+[Field 9]
+Type=Droplist
+ListItems=On|Off
+Left=70
+Right=160
+Top=99
+Bottom=113
+
+[Field 10]
+Type=Droplist
+ListItems=On|Off
+Left=70
+Right=160
+Top=123
+Bottom=137
+
+[Field 11]
+Type=Label
+Text="Choose if you want to run UltraStar Deluxe in a window or fullscreen."
+Left=170
+Right=305
+Top=25
+Bottom=46
+
+[Field 12]
+Type=Label
+Text="Choose your favorite language, in that UltraStar Deluxe should be displayed."
+Left=170
+Right=305
+Top=48
+Bottom=70
+
+[Field 13]
+Type=Label
+Text="Choose your favorite screen resolution for UltraStar Deluxe adjusted to your display device."
+Left=170
+Right=305
+Top=72
+Bottom=97
+
+[Field 14]
+Type=Label
+Text="Choose whether you would like to view folders in UltraStar Deluxe or not."
+Left=170
+Right=305
+Top=99
+Bottom=122
+
+[Field 15]
+Type=Label
+Text="Here you can define some settings for UltraStar Deluxe. The settings can\r\nalso be changed in the GUI later."
+Left=0
+Right=289
+Top=3
+Bottom=20
+
+[Field 16]
+Type=Label
+Text="Choose if special effects or animations should be used by UltraStar Deluxe. Recommended: On"
+Left=170
+Right=305
+Top=123
+Bottom=139
+
diff --git a/Installer/settings/variables.nsh b/Installer/settings/variables.nsh
new file mode 100644
index 00000000..7f41776e
--- /dev/null
+++ b/Installer/settings/variables.nsh
@@ -0,0 +1,70 @@
+; These are the common used variables
+; for the USdx Installation Wizard
+
+!define version "1.0.1a" ; Current version of UltraStar Deluxe
+!define p_name "UltraStar Deluxe" ; Just the name of the program
+!define publisher "USDX Team" ; Publisher
+!define homepage "http://www.ultrastardeluxe.org/" ; Project Homepage
+!define forum "http://forum.ultrastardeluxe.org/" ; Forum Homepage
+
+!define exe "USdx" ; Current name of start exe (must also be defined in functions.nsh)
+
+!define demosong "http://ultrastardeluxe.xtremeweb-hosting.net/installer/songs/song.zip" ; URL from where the demo song "I18" will be downloaded
+!define demosong2 "http://ultrastardeluxe.xtremeweb-hosting.net/installer/songs/song2.zip" ; URL from where the demo song "Northern Star" will be downloaded
+
+; Theme URLs:
+
+!define dl_orange "http://ultrastardeluxe.xtremeweb-hosting.net/installer/themes/orange.zip"
+!define dl_vistar "http://ultrastardeluxe.xtremeweb-hosting.net/installer/themes/vistar.zip"
+!define dl_streetlight "http://ultrastardeluxe.xtremeweb-hosting.net/installer/themes/streetlight.zip"
+
+; Other Language Strings (except Section Language Strings)
+; can be found at .\langstrings.nsh
+
+!define eng_sec1_desc "These are the basic files needed by UltraStar Deluxe" ; English Description of Base components
+!define ger_sec1_desc "Dies sind die von UltraStar Deluxe benötigten Grunddateien" ; German Description of Base components
+
+!define eng_sec3_desc "You can choose which optional themes should also be installed." ; English Description of "Optional Themes"-Section
+!define ger_sec3_desc "Hier können optionale Motive zum Installieren gewählt werden." ; German Description of "Optional Themes"-Section
+
+!define eng_g2Section1_desc "Install the demo song 'Dead Smiling Pirates - I 18'." ; English Description of the Example Song "I 18"
+!define ger_g2Section1_desc "Installiert das freie Beispiellied 'Dead Smiling Pirates - I 18'." ; German Description of the Example Song "I 18"
+
+!define eng_g2Section2_desc "Install the demo song 'Steven Dunston - Northern Star'." ; English Description of the Example Song "Northern Star"
+!define ger_g2Section2_desc "Installiert das freie Beispiellied 'Steven Dunston - Northern Star'." ; German Description of the Example Song "Northern Star"
+
+!define eng_g2Section3_desc "Install the demo song 'Joshua Morin - On the run'." ; English Description of the Example Song "On the run"
+!define ger_g2Section3_desc "Installiert das freie Beispiellied 'Joshua Morin - On the run'."; German Description of the Example Song "On the run"
+
+!define eng_sec1 "Base components" ; English Name of the component section1
+!define ger_sec1 "Basiskomponenten" ; German Name of the component section1
+
+!define eng_sec2 "Demo Songs" ; English Name of the component section2
+!define ger_sec2 "Beispiellieder" ; German Name of the component section2
+
+!define eng_sec3 "Optional Themes" ; English Name of the component section group1
+!define ger_sec3 "Optionale Motive" ; German Name of the component section group1
+
+; Group Section Descriptions:
+
+!define eng_g1Sec1_desc "This will install the optional theme 'Orange' by Skar."
+!define ger_g1Sec1_desc "Dies installiert das optionale Motiv 'Orange' von Skar."
+
+!define eng_g1Sec2_desc "This will install the optional theme 'Streetlight' by Skar."
+!define ger_g1Sec2_desc "Dies installiert das optionale Motiv 'Streetlight' von Skar."
+
+!define eng_g1Sec3_desc "This will install the optional theme 'Vistar' by Skar."
+!define ger_g1Sec3_desc "Dies installiert das optionale Motiv 'Vistar' von Skar."
+
+; Skin:
+
+!define gdf_path "$WINDIR\gdf.dll" ; Path to gdf.dll for Vista Game Explorer
+!define bmp_header "..\InstallerDependencies\images\header.bmp" ; Bitmap of the Installation Header (Size: 150x57 px)
+!define bmp_side "..\InstallerDependencies\images\left.bmp" ; Bitmap on the left side of Welcome & Finish Page (Size: 164x314 px)
+!define mui_ini ".\settings\io.ini" ; Installation Options for Welcome & Finish Page
+!define license_bgcolor "FFFFFF" ; RGB Background Color for Licence agreement
+!define bmp_check "..\InstallerDependencies\images\modern.bmp" ; Bitmap of Checks at Components Selection Page
+!define directory_bgcolor "FFFFFF" ; RGB Background Color for Directory textbox
+!define smp_bgcolor "FFFFFF" ; RGB Background of Startmenu List and Textbox
+;!define dets_bgcolor "FFFFFF" ; Background Color of Details Screen while files are being extracted
+!define file_license "..\InstallerDependencies\documents\License.txt" ; Choose the file with the license agreement \ No newline at end of file
diff --git a/Installer/u3portable/7za.exe b/Installer/u3portable/7za.exe
new file mode 100644
index 00000000..bd30a516
--- /dev/null
+++ b/Installer/u3portable/7za.exe
Binary files differ
diff --git a/Installer/u3portable/Data/Ultrastar.db b/Installer/u3portable/Data/Ultrastar.db
new file mode 100644
index 00000000..27b27392
--- /dev/null
+++ b/Installer/u3portable/Data/Ultrastar.db
Binary files differ
diff --git a/Installer/u3portable/Data/config.ini b/Installer/u3portable/Data/config.ini
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/Installer/u3portable/Data/config.ini
diff --git a/Installer/u3portable/Host/U3.lnk b/Installer/u3portable/Host/U3.lnk
new file mode 100644
index 00000000..45f0a494
--- /dev/null
+++ b/Installer/u3portable/Host/U3.lnk
Binary files differ
diff --git a/Installer/u3portable/Host/appstop.exe b/Installer/u3portable/Host/appstop.exe
new file mode 100644
index 00000000..7bb115f2
--- /dev/null
+++ b/Installer/u3portable/Host/appstop.exe
Binary files differ
diff --git a/Installer/u3portable/Host/start.bat b/Installer/u3portable/Host/start.bat
new file mode 100644
index 00000000..a50814d9
--- /dev/null
+++ b/Installer/u3portable/Host/start.bat
@@ -0,0 +1,21 @@
+@echo off
+
+SET FILE=%U3_DEVICE_PATH%\System\Apps\0B458BEB-A9BB-4E93-B48F-F1EBA58D05BD\Data\config.ini
+
+for /F "Tokens=*" %%i in (%FILE%) do Set Var=%%i
+
+type %FILE% | find "[Path]"
+if errorlevel 1 goto write
+if errorlevel 0 goto start
+
+:write
+
+ECHO. >> %FILE%
+ECHO [Path] >> %FILE%
+ECHO Songs=%U3_DEVICE_PATH%\System\Apps\0B458BEB-A9BB-4E93-B48F-F1EBA58D05BD\Data\Songs >> %FILE%
+
+goto start
+
+:start
+
+start U3.lnk
diff --git a/Installer/u3portable/License.txt b/Installer/u3portable/License.txt
new file mode 100644
index 00000000..f69d566a
--- /dev/null
+++ b/Installer/u3portable/License.txt
@@ -0,0 +1,549 @@
+7-Zip Command line version 4.42
+-------------------------------
+
+7-Zip is a file archiver with hig compression ratio.
+7za.exe is a standalone command line version if 7-Zip.
+
+7-Zip Copyright (C) 1999-2006 Igor Pavlov.
+
+Features of 7za.exe:
+ - Highest compression ratio in new 7z format
+ - 7z, ZIP, GZIP, BZIP2, Z and TAR formats support
+ - Highest compression ratio for ZIP and GZIP formats
+ - Fast compression and decompression
+ - Strong AES-256 encryption in 7z format
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library 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
+Lesser General Public License for more details.
+
+7-Zip is a free software. However, you can support
+development of 7-Zip by registering.
+For information about how to register 7-Zip visit page
+http://www.7-zip.org/register.html
+
+Source code of 7za.exe and 7-Zip can be found at
+http://www.7-zip.org/
+
+7za.exe can work in Windows 95/98/ME/NT/2000/XP/2003 and
+in Linux via Wine program.
+
+ This distrubutive packet contains the following files:
+
+ 7za.exe - 7-Zip standalone command line version.
+ readme.txt - This file.
+ license.txt - GNU LGPL.
+
+---
+End of document
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/Installer/u3portable/Manifest/USdx.ico b/Installer/u3portable/Manifest/USdx.ico
new file mode 100644
index 00000000..4c7d95df
--- /dev/null
+++ b/Installer/u3portable/Manifest/USdx.ico
Binary files differ
diff --git a/Installer/u3portable/Manifest/manifest.u3i b/Installer/u3portable/Manifest/manifest.u3i
new file mode 100644
index 00000000..fcbc3ffc
--- /dev/null
+++ b/Installer/u3portable/Manifest/manifest.u3i
@@ -0,0 +1,17 @@
+<u3manifest version="1.0">
+ <application uuid="0B458BEB-A9BB-4E93-B48F-F1EBA58D05BD" version="1.0.1">
+ <icon>USdx.ico</icon>
+ <name>UltraStar Deluxe Portable</name>
+ <vendor url="http://www.ultrastardeluxe.org">USdx Team</vendor>
+ <description>UltraStar Deluxe is a free open-source karaoke software for Windows that can be compared with Singstar.</description>
+ <options>
+ <minFreeSpace>7.0</minFreeSpace>
+ </options>
+ <i18n></i18n>
+ </application>
+ <actions>
+ <appStart cmd="%U3_HOST_EXEC_PATH%\start.bat"></appStart>
+ <appStop cmd="%U3_HOST_EXEC_PATH%\appstop.exe"> -t -s USdx</appStop>
+ <hostCleanUp cmd="%U3_HOST_EXEC_PATH%\appstop.exe"> -t -s USdx</hostCleanUp>
+ </actions>
+</u3manifest>
diff --git a/Installer/u3portable/Readme.txt b/Installer/u3portable/Readme.txt
new file mode 100644
index 00000000..22c01696
--- /dev/null
+++ b/Installer/u3portable/Readme.txt
@@ -0,0 +1,5 @@
+UltraStar Deluxe U3 Portable
+----------------------------
+
+This is the UltraStar Deluxe
+- U3 Portable Source. \ No newline at end of file
diff --git a/Installer/u3portable/copy.bat b/Installer/u3portable/copy.bat
new file mode 100644
index 00000000..608ea056
--- /dev/null
+++ b/Installer/u3portable/copy.bat
@@ -0,0 +1,20 @@
+@echo off
+
+cd ..\..\
+
+SET PATH=.\Installer\u3portable\Host
+
+xcopy .\Covers\*.* %PATH% /Y /T /E
+xcopy .\Languages\*.* %PATH% /Y /T /E
+xcopy .\Plugins\*.* %PATH% /Y /T /E
+xcopy .\Skins\*.* %PATH% /Y /T /E
+xcopy .\Sounds\*.* %PATH% /Y /T /E
+xcopy .\Themes\*.* %PATH% /Y /T /E
+xcopy .\Covers\*.* %PATH% /Y /T /E
+copy .\UltraStar.exe %PATH% /Y /T /E
+
+xcopy .\InstallerDependencies\dll\*.* %PATH% /Y /T /E
+
+cd .\Installer\u3portable\Host
+
+ren UltraStar.exe USdx.exe \ No newline at end of file
diff --git a/Installer/uninstall.ico b/Installer/uninstall.ico
new file mode 100644
index 00000000..1c72432a
--- /dev/null
+++ b/Installer/uninstall.ico
Binary files differ
diff --git a/Installer/ustar.ico b/Installer/ustar.ico
new file mode 100644
index 00000000..f3214d1a
--- /dev/null
+++ b/Installer/ustar.ico
Binary files differ