diff options
Diffstat (limited to 'us_maker_edition/installer')
-rw-r--r-- | us_maker_edition/installer/UAC.nsh | 191 | ||||
-rw-r--r-- | us_maker_edition/installer/UltraStar Deluxe.nsi | 495 | ||||
-rw-r--r-- | us_maker_edition/installer/dependencies/plugins/UAC.dll | bin | 0 -> 17408 bytes | |||
-rw-r--r-- | us_maker_edition/installer/languages/Polish.nsh | 131 | ||||
-rw-r--r-- | us_maker_edition/installer/settings/files_main_install.nsh | 14 | ||||
-rw-r--r-- | us_maker_edition/installer/settings/settings-1031.ini | 2 | ||||
-rw-r--r-- | us_maker_edition/installer/settings/settings-1033.ini | 6 | ||||
-rw-r--r-- | us_maker_edition/installer/settings/settings-1038.ini | 6 | ||||
-rw-r--r-- | us_maker_edition/installer/settings/settings-1045.ini | 161 | ||||
-rw-r--r-- | us_maker_edition/installer/settings/variables.nsh | 2 |
10 files changed, 771 insertions, 237 deletions
diff --git a/us_maker_edition/installer/UAC.nsh b/us_maker_edition/installer/UAC.nsh new file mode 100644 index 00000000..b21e72ff --- /dev/null +++ b/us_maker_edition/installer/UAC.nsh @@ -0,0 +1,191 @@ +/*
+=======================
+UAC helper include file
+.......................
+
+Macros starting with UAC.I should only be called from the installer and vice versa for UAC.U macros.
+
+*/
+!ifndef UAC_HDR__INC
+!define UAC_HDR__INC
+!include LogicLib.nsh
+
+!define UAC.RunElevatedAndProcessMessages 'UAC::RunElevated '
+!define UAC.Unload 'UAC::Unload '
+!define UAC.StackPush 'UAC::StackPush '
+
+/*!macro _UAC.BuildOnInitElevationFunc _funcprefix
+Function ${_funcprefix}onInit
+!ifmacrodef
+FunctionEnd
+!macroend*/
+
+!macro _UAC.GenerateSimpleFunction _funcprefix _funcName _funcCode
+Function ${_funcprefix}${_funcName}
+${_funcCode}
+#messagebox mb_ok "${_funcprefix}${_funcName}"
+FunctionEnd
+!macroend
+
+!macro _UAC.TryDef _d _v
+!ifndef ${_d}
+!define ${_d} "${_v}"
+!endif
+!macroend
+
+!macro _UAC.InitStrings _modeprefix
+!insertmacro _UAC.TryDef UACSTR.UnDataFile "UAC.dat"
+!insertmacro _UAC.TryDef UACSTR.${_modeprefix}ElvWinErr "Unable to elevate , error $0"
+!ifNdef __UNINSTALL__
+ !insertmacro _UAC.TryDef UACSTR.${_modeprefix}ElvAbortReqAdmin "This installer requires admin access, aborting!"
+ !insertmacro _UAC.TryDef UACSTR.${_modeprefix}ElvMustTryAgain "This installer requires admin access, try again"
+ !else
+ !insertmacro _UAC.TryDef UACSTR.${_modeprefix}ElvAbortReqAdmin "This uninstaller requires admin access, aborting!"
+ !insertmacro _UAC.TryDef UACSTR.${_modeprefix}ElvMustTryAgain "This uninstaller requires admin access, try again"
+ !endif
+!macroend
+
+!ifmacroNdef _UAC.GenerateUninstallerTango
+!macro _UAC.GenerateUninstallerTango UninstallerFileName
+!ifdef __GLOBAL__
+ !error "UAC: Needs to be called inside a function"
+ !endif
+!ifNdef __UNINSTALL__
+ !error "UAC: _UAC.GenerateUninstallerTango should only be called by uninstaller, see http://forums.winamp.com/showthread.php?threadid=280330"
+ !endif
+!ifNdef UAC_UNINSTALLERTANGOFORALLPLATFORMS
+ !include WinVer.nsh
+ !endif
+!insertmacro _UAC.InitStrings 'U.'
+ReadIniStr $0 "$ExeDir\${UACSTR.UnDataFile}" UAC "Un.Ready"
+${IF} $0 != 1
+!ifNdef UAC_UNINSTALLERTANGOFORALLPLATFORMS
+${AndIf} ${AtLeastWinVista}
+!endif
+ InitPluginsDir
+ WriteIniStr "$PluginsDir\${UACSTR.UnDataFile}" UAC "Un.Ready" 1
+ CopyFiles /SILENT "$EXEPATH" "$PluginsDir\${UninstallerFileName}"
+ StrCpy $0 ""
+ ${IfThen} ${Silent} ${|} StrCpy $0 "/S " ${|}
+ ExecWait '"$PluginsDir\${UninstallerFileName}" $0/NCRC _?=$INSTDIR' $0
+ SetErrorLevel $0
+ Quit
+ ${EndIf}
+!macroend
+!endif
+
+!ifmacroNdef _UAC.GenerateOnInitElevationCode
+!macro _UAC.GenerateOnInitElevationCode _modeprefix
+!ifndef __FUNCTION__
+ !error "UAC: Needs to be called inside a function"
+ !endif
+!insertmacro _UAC.InitStrings ${_modeprefix}
+!define _UAC.GOIECUniq L${__LINE__}
+UAC_Elevate_${_UAC.GOIECUniq}:
+UAC::RunElevated
+StrCmp 1223 $0 UAC_ElevationAborted_${_UAC.GOIECUniq} ; UAC dialog aborted by user?
+StrCmp 0 $0 0 UAC_Err_${_UAC.GOIECUniq} ; Error?
+StrCmp 1 $1 0 UAC_Success_${_UAC.GOIECUniq} ;Are we the real deal or just the wrapper?
+Quit
+UAC_Err_${_UAC.GOIECUniq}:
+MessageBox mb_iconstop "${UACSTR.${_modeprefix}ElvWinErr}"
+Abort
+UAC_ElevationAborted_${_UAC.GOIECUniq}:
+MessageBox mb_iconstop "${UACSTR.${_modeprefix}ElvAbortReqAdmin}"
+Abort
+UAC_Success_${_UAC.GOIECUniq}:
+# if $0==0 && $3==1, we are a member of the admin group (Any OS)
+# if $0==0 && $1==0, UAC not supported (Probably <NT6), run as normal?
+# if $0==0 && $1==3, we can try to elevate again
+StrCmp 1 $3 /*+4*/ UAC_Done_${_UAC.GOIECUniq} ;Admin?
+StrCmp 3 $1 0 UAC_ElevationAborted_${_UAC.GOIECUniq} ;Try again or abort?
+MessageBox mb_iconexclamation "${UACSTR.${_modeprefix}ElvMustTryAgain}" ;Inform user...
+goto UAC_Elevate_${_UAC.GOIECUniq} ;...lets try again
+UAC_Done_${_UAC.GOIECUniq}:
+!undef _UAC.GOIECUniq
+!macroend
+!endif
+
+!define UAC.I.Elevate.AdminOnly '!insertmacro UAC.I.Elevate.AdminOnly '
+!macro UAC.I.Elevate.AdminOnly
+!insertmacro _UAC.GenerateOnInitElevationCode 'I.'
+!macroend
+
+!define UAC.U.Elevate.AdminOnly '!insertmacro UAC.U.Elevate.AdminOnly '
+!macro UAC.U.Elevate.AdminOnly _UninstallerName
+!ifNdef UAC_DISABLEUNINSTALLERTANGO
+ !insertmacro _UAC.GenerateUninstallerTango "${_UninstallerName}"
+ !endif
+!insertmacro _UAC.GenerateOnInitElevationCode 'U.'
+!macroend
+
+!define UAC.AutoCodeUnload '!insertmacro UAC.AutoCodeUnload '
+!macro UAC.AutoCodeUnload _HasUninstaller
+!insertmacro _UAC.GenerateSimpleFunction "" .OnInstFailed '${UAC.Unload}'
+!insertmacro _UAC.GenerateSimpleFunction "" .OnInstSuccess '${UAC.Unload}'
+!ifNdef MUI_INCLUDED
+ !insertmacro _UAC.GenerateSimpleFunction "" .onUserAbort '${UAC.Unload}'
+ !else
+ !ifNdef MUI_CUSTOMFUNCTION_ABORT
+ !error "UAC: must call $$ {UAC.Unload} in MUI_CUSTOMFUNCTION_ABORT!"
+ !endif
+ !endif
+!if "${_HasUninstaller}" != ""
+ !insertmacro _UAC.GenerateSimpleFunction "un" .onUninstFailed '${UAC.Unload}'
+ !insertmacro _UAC.GenerateSimpleFunction "un" .onUninstSuccess '${UAC.Unload}'
+ !ifNdef MUI_INCLUDED
+ !insertmacro _UAC.GenerateSimpleFunction "un" .onUserAbort '${UAC.Unload}'
+ !else
+ !ifNdef MUI_CUSTOMFUNCTION_ABORT
+ !error "UAC: must call $$ {UAC.Unload} in MUI_CUSTOMFUNCTION_(UN)ABORT!"
+ !endif
+ !endif
+ !endif
+!macroend
+
+!define UAC.FastCallFunctionAsUser '!insertmacro UAC.FastCallFunctionAsUser '
+!macro UAC.FastCallFunctionAsUser _func _var
+GetFunctionAddress ${_var} ${_func}
+UAC::ExecCodeSegment ${_var}
+!macroend
+!define UAC.CallFunctionAsUser '!insertmacro UAC.CallFunctionAsUser '
+!macro UAC.CallFunctionAsUser _func
+push $R9
+!insertmacro UAC.FastCallFunctionAsUser ${_func} $R9
+pop $R9
+!macroend
+
+!define UAC.FastCallGetOuterInstanceHwndParent UAC::GetOuterHwnd
+!define UAC.GetOuterInstanceHwndParent '!insertmacro UAC.GetOuterInstanceHwndParent '
+!macro UAC.GetOuterInstanceHwndParent _var
+push $0
+${UAC.FastCallGetOuterInstanceHwndParent}
+Exch $0
+Pop ${_var}
+!macroend
+
+
+
+!macro _UAC.DumpEx _disp _f _fp _v
+${_f} ${_fp}
+DetailPrint "${_disp}=${_v}"
+!macroend
+!macro _UAC.Dump _f _fp _v
+!insertmacro _UAC.DumpEx `${_f}` `${_f}` `${_fp}` `${_v}`
+!macroend
+!macro _UAC.DbgDetailPrint
+push $0
+push $1
+System::Call /NoUnload "advapi32::GetUserName(t.r0,*i${NSIS_MAX_STRLEN})"
+System::Call "Kernel32::GetComputerName(t.r1,*i${NSIS_MAX_STRLEN})"
+DetailPrint "$1\$0"
+;!insertmacro _UAC.DumpEx "User" System::Call "advapi32::GetUserName(t.r0,*i${NSIS_MAX_STRLEN})" $0
+!insertmacro _UAC.DumpEx "CmdLine" "" "" "$CmdLine"
+!insertmacro _UAC.Dump UAC::IsAdmin "" $0
+!insertmacro _UAC.Dump UAC::SupportsUAC "" $0
+!insertmacro _UAC.Dump UAC::GetElevationType "" $0
+pop $1
+pop $0
+!macroend
+
+!endif /* ifndef UAC_HDR__INC */
\ No newline at end of file diff --git a/us_maker_edition/installer/UltraStar Deluxe.nsi b/us_maker_edition/installer/UltraStar Deluxe.nsi index 13cf46d0..6eeeefb1 100644 --- a/us_maker_edition/installer/UltraStar Deluxe.nsi +++ b/us_maker_edition/installer/UltraStar Deluxe.nsi @@ -7,6 +7,7 @@ !include LogicLib.nsh
!include InstallOptions.nsh
!include nsDialogs.nsh
+!include UAC.nsh
; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~
; Variables
@@ -49,8 +50,8 @@ InstallDir "$PROGRAMFILES\${name}" InstallDirRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraStar Deluxe" "InstallDir"
; Windows Vista / Windows 7:
-
-RequestExecutionLevel admin
+; must be "user" for UAC plugin
+RequestExecutionLevel user
; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~
; Interface Settings
@@ -109,8 +110,16 @@ RequestExecutionLevel admin !define MUI_FINISHPAGE_TEXT_LARGE
!define MUI_FINISHPAGE_TEXT "$(page_finish_txt)"
-!define MUI_FINISHPAGE_RUN "$INSTDIR\${exe}.exe"
+; MUI_FINISHPAGE_RUN is executed as admin by default.
+; To get the config.ini location right it must be executed with user
+; rights instead.
+!define MUI_FINISHPAGE_RUN
!define MUI_FINISHPAGE_RUN_NOTCHECKED
+!define MUI_FINISHPAGE_RUN_FUNCTION RunAppAsUser
+
+Function RunAppAsUser
+ UAC::ShellExec 'open' '' '$INSTDIR\${exe}.exe' '' '$INSTDIR'
+FunctionEnd
!define MUI_FINISHPAGE_LINK "$(page_finish_linktxt)"
!define MUI_FINISHPAGE_LINK_LOCATION "${homepage}"
@@ -135,7 +144,7 @@ RequestExecutionLevel admin ; Start menu page
-var ICONS_GROUP
+Var ICONS_GROUP
!define MUI_STARTMENUPAGE_NODISABLE
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "${name}"
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
@@ -149,70 +158,99 @@ var ICONS_GROUP Page custom Settings
-Function Settings
-!insertmacro INSTALLOPTIONS_WRITE "Settings-$LANGUAGE" "Field 18" "State" "$INSTDIR\songs"
-
-!insertmacro MUI_HEADER_TEXT " " "$(page_settings_subtitle)"
-!insertmacro INSTALLOPTIONS_DISPLAY "Settings-$LANGUAGE"
-
-; Get all the variables:
-
-Var /GLOBAL LABEL_COMPONENTS
-
-Var /GLOBAL CHECKBOX_COVERS
-Var /GLOBAL CB_COVERS_State
-Var /GLOBAL CHECKBOX_SCORES
-Var /GLOBAL CB_SCORES_State
-Var /GLOBAL CHECKBOX_CONFIG
-Var /GLOBAL CB_CONFIG_State
-Var /GLOBAL CHECKBOX_SCREENSHOTS
-Var /GLOBAL CB_SCREENSHOTS_State
-Var /GLOBAL CHECKBOX_PLAYLISTS
-Var /GLOBAL CB_PLAYLISTS_State
-Var /GLOBAL CHECKBOX_SONGS
-Var /GLOBAL CB_SONGS_State
-
-var /GLOBAL fullscreen
-var /GLOBAL language2
-var /GLOBAL resolution
-var /GLOBAL tabs
-var /GLOBAL sorting
-var /GLOBAL songdir
-
- !insertmacro INSTALLOPTIONS_READ $fullscreen "Settings-$LANGUAGE" "Field 5" "State"
- !insertmacro INSTALLOPTIONS_READ $language2 "Settings-$LANGUAGE" "Field 6" "State"
- !insertmacro INSTALLOPTIONS_READ $resolution "Settings-$LANGUAGE" "Field 7" "State"
- !insertmacro INSTALLOPTIONS_READ $tabs "Settings-$LANGUAGE" "Field 8" "State"
- !insertmacro INSTALLOPTIONS_READ $sorting "Settings-$LANGUAGE" "Field 15" "State"
- !insertmacro INSTALLOPTIONS_READ $songdir "Settings-$LANGUAGE" "Field 18" "State"
-
-; Write all variables to config.ini
-
-var /GLOBAL path_config
-var /GLOBAL path_configini
-
-${If} ${AtLeastWinVista}
- SetShellVarContext current
- StrCpy $path_config "$APPDATA\ultrastardx"
- SetShellVarContext all
-${Else}
- StrCpy $path_config "$INSTDIR"
-${EndIf}
-
-StrCpy $path_configini "$path_config\config.ini"
-
-WriteINIStr "$path_configini" "Game" "Language" "$language2"
-WriteINIStr "$path_configini" "Game" "Tabs" "$tabs"
-WriteINIStr "$path_configini" "Game" "Sorting" "$sorting"
+; User data info
+
+Var UseAppData ; true if APPDATA is used for user data, false for INSTDIR
+Var UserDataPath ; Path to user data dir (e.g. $INSTDIR)
+Var ConfigIniPath ; Path to config.ini (e.g. "$INSTDIR\config.ini")
+
+; Checks for write permissions on $INSTDIR\config.ini.
+; This function creates $INSTDIR\config.use as a marker file if
+; the user has write permissions.
+; Note: Must be run with user privileges
+Function CheckInstDirUserPermissions
+ ClearErrors
+ ; try to open the ini file.
+ ; Use "append" mode so an existing config.ini is not destroyed.
+ FileOpen $0 "$INSTDIR\config.ini" a
+ IfErrors end
+ ; we have write permissions -> create a marker file
+ FileOpen $1 "$INSTDIR\config.use" a
+ FileClose $1
+end:
+ FileClose $0
+FunctionEnd
-WriteINIStr "$path_configini" "Graphics" "FullScreen" "$fullscreen"
-WriteINIStr "$path_configini" "Graphics" "Resolution" "$resolution"
+; Determines the directory used for config.ini and other user
+; settings and data.
+; Sets $UseAppData, $UserDataPath and $ConfigIniPath
+Function DetermineUserDataDir
+ Delete "$INSTDIR\config.use"
+ !insertmacro UAC.CallFunctionAsUser CheckInstDirUserPermissions
+ IfFileExists "$INSTDIR\config.use" 0 notexists
+ StrCpy $UseAppData false
+ StrCpy $UserDataPath "$INSTDIR"
+ Goto end
+notexists:
+ StrCpy $UseAppData true
+ SetShellVarContext current
+ StrCpy $UserDataPath "$APPDATA\ultrastardx"
+ SetShellVarContext all
+end:
+ Delete "$INSTDIR\config.use"
+ StrCpy $ConfigIniPath "$UserDataPath\config.ini"
+FunctionEnd
-${If} $songdir != "$INSTDIR\songs"
-WriteINIStr "$path_configini" "Directories" "SongDir1" "$songdir"
-${EndIf}
+Function Settings
+ !insertmacro INSTALLOPTIONS_WRITE "Settings-$LANGUAGE" "Field 18" "State" "$INSTDIR\songs"
+
+ !insertmacro MUI_HEADER_TEXT " " "$(page_settings_subtitle)"
+ !insertmacro INSTALLOPTIONS_DISPLAY "Settings-$LANGUAGE"
+
+ ; Get all the variables:
+
+ Var /GLOBAL LABEL_COMPONENTS
+
+ Var /GLOBAL CHECKBOX_COVERS
+ Var /GLOBAL CB_COVERS_State
+ Var /GLOBAL CHECKBOX_SCORES
+ Var /GLOBAL CB_SCORES_State
+ Var /GLOBAL CHECKBOX_CONFIG
+ Var /GLOBAL CB_CONFIG_State
+ Var /GLOBAL CHECKBOX_SCREENSHOTS
+ Var /GLOBAL CB_SCREENSHOTS_State
+ Var /GLOBAL CHECKBOX_PLAYLISTS
+ Var /GLOBAL CB_PLAYLISTS_State
+ Var /GLOBAL CHECKBOX_SONGS
+ Var /GLOBAL CB_SONGS_State
+
+ Var /GLOBAL fullscreen
+ Var /GLOBAL language2
+ Var /GLOBAL resolution
+ Var /GLOBAL tabs
+ Var /GLOBAL sorting
+ Var /GLOBAL songdir
+
+ !insertmacro INSTALLOPTIONS_READ $fullscreen "Settings-$LANGUAGE" "Field 5" "State"
+ !insertmacro INSTALLOPTIONS_READ $language2 "Settings-$LANGUAGE" "Field 6" "State"
+ !insertmacro INSTALLOPTIONS_READ $resolution "Settings-$LANGUAGE" "Field 7" "State"
+ !insertmacro INSTALLOPTIONS_READ $tabs "Settings-$LANGUAGE" "Field 8" "State"
+ !insertmacro INSTALLOPTIONS_READ $sorting "Settings-$LANGUAGE" "Field 15" "State"
+ !insertmacro INSTALLOPTIONS_READ $songdir "Settings-$LANGUAGE" "Field 18" "State"
+
+ WriteINIStr "$ConfigIniPath" "Game" "Language" "$language2"
+ WriteINIStr "$ConfigIniPath" "Game" "Tabs" "$tabs"
+ WriteINIStr "$ConfigIniPath" "Game" "Sorting" "$sorting"
+
+ WriteINIStr "$ConfigIniPath" "Graphics" "FullScreen" "$fullscreen"
+ WriteINIStr "$ConfigIniPath" "Graphics" "Resolution" "$resolution"
+
+ ${If} $songdir != "$INSTDIR\songs"
+ WriteINIStr "$ConfigIniPath" "Directories" "SongDir1" "$songdir"
+ ${EndIf}
+
FunctionEnd ; Settings page End
!insertmacro MUI_PAGE_FINISH
@@ -229,7 +267,7 @@ UninstPage custom un.AskDelete un.DeleteAll Function un.AskDelete
-nsDialogs::Create /NOUNLOAD 1018
+ nsDialogs::Create /NOUNLOAD 1018
${NSD_CreateLabel} 0 -195 100% 12u "$(delete_components)"
Pop $LABEL_COMPONENTS
@@ -259,7 +297,7 @@ nsDialogs::Create /NOUNLOAD 1018 nsDialogs::OnClick /NOUNLOAD $CHECKBOX_SONGS $6
-nsDialogs::Show
+ nsDialogs::Show
FunctionEnd
@@ -273,45 +311,45 @@ ${NSD_GetState} $CHECKBOX_SCORES $CB_PLAYLISTS_State ${NSD_GetState} $CHECKBOX_SONGS $CB_SONGS_State
${If} $CB_COVERS_State == "1" ; Remove covers
- RMDir /r "$INSTDIR\covers"
- SetShellVarContext current
- RMDir /r "$APPDATA\ultrastardx\covers"
- SetShellVarContext all
+ RMDir /r "$INSTDIR\covers"
+ SetShellVarContext current
+ RMDir /r "$APPDATA\ultrastardx\covers"
+ SetShellVarContext all
${EndIf}
${If} $CB_CONFIG_State == "1" ; Remove config
- SetShellVarContext current
- Delete "$APPDATA\ultrastardx\config.ini"
- SetShellVarContext all
- Delete "$INSTDIR\config.ini"
+ SetShellVarContext current
+ Delete "$APPDATA\ultrastardx\config.ini"
+ SetShellVarContext all
+ Delete "$INSTDIR\config.ini"
${EndIf}
${If} $CB_SCORES_State == "1" ; Remove highscores
- SetShellVarContext current
- Delete "$APPDATA\ultrastardx\Ultrastar.db"
- SetShellVarContext all
- Delete "$INSTDIR\Ultrastar.db"
+ SetShellVarContext current
+ Delete "$APPDATA\ultrastardx\Ultrastar.db"
+ SetShellVarContext all
+ Delete "$INSTDIR\Ultrastar.db"
${EndIf}
${If} $CB_SCREENSHOTS_State == "1" ; Remove screenshots
- RMDir /r "$INSTDIR\sreenshots"
- SetShellVarContext current
- RMDir /r "$APPDATA\ultrastardx\screenshots"
- SetShellVarContext all
+ RMDir /r "$INSTDIR\sreenshots"
+ SetShellVarContext current
+ RMDir /r "$APPDATA\ultrastardx\screenshots"
+ SetShellVarContext all
${EndIf}
${If} $CB_SCREENSHOTS_State == "1" ; Remove playlists
- RMDir /r "$INSTDIR\playlists"
- SetShellVarContext current
- RMDir /r "$APPDATA\ultrastardx\playlists"
- SetShellVarContext all
+ RMDir /r "$INSTDIR\playlists"
+ SetShellVarContext current
+ RMDir /r "$APPDATA\ultrastardx\playlists"
+ SetShellVarContext all
${EndIf}
${If} $CB_SONGS_State == "1" ; Remove songs
- RMDir /r "$INSTDIR\songs"
- SetShellVarContext current
- RMDir /r "$APPDATA\ultrastardx\songs"
- SetShellVarContext all
+ RMDir /r "$INSTDIR\songs"
+ SetShellVarContext current
+ RMDir /r "$APPDATA\ultrastardx\songs"
+ SetShellVarContext all
${EndIf}
@@ -333,39 +371,41 @@ Section $(name_section1) Section1 SetOutPath $INSTDIR
SetOverwrite try
-!include "${path_settings}\files_main_install.nsh"
+ Call DetermineUserDataDir
+
+ !include "${path_settings}\files_main_install.nsh"
-; Create Shortcuts:
-SetOutPath "$INSTDIR"
+ ; Create Shortcuts:
+ SetOutPath "$INSTDIR"
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- SetShellVarContext all
- SetOutPath "$INSTDIR"
-
- CreateDirectory "${name}"
- CreateDirectory "$SMPROGRAMS\$ICONS_GROUP"
- CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_shortcut).lnk" "$INSTDIR\${exe}.exe"
- CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_website).lnk" "http://www.ultrastardeluxe.org/"
- CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_songs).lnk" "$INSTDIR\songs"
- CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_uninstall).lnk" "$INSTDIR\Uninstall.exe"
+ SetShellVarContext all
+ SetOutPath "$INSTDIR"
+
+ CreateDirectory "${name}"
+ CreateDirectory "$SMPROGRAMS\$ICONS_GROUP"
+ CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_shortcut).lnk" "$INSTDIR\${exe}.exe"
+ CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_website).lnk" "http://www.ultrastardeluxe.org/"
+ CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_songs).lnk" "$INSTDIR\songs"
+ CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\$(sm_uninstall).lnk" "$INSTDIR\Uninstall.exe"
!insertmacro MUI_STARTMENU_WRITE_END
-; Vista Game Explorer:
-; (removed due to incompatibility with Windows 7, needs rewrite)
+ ; Vista Game Explorer:
+ ; (removed due to incompatibility with Windows 7, needs rewrite)
-; Create Uninstaller:
+ ; Create Uninstaller:
- WriteUninstaller "$INSTDIR\Uninstall.exe"
+ WriteUninstaller "$INSTDIR\Uninstall.exe"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${name}"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\ultrastardx.exe"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "InstallDir" "$INSTDIR"
- 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}"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${name}"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\ultrastardx.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "InstallDir" "$INSTDIR"
+ 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}"
- SetOutPath "$INSTDIR"
+ SetOutPath "$INSTDIR"
SectionEnd
@@ -388,14 +428,14 @@ SectionEnd Section Uninstall
- !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP
+ !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP
- !include "${path_settings}\files_main_uninstall.nsh"
+ !include "${path_settings}\files_main_uninstall.nsh"
- DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
+ DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
-; Unregister from Windows Vista Game Explorer
-; (removed due to incompatibility with Windows 7)
+ ; Unregister from Windows Vista Game Explorer
+ ; (removed due to incompatibility with Windows 7)
SectionEnd
@@ -406,59 +446,59 @@ SectionEnd !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
- !insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1)
- !insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1} $(DESC_Section2_sub1)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2} $(DESC_Section2_sub2)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub3} $(DESC_Section2_sub3)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub4} $(DESC_Section2_sub4)
-; !insertmacro MUI_DESCRIPTION_TEXT ${Section3} $(DESC_Section3) THEMES
-
- !insertmacro MUI_DESCRIPTION_TEXT ${g2Section1} $(DESC_g2Section1)
- !insertmacro MUI_DESCRIPTION_TEXT ${g2Section2} $(DESC_g2Section2)
- !insertmacro MUI_DESCRIPTION_TEXT ${g2Section3} $(DESC_g2Section3)
- !insertmacro MUI_DESCRIPTION_TEXT ${g2Section4} $(DESC_g2Section4)
- !insertmacro MUI_DESCRIPTION_TEXT ${g2Section5} $(DESC_g2Section5)
- !insertmacro MUI_DESCRIPTION_TEXT ${g2Section6} $(DESC_g2Section6)
-
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section1} $(DESC_s2_sub1_Section1)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section2} $(DESC_s2_sub1_Section2)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section3} $(DESC_s2_sub1_Section3)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section4} $(DESC_s2_sub1_Section4)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section5} $(DESC_s2_sub1_Section5)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section6} $(DESC_s2_sub1_Section6)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section7} $(DESC_s2_sub1_Section7)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section8} $(DESC_s2_sub1_Section8)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section9} $(DESC_s2_sub1_Section9)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section10} $(DESC_s2_sub1_Section10)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section11} $(DESC_s2_sub1_Section11)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section12} $(DESC_s2_sub1_Section12)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section13} $(DESC_s2_sub1_Section13)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section14} $(DESC_s2_sub1_Section14)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section15} $(DESC_s2_sub1_Section15)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section16} $(DESC_s2_sub1_Section16)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section17} $(DESC_s2_sub1_Section17)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section18} $(DESC_s2_sub1_Section18)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section19} $(DESC_s2_sub1_Section19)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section20} $(DESC_s2_sub1_Section20)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section21} $(DESC_s2_sub1_Section21)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section22} $(DESC_s2_sub1_Section22)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section23} $(DESC_s2_sub1_Section23)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section24} $(DESC_s2_sub1_Section24)
-
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section1} $(DESC_s2_sub2_Section1)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section2} $(DESC_s2_sub2_Section2)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section3} $(DESC_s2_sub2_Section3)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section4} $(DESC_s2_sub2_Section4)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section5} $(DESC_s2_sub2_Section5)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section6} $(DESC_s2_sub2_Section6)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section7} $(DESC_s2_sub2_Section7)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section8} $(DESC_s2_sub2_Section8)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section9} $(DESC_s2_sub2_Section9)
-
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub3_Section1} $(DESC_s2_sub3_Section1)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub3_Section2} $(DESC_s2_sub3_Section2)
- !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub3_Section3} $(DESC_s2_sub3_Section3)
+ !insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1)
+ !insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1} $(DESC_Section2_sub1)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2} $(DESC_Section2_sub2)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub3} $(DESC_Section2_sub3)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub4} $(DESC_Section2_sub4)
+; !insertmacro MUI_DESCRIPTION_TEXT ${Section3} $(DESC_Section3) THEMES
+
+ !insertmacro MUI_DESCRIPTION_TEXT ${g2Section1} $(DESC_g2Section1)
+ !insertmacro MUI_DESCRIPTION_TEXT ${g2Section2} $(DESC_g2Section2)
+ !insertmacro MUI_DESCRIPTION_TEXT ${g2Section3} $(DESC_g2Section3)
+ !insertmacro MUI_DESCRIPTION_TEXT ${g2Section4} $(DESC_g2Section4)
+ !insertmacro MUI_DESCRIPTION_TEXT ${g2Section5} $(DESC_g2Section5)
+ !insertmacro MUI_DESCRIPTION_TEXT ${g2Section6} $(DESC_g2Section6)
+
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section1} $(DESC_s2_sub1_Section1)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section2} $(DESC_s2_sub1_Section2)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section3} $(DESC_s2_sub1_Section3)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section4} $(DESC_s2_sub1_Section4)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section5} $(DESC_s2_sub1_Section5)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section6} $(DESC_s2_sub1_Section6)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section7} $(DESC_s2_sub1_Section7)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section8} $(DESC_s2_sub1_Section8)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section9} $(DESC_s2_sub1_Section9)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section10} $(DESC_s2_sub1_Section10)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section11} $(DESC_s2_sub1_Section11)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section12} $(DESC_s2_sub1_Section12)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section13} $(DESC_s2_sub1_Section13)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section14} $(DESC_s2_sub1_Section14)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section15} $(DESC_s2_sub1_Section15)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section16} $(DESC_s2_sub1_Section16)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section17} $(DESC_s2_sub1_Section17)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section18} $(DESC_s2_sub1_Section18)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section19} $(DESC_s2_sub1_Section19)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section20} $(DESC_s2_sub1_Section20)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section21} $(DESC_s2_sub1_Section21)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section22} $(DESC_s2_sub1_Section22)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section23} $(DESC_s2_sub1_Section23)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub1_Section24} $(DESC_s2_sub1_Section24)
+
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section1} $(DESC_s2_sub2_Section1)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section2} $(DESC_s2_sub2_Section2)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section3} $(DESC_s2_sub2_Section3)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section4} $(DESC_s2_sub2_Section4)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section5} $(DESC_s2_sub2_Section5)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section6} $(DESC_s2_sub2_Section6)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section7} $(DESC_s2_sub2_Section7)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section8} $(DESC_s2_sub2_Section8)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub2_Section9} $(DESC_s2_sub2_Section9)
+
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub3_Section1} $(DESC_s2_sub3_Section1)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub3_Section2} $(DESC_s2_sub3_Section2)
+ !insertmacro MUI_DESCRIPTION_TEXT ${s2_sub3_Section3} $(DESC_s2_sub3_Section3)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
@@ -469,95 +509,106 @@ SectionEnd !insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "Hungarian"
+!insertmacro MUI_LANGUAGE "Polish"
!insertmacro MUI_RESERVEFILE_LANGDLL
!include "${path_languages}\*.nsh"
;!addPluginDir "${path_plugins}\"
-
+
Function bgmusic
- File /oname=$PLUGINSDIR\loop.wav .\dependencies\loop.wav
- BGImage::Sound /NOUNLOAD /LOOP $PLUGINSDIR\loop.wav
+ File /oname=$PLUGINSDIR\loop.wav .\dependencies\loop.wav
+ BGImage::Sound /NOUNLOAD /LOOP $PLUGINSDIR\loop.wav
FunctionEnd
Function .onGUIEnd
- BGImage::Sound /STOP
+ BGImage::Sound /STOP
FunctionEnd
Function .onInit
-var /GLOBAL version
-StrCpy $version "1.1beta"
+ ${UAC.I.Elevate.AdminOnly}
+ var /GLOBAL version
+ StrCpy $version "1.1RC"
- System::Call 'kernel32::CreateMutexA(i 0, i 0, t "USdx Installer.exe") ?e'
- Pop $R0
+ System::Call 'kernel32::CreateMutexA(i 0, i 0, t "USdx Installer.exe") ?e'
- StrCmp $R0 0 +3
- MessageBox MB_OK|MB_ICONEXCLAMATION $(oninit_running)
- Abort
+ Pop $R0
- ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${name}" 'DisplayVersion'
+ StrCmp $R0 0 +3
+ MessageBox MB_OK|MB_ICONEXCLAMATION $(oninit_running)
+ Abort
- ${If} $R0 == $version
- MessageBox MB_YESNO|MB_ICONEXCLAMATION \
- "${name} v.$R0 $(oninit_alreadyinstalled). $\n$\n $(oninit_installagain)" \
- IDYES continue
- Abort
- ${EndIf}
+ ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${name}" 'DisplayVersion'
- ReadRegStr $R1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${name}" 'UninstallString'
- StrCmp $R1 "" done
+ ${If} $R0 == $version
+ MessageBox MB_YESNO|MB_ICONEXCLAMATION \
+ "${name} v.$R0 $(oninit_alreadyinstalled). $\n$\n $(oninit_installagain)" \
+ IDYES continue
+ Abort
+ ${EndIf}
+
+ ReadRegStr $R1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${name}" 'UninstallString'
+ StrCmp $R1 "" done
- ${If} $R0 != $version
- MessageBox MB_YESNO|MB_ICONEXCLAMATION \
- "${name} v.$R0 $(oninit_alreadyinstalled). $\n$\n $(oninit_updateusdx) v.$R0 -> v.${version}" \
- IDYES continue
- Abort
- ${EndIf}
+ ${If} $R0 != $version
+ MessageBox MB_YESNO|MB_ICONEXCLAMATION \
+ "${name} v.$R0 $(oninit_alreadyinstalled). $\n$\n $(oninit_updateusdx) v.$R0 -> v.${version}" \
+ IDYES continue
+ Abort
+ ${EndIf}
continue:
- ReadRegStr $R2 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${name}" 'UninstallString'
- MessageBox MB_YESNO|MB_ICONEXCLAMATION "$(oninit_uninstall)" IDNO done
- ExecWait '"$R2" _?=$INSTDIR'
+ ReadRegStr $R2 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${name}" 'UninstallString'
+ MessageBox MB_YESNO|MB_ICONEXCLAMATION "$(oninit_uninstall)" IDNO done
+ ExecWait '"$R2" _?=$INSTDIR'
done:
+ !insertmacro MUI_LANGDLL_DISPLAY
- !insertmacro MUI_LANGDLL_DISPLAY
-
- !insertmacro INSTALLOPTIONS_EXTRACT_AS ".\settings\settings-1031.ini" "Settings-1031"
- !insertmacro INSTALLOPTIONS_EXTRACT_AS ".\settings\settings-1033.ini" "Settings-1033"
- !insertmacro INSTALLOPTIONS_EXTRACT_AS ".\settings\settings-1038.ini" "Settings-1038"
+ !insertmacro INSTALLOPTIONS_EXTRACT_AS ".\settings\settings-1031.ini" "Settings-1031"
+ !insertmacro INSTALLOPTIONS_EXTRACT_AS ".\settings\settings-1033.ini" "Settings-1033"
+ !insertmacro INSTALLOPTIONS_EXTRACT_AS ".\settings\settings-1038.ini" "Settings-1038"
+ !insertmacro INSTALLOPTIONS_EXTRACT_AS ".\settings\settings-1045.ini" "Settings-1045"
FunctionEnd
Function un.onInit
- ${nsProcess::FindProcess} "USdx.exe" $R0
- StrCmp $R0 0 0 +2
- MessageBox MB_YESNO|MB_ICONEXCLAMATION '$(oninit_closeusdx)' IDYES closeit IDNO end
+ ${nsProcess::FindProcess} "USdx.exe" $R0
+ StrCmp $R0 0 0 +2
+ MessageBox MB_YESNO|MB_ICONEXCLAMATION '$(oninit_closeusdx)' IDYES closeit IDNO end
- closeit:
- ${nsProcess::KillProcess} "USdx.exe" $R0
- goto continue
+closeit:
+ ${nsProcess::KillProcess} "USdx.exe" $R0
+ goto continue
- ${nsProcess::FindProcess} "ultrastardx.exe" $R0
- StrCmp $R0 0 0 +2
- MessageBox MB_YESNO|MB_ICONEXCLAMATION '$(oninit_closeusdx)' IDYES closeusdx IDNO end
+ ${nsProcess::FindProcess} "ultrastardx.exe" $R0
+ StrCmp $R0 0 0 +2
+ MessageBox MB_YESNO|MB_ICONEXCLAMATION '$(oninit_closeusdx)' IDYES closeusdx IDNO end
- closeusdx:
+closeusdx:
${nsProcess::KillProcess} "ultrastardx.exe" $R0
- goto continue
+ goto continue
- end:
- ${nsProcess::Unload}
- Abort
+end:
+ ${nsProcess::Unload}
+ Abort
- continue:
- !insertmacro MUI_LANGDLL_DISPLAY
+continue:
+ !insertmacro MUI_LANGDLL_DISPLAY
+
+FunctionEnd
+Function .onInstFailed
+ ${UAC.Unload}
+FunctionEnd
+
+Function .onInstSuccess
+ ${UAC.Unload}
FunctionEnd
diff --git a/us_maker_edition/installer/dependencies/plugins/UAC.dll b/us_maker_edition/installer/dependencies/plugins/UAC.dll Binary files differnew file mode 100644 index 00000000..edf21305 --- /dev/null +++ b/us_maker_edition/installer/dependencies/plugins/UAC.dll diff --git a/us_maker_edition/installer/languages/Polish.nsh b/us_maker_edition/installer/languages/Polish.nsh new file mode 100644 index 00000000..00d04d8e --- /dev/null +++ b/us_maker_edition/installer/languages/Polish.nsh @@ -0,0 +1,131 @@ +; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~
+; UltraStar Deluxe Installer - Language file: Polish
+; ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~ ~+~
+
+LangString abort_install ${LANG_POLISH} "Czy jesteś pewien że chcesz zatrzymać instalację ?"
+LangString abort_uninstall ${LANG_POLISH} "Czy jesteś pewien że chcesz zatrzymać odinstalowywanie ?"
+LangString oninit_running ${LANG_POLISH} "Instajacja jest już uruchomiona."
+LangString oninit_installagain ${LANG_POLISH} "Jesteś pewien że chcesz zainstalować jeszcze raz ?"
+LangString oninit_alreadyinstalled ${LANG_POLISH} "Jest obecnie zainstalowany"
+LangString oninit_closeusdx ${LANG_POLISH} "nie może być odinstalowany dopóki jest uruchomiony! Czy chcesz zamknąć go ?"
+LangString oninit_updateusdx ${LANG_POLISH} "Do you want to update the installation from:"
+LangString oninit_uninstall ${LANG_POLISH} "Czy chcesz odinstalować starą wersję ? (rekomendowane)"
+
+LangString update_connect ${LANG_POLISH} "Sprawdź połączenie z insternetm i sprawdź nowe wersje"
+LangString button_next ${LANG_POLISH} "Dalej >"
+LangString button_close ${LANG_POLISH} "Zamknij"
+LangString update_information ${LANG_POLISH} "Możesz sprawdzić czy jest nowsza wersja 'UltraStar Deluxe'. Aby to zrobić połącz się z internetm. Jeśli nowa wersja zostanie znaleziona, będzie można ją zainstalować."
+
+LangString delete_components ${LANG_POLISH} "Takżę usunąć następujące składniki:"
+LangString delete_covers ${LANG_POLISH} "Okładka?"
+LangString delete_highscores ${LANG_POLISH} "Wyniki?"
+LangString delete_config ${LANG_POLISH} "Koniguracja?"
+LangString delete_screenshots ${LANG_POLISH} "Zrzuty ekranów?"
+LangString delete_playlists ${LANG_POLISH} "Playlisty?"
+LangString delete_songs ${LANG_POLISH} "Usunąć piosenki? UWAGA: Wszystkie pliki w katalogu InstallationDir\songs będą usunięte(!)"
+
+LangString update_check_older ${LANG_POLISH} "Twoja werjsa $R0 jest przestarzała. Nowa wersja $1 UltraStar'a Deluxe jest już dostępna. Czy chcesz dokonać aktualizacji ?"
+LangString update_check_equal ${LANG_POLISH} "Obecnie zainstalowana wersja $R0 jest najbardziej aktualna. Nie ma nowszych wersji."
+LangString update_check_newer ${LANG_POLISH} "Twoja obecnie zainstalowana wersja $R0 jest nowsza niż $\n$\robecnie wydana wersja $1 UltraStar'a Deluxe. Nie ma nowszych aktualizacji."
+LangString update_check_failed ${LANG_POLISH} "Poszukiwanie nowyszch wersji zakończyło się błędem. Czy chcesz odwiedzić stronę główną i sprawdzić ręcznie ?"
+
+; Welcome Page:
+
+LangString page_welcome_title_update ${LANG_POLISH} "Witamy w kreatorze aktualizacji programu UltraStar Deluxe"
+LangString page_welcome_txt_update ${LANG_POLISH} "Ten kreator przeprowadzi cię przez proces aktualizacji gry UltraStar Deluxe. UltraStar Deluxe jest bezpłatną i Otwartą grą Karaoke, którą można porównać z SingStar'em.$\n$\r$\n$\rZespół UltraStar Deluxe życzy miłej zabawy.$\n$\rStrona projektu: http://www.ultrastardeluxe.org$\n$\rForum wsparcia: http://forum.ultrastardeluxe.org"
+LangString page_welcome_title ${LANG_POLISH} "Witamy w kreatorze instalacji programu UltraStar Deluxe"
+LangString page_welcome_txt ${LANG_POLISH} "Ten kreator przeprowadzi cię przez proces instalacji gry UltraStar Deluxe. UltraStar Deluxe jest bezpłatną i Otwartą grą Karaoke, którą można porównać z SingStar'em.$\n$\r$\n$\rZespół UltraStar Deluxe życzy miłej zabawy.$\n$\rStrona projektu: http://www.ultrastardeluxe.org$\n$\rForum wsparcia: http://forum.ultrastardeluxe.org"
+LangString page_un_welcome_title ${LANG_POLISH} "Witamy w kreatorze deinstalacji gry UltraStar Deluxe"
+
+; Components Page:
+
+LangString page_components_info ${LANG_POLISH} "Najedź myszką na komponent, aby zobaczyć szczegóły"
+
+; Custom Page
+
+LangString page_settings_fullscreen ${LANG_POLISH} "Tryb Pełnoekranowy"
+LangString page_settings_subtitle ${LANG_POLISH} "Wybierz ustawienia dogodne dla Ciebie."
+
+; Finish Page:
+
+LangString page_finish_txt ${LANG_POLISH} "UltraStar Deluxe został poprawnie zainstalowany na twoim komputerze.$\n$\r$\n$\rOdwiedź Naszą stronę aby otrzymać najnowsze wiadomości i aktualizację."
+LangString page_finish_linktxt ${LANG_POLISH} "Strona Projektu"
+LangString page_finish_desktop ${LANG_POLISH} "Czy stwórzyć skrót na Pulpicie ?"
+
+; Start Menu and Shortcuts
+
+LangString sm_shortcut ${LANG_POLISH} "Graj w UltraStar Deluxe"
+LangString sm_uninstall ${LANG_POLISH} "Odinstaluj"
+LangString sm_website ${LANG_POLISH} "Strona Projektu"
+LangString sm_license ${LANG_POLISH} "Licencja"
+LangString sm_readme ${LANG_POLISH} "Readme"
+LangString sm_songs ${LANG_POLISH} "Piosenki"
+LangString sm_documentation ${LANG_POLISH} "Dokumentacja"
+
+LangString sc_play ${LANG_POLISH} "Graj"
+LangString sc_desktop ${LANG_POLISH} "Czy stwórzyć skrót na Pulpicie ?"
+
+; Sections and SectionGroups
+
+LangString name_section1 ${LANG_POLISH} "Główne komponenty"
+LangString name_section2 ${LANG_POLISH} "Piosenki"
+LangString name_s2_sub1 ${LANG_POLISH} "Jonathan Coulton"
+LangString name_s2_sub2 ${LANG_POLISH} "Shearer"
+LangString name_s2_sub3 ${LANG_POLISH} "Wise Guys"
+LangString name_s2_sub4 ${LANG_POLISH} "Pornophonique"
+
+LangString DESC_Section1 ${LANG_POLISH} "To są podstawowe pliki potrzebe przez UltraStar Deluxe"
+LangString DESC_Section2 ${LANG_POLISH} "Możesz wybrać które piosenki chcesz ściągnąć (Wymagane połączenie z internetem!)"
+LangString DESC_Section2_sub1 ${LANG_POLISH} "Możesz wybrać które piosenki Jonathan Coulton (CC by-nc 3.0) chcesz zainstalować."
+LangString DESC_Section2_sub2 ${LANG_POLISH} "Możesz wybrać które piosenki Shearer (CC by-nc-sa 2.0 / 3.0) chcesz zainstalować."
+LangString DESC_Section2_sub3 ${LANG_POLISH} "Możesz wybrać które piosenki Wise Guys chcesz zainstalować."
+LangString DESC_Section2_sub4 ${LANG_POLISH} "Możesz wybrać które piosenki Pornophonique chcesz zainstalować."
+
+LangString DESC_g2Section2 ${LANG_POLISH} "Ściągnij piosenkę 'Dead Smiling Pirates - I 18' (CC by-nc-nd 2.5)."
+LangString DESC_g2Section3 ${LANG_POLISH} "Ściągnij piosenkę 'Joshua Morin - On The Run' (CC by-sa 2.5)."
+LangString DESC_g2Section4 ${LANG_POLISH} "Ściągnij piosenkę 'Pornophonique - Space Invaders' (CC by-nc-nd 2.0)."
+LangString DESC_g2Section5 ${LANG_POLISH} "Ściągnij piosenkę 'Steven Dunston - Northern Star' (CC by-nc-sa 2.5)."
+LangString DESC_g2Section1 ${LANG_POLISH} "Ściągnij piosenkę 'Bodo Wartke - Liebeslied (Love Song)'."
+LangString DESC_g2Section6 ${LANG_POLISH} "Ściągnij piosenkę 'Pornophonique - Space Invaders (Karaoke)' (CC by-nc-nd 2.0)."
+
+LangString DESC_s2_sub1_Section1 ${LANG_POLISH} "Ściągnij piosenkę 'Monkey Shines'."
+LangString DESC_s2_sub1_Section2 ${LANG_POLISH} "Ściągnij piosenkę 'I Crush Everything'."
+LangString DESC_s2_sub1_Section3 ${LANG_POLISH} "Ściągnij piosenkę 'Not About You'."
+LangString DESC_s2_sub1_Section4 ${LANG_POLISH} "Ściągnij piosenkę 'Mr. Fancy Pants'."
+LangString DESC_s2_sub1_Section5 ${LANG_POLISH} "Ściągnij piosenkę 'Big Bad World One'."
+LangString DESC_s2_sub1_Section6 ${LANG_POLISH} "Ściągnij piosenkę 'Flickr [incl. video]'."
+LangString DESC_s2_sub1_Section7 ${LANG_POLISH} "Ściągnij piosenkę 'My Beige Bear'."
+LangString DESC_s2_sub1_Section8 ${LANG_POLISH} "Ściągnij piosenkę 'The Future Soon'."
+LangString DESC_s2_sub1_Section9 ${LANG_POLISH} "Ściągnij piosenkę 'Ikea'."
+LangString DESC_s2_sub1_Section10 ${LANG_POLISH} "Ściągnij piosenkę 'Furry Old Lobster'."
+LangString DESC_s2_sub1_Section11 ${LANG_POLISH} "Ściągnij piosenkę 'Code Monkey [incl. video]'."
+LangString DESC_s2_sub1_Section12 ${LANG_POLISH} "Ściągnij piosenkę 'I´m Your Moon'."
+LangString DESC_s2_sub1_Section13 ${LANG_POLISH} "Ściągnij piosenkę 'First Of May'."
+LangString DESC_s2_sub1_Section14 ${LANG_POLISH} "Ściągnij piosenkę 'Dance, Soterios Johnson, Dance'."
+LangString DESC_s2_sub1_Section15 ${LANG_POLISH} "Ściągnij piosenkę 'A Talk With George'."
+LangString DESC_s2_sub1_Section16 ${LANG_POLISH} "Ściągnij piosenkę 'Creepy Doll [incl. video]'."
+LangString DESC_s2_sub1_Section17 ${LANG_POLISH} "Ściągnij piosenkę 'That Spells DNA'."
+LangString DESC_s2_sub1_Section18 ${LANG_POLISH} "Ściągnij piosenkę 'When You Go'."
+LangString DESC_s2_sub1_Section19 ${LANG_POLISH} "Ściągnij piosenkę 'Better'."
+LangString DESC_s2_sub1_Section20 ${LANG_POLISH} "Ściągnij piosenkę 'Shop Vac'."
+LangString DESC_s2_sub1_Section21 ${LANG_POLISH} "Ściągnij piosenkę 'I Feel Fantastic'."
+LangString DESC_s2_sub1_Section22 ${LANG_POLISH} "Ściągnij piosenkę 'Re: Your Brains'."
+LangString DESC_s2_sub1_Section23 ${LANG_POLISH} "Ściągnij piosenkę 'Skullcrusher Mountain'."
+LangString DESC_s2_sub1_Section24 ${LANG_POLISH} "Ściągnij piosenkę 'Chiron Beta Prime [incl. video]'."
+
+LangString DESC_s2_sub2_Section1 ${LANG_POLISH} "Ściągnij piosenkę '69'."
+LangString DESC_s2_sub2_Section2 ${LANG_POLISH} "Ściągnij piosenkę '69 (Karaoke)'."
+LangString DESC_s2_sub2_Section3 ${LANG_POLISH} "Ściągnij piosenkę 'Can't stop it'."
+LangString DESC_s2_sub2_Section4 ${LANG_POLISH} "Ściągnij piosenkę 'Can't stop it (Karaoke)'."
+LangString DESC_s2_sub2_Section5 ${LANG_POLISH} "Ściągnij piosenkę 'In My Hand'."
+LangString DESC_s2_sub2_Section6 ${LANG_POLISH} "Ściągnij piosenkę 'Man Song'."
+LangString DESC_s2_sub2_Section7 ${LANG_POLISH} "Ściągnij piosenkę 'Man Song (Karaoke)'."
+LangString DESC_s2_sub2_Section8 ${LANG_POLISH} "Ściągnij piosenkę 'Stay with me'."
+LangString DESC_s2_sub2_Section9 ${LANG_POLISH} "Ściągnij piosenkę 'Stay with me (Karaoke)'."
+
+LangString DESC_s2_sub3_Section1 ${LANG_POLISH} "Ściągnij piosenkę 'Lebendig und kräftig und schärfer'."
+LangString DESC_s2_sub3_Section2 ${LANG_POLISH} "Ściągnij piosenkę 'Mensch, wo bist du?'."
+LangString DESC_s2_sub3_Section3 ${LANG_POLISH} "Ściągnij piosenkę 'Mensch, wo bist du? (Karaoke)'."
+
+; Optional Themes
+; (not available)
\ No newline at end of file diff --git a/us_maker_edition/installer/settings/files_main_install.nsh b/us_maker_edition/installer/settings/files_main_install.nsh index a79d4991..10afc6f6 100644 --- a/us_maker_edition/installer/settings/files_main_install.nsh +++ b/us_maker_edition/installer/settings/files_main_install.nsh @@ -33,19 +33,19 @@ CreateDirectory $INSTDIR\plugins CreateDirectory $INSTDIR\covers
CreateDirectory $INSTDIR\songs
-${If} ${AtLeastWinVista}
+${If} $UseAppData == true
; Create folders in appdata for current user
SetShellVarContext current
- CreateDirectory $APPDATA\ultrastardx
- CreateDirectory $APPDATA\ultrastardx\screenshots
- CreateDirectory $APPDATA\ultrastardx\playlists
+ CreateDirectory $UserDataPath
+ CreateDirectory $UserDataPath\screenshots
+ CreateDirectory $UserDataPath\playlists
SetOutPath "$INSTDIR"
- CreateShortCut "screenshots.lnk" "$APPDATA\ultrastardx\screenshots"
- CreateShortCut "playlists.lnk" "$APPDATA\ultrastardx\playlists"
- CreateShortCut "config.ini.lnk" "$APPDATA\ultrastardx\config.ini"
+ CreateShortCut "screenshots.lnk" "$UserDataPath\screenshots"
+ CreateShortCut "playlists.lnk" "$UserDataPath\playlists"
+ CreateShortCut "config.ini.lnk" "$ConfigIniPath"
SetShellVarContext all
${EndIf}
diff --git a/us_maker_edition/installer/settings/settings-1031.ini b/us_maker_edition/installer/settings/settings-1031.ini index 7f9573a1..9a6b4b71 100644 --- a/us_maker_edition/installer/settings/settings-1031.ini +++ b/us_maker_edition/installer/settings/settings-1031.ini @@ -53,7 +53,7 @@ Bottom=39 [Field 6]
Type=DropList
-ListItems=Catalan|Croatian|Dutch|English|Euskara|Finnish|French|German|Greek|Icelandic|Italian|Japanese|Luxembourgish|Portuguese|Spanish|Swedish
+ListItems=Catalan|Croatian|Czech|Danish|Dutch|English|Euskara|Finnish|French|German|Greek|Hungarian|Icelandic|Italian|Japanese|Luxembourgish|Norwegian|Polish|Portuguese|Serbian|Slovak|Slovenian|Spanish|Swedish
State=German
Left=62
Right=152
diff --git a/us_maker_edition/installer/settings/settings-1033.ini b/us_maker_edition/installer/settings/settings-1033.ini index 5e6b6055..7176d229 100644 --- a/us_maker_edition/installer/settings/settings-1033.ini +++ b/us_maker_edition/installer/settings/settings-1033.ini @@ -8,7 +8,7 @@ Left=1 Top=1
Right=300
Bottom=140
-Text=UltraStar Deluxe Konfiguration (Optional)
+Text=UltraStar Deluxe Configuration (optional)
[Field 1]
Type=Label
@@ -53,8 +53,8 @@ Bottom=39 [Field 6]
Type=DropList
-ListItems=Catalan|Croatian|Dutch|English|Euskara|Finnish|French|German|Greek|Icelandic|Italian|Japanese|Luxembourgish|Portuguese|Spanish|Swedish
-State=German
+ListItems=Catalan|Croatian|Czech|Danish|Dutch|English|Euskara|Finnish|French|German|Greek|Hungarian|Icelandic|Italian|Japanese|Luxembourgish|Norwegian|Polish|Portuguese|Serbian|Slovak|Slovenian|Spanish|Swedish
+State=English
Left=62
Right=152
Top=45
diff --git a/us_maker_edition/installer/settings/settings-1038.ini b/us_maker_edition/installer/settings/settings-1038.ini index 62994a1f..f2ef973a 100644 --- a/us_maker_edition/installer/settings/settings-1038.ini +++ b/us_maker_edition/installer/settings/settings-1038.ini @@ -8,7 +8,7 @@ Left=1 Top=1
Right=300
Bottom=140
-Text=UltraStar Deluxe Konfiguration (Optional)
+Text=UltraStar Deluxe Configuration (optional)
[Field 1]
Type=Label
@@ -53,8 +53,8 @@ Bottom=39 [Field 6]
Type=DropList
-ListItems=Catalan|Croatian|Dutch|English|Euskara|Finnish|French|German|Greek|Icelandic|Italian|Japanese|Luxembourgish|Portuguese|Spanish|Swedish
-State=German
+ListItems=Catalan|Croatian|Czech|Danish|Dutch|English|Euskara|Finnish|French|German|Greek|Hungarian|Icelandic|Italian|Japanese|Luxembourgish|Norwegian|Polish|Portuguese|Serbian|Slovak|Slovenian|Spanish|Swedish
+State=Hungarian
Left=62
Right=152
Top=45
diff --git a/us_maker_edition/installer/settings/settings-1045.ini b/us_maker_edition/installer/settings/settings-1045.ini new file mode 100644 index 00000000..e59f0227 --- /dev/null +++ b/us_maker_edition/installer/settings/settings-1045.ini @@ -0,0 +1,161 @@ +[Settings]
+NumFields=19
+
+; Background Group of Settings Box
+[Field 17]
+Type=GroupBox
+Left=1
+Top=1
+Right=300
+Bottom=140
+Text=Konfiguracja UltraStar Deluxe (opcjonalnie)
+
+[Field 1]
+Type=Label
+Text="Tryb Pełnoekranowy:"
+Left=5
+Right=58
+Top=30
+Bottom=38
+
+[Field 2]
+Type=Label
+Text="Język:"
+Left=5
+Right=58
+Top=47
+Bottom=55
+
+[Field 3]
+Type=Label
+Text="Rozdzielczość:"
+Left=5
+Right=58
+Top=64
+Bottom=72
+
+[Field 4]
+Type=Label
+Text="Zakładki:"
+Left=5
+Right=58
+Top=82
+Bottom=90
+
+[Field 5]
+Type=DropList
+ListItems=On|Off
+State=On
+Left=62
+Right=152
+Top=28
+Bottom=39
+
+[Field 6]
+Type=DropList
+ListItems=Catalan|Croatian|Czech|Danish|Dutch|English|Euskara|Finnish|French|German|Greek|Hungarian|Icelandic|Italian|Japanese|Luxembourgish|Norwegian|Polish|Portuguese|Serbian|Slovak|Slovenian|Spanish|Swedish
+State=Polish
+Left=62
+Right=152
+Top=45
+Bottom=56
+
+[Field 7]
+Type=DropList
+ListItems=320x200|640x480|800x600|1024x768|1280x1024|1440x900|1680x1050|1920x1200
+State=800x600
+Left=62
+Right=152
+Top=62
+Bottom=73
+
+[Field 8]
+Type=DropList
+ListItems=On|Off
+State=Off
+Left=62
+Right=152
+Top=81
+Bottom=91
+
+[Field 9]
+Type=Label
+Text=Czy uruchamiać grę w oknie czy na pełnym ekranie?
+Left=157
+Right=300
+Top=30
+Bottom=38
+
+[Field 10]
+Type=Label
+Text=Wszystkie ustawienia można później zmienić w grze.
+Left=5
+Right=246
+Top=14
+Bottom=23
+
+[Field 11]
+Type=Label
+Text=Dostosuj język GUI.
+Left=158
+Right=300
+Top=46
+Bottom=55
+
+[Field 12]
+Type=Label
+Text=Wybierz rozdzieczość ekrany/okna.
+Left=157
+Right=300
+Top=64
+Bottom=72
+
+[Field 13]
+Type=Label
+Text=Czy chcesz aby piosenki zostały pogrupowane na zakładki ?
+Left=158
+Right=300
+Top=78
+Bottom=94
+
+[Field 14]
+Type=Label
+Left=5
+Top=100
+Right=58
+Bottom=109
+Text=Sortowanie:
+
+[Field 15]
+Type=DropList
+Left=62
+Top=100
+Right=152
+Bottom=111
+State=Artist
+ListItems=Edition|Genre|Language|Folder|Title|Artist
+
+[Field 16]
+Type=Label
+Left=157
+Top=101
+Right=300
+Bottom=110
+Text=Wybierz kryteria sortowania piosenek.
+
+[Field 18]
+Type=DirRequest
+Left=5
+Top=121
+Right=152
+Bottom=132
+Text=SongDir
+State=
+
+[Field 19]
+Type=Label
+Left=158
+Top=119
+Right=295
+Bottom=134
+Text=Wybierz katalog w którym znajdują się piosenki?
\ No newline at end of file diff --git a/us_maker_edition/installer/settings/variables.nsh b/us_maker_edition/installer/settings/variables.nsh index 5d79e115..43d19a7f 100644 --- a/us_maker_edition/installer/settings/variables.nsh +++ b/us_maker_edition/installer/settings/variables.nsh @@ -4,7 +4,7 @@ ; Product Information:
-!define version "1.1beta" ; Make sure version is also set in onInit
+!define version "1.1RC" ; Make sure version is also set in onInit
!define name "UltraStar Deluxe"
|