use Modern UI for multilanguage installer
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 9.4 KiB |
+467
-363
@@ -1,420 +1,524 @@
|
|||||||
; NSIS Install Script
|
; NSIS Install Script
|
||||||
; created by
|
; created by
|
||||||
; BBF
|
; BBF, GlennMaynard, ChrisDanford
|
||||||
; I use the following command to create the installer:
|
; I use the following command to create the installer:
|
||||||
; D:\Program Files\NSIS>makensis.exe /v3 /cd "m:\Dev Projects\CVS\stepmania\stepmania.nsi"
|
|
||||||
;
|
|
||||||
; NOTE: this .NSI script is designed for NSIS v2.0+
|
; NOTE: this .NSI script is designed for NSIS v2.0+
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
;Includes
|
||||||
|
|
||||||
; Product info is in a separate file so that people will change
|
!include "MUI.nsh" ; Modern UI
|
||||||
; the version info for the installer and the program at the same time.
|
|
||||||
; It's confusing when the installer and shortcut text doesn't match the
|
|
||||||
; title screen version text.
|
|
||||||
!include "src\ProductInfo.inc"
|
|
||||||
|
|
||||||
!system "echo This may take a moment ..." ignore
|
; Product info is in a separate file so that people will change
|
||||||
!system "utils\upx Program\*.exe Program\*.dll" ignore
|
; the version info for the installer and the program at the same time.
|
||||||
|
; It's confusing when the installer and shortcut text doesn't match the
|
||||||
|
; title screen version text.
|
||||||
|
!include "src\ProductInfo.inc"
|
||||||
|
|
||||||
Name "${PRODUCT_NAME_VER}"
|
;--------------------------------
|
||||||
OutFile "${PRODUCT_NAME_VER}.exe"
|
;General
|
||||||
|
|
||||||
; Don't say "StepMania 3.9 Setup"; just say "StepMania 3.9".
|
!system "echo This may take a moment ..." ignore
|
||||||
Caption "${PRODUCT_NAME_VER}"
|
!system "utils\upx Program\*.exe Program\*.dll" ignore
|
||||||
UninstallCaption "${PRODUCT_NAME_VER}"
|
|
||||||
|
|
||||||
; Some default compiler settings (uncomment and change at will):
|
Name "${PRODUCT_NAME_VER}"
|
||||||
SetCompress auto ; (can be off or force)
|
OutFile "${PRODUCT_NAME_VER}.exe"
|
||||||
SetDatablockOptimize on ; (can be off)
|
|
||||||
CRCCheck on ; (can be off)
|
|
||||||
AutoCloseWindow true ; (can be true for the window go away automatically at end)
|
|
||||||
; ShowInstDetails hide ; (can be show to have them shown, or nevershow to disable)
|
|
||||||
SetDateSave on ; (can be on to have files restored to their orginal date)
|
|
||||||
InstallDir "$PROGRAMFILES\${PRODUCT_ID}"
|
|
||||||
InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\${PRODUCT_NAME}\${PRODUCT_ID}" ""
|
|
||||||
; DirShow show ; (make this hide to not let the user change it)
|
|
||||||
DirText "${PRODUCT_NAME_VER}"
|
|
||||||
InstallColors /windows
|
|
||||||
InstProgressFlags smooth
|
|
||||||
|
|
||||||
PageEx directory
|
Caption "${PRODUCT_NAME_VER}"
|
||||||
Caption " "
|
UninstallCaption "${PRODUCT_NAME_VER}"
|
||||||
PageExEnd
|
|
||||||
Page instfiles
|
|
||||||
|
|
||||||
|
; Some default compiler settings (uncomment and change at will):
|
||||||
|
SetCompress auto ; (can be off or force)
|
||||||
|
SetDatablockOptimize on ; (can be off)
|
||||||
|
CRCCheck on ; (can be off)
|
||||||
|
AutoCloseWindow true ; (can be true for the window go away automatically at end)
|
||||||
|
; ShowInstDetails hide ; (can be show to have them shown, or nevershow to disable)
|
||||||
|
SetDateSave on ; (can be on to have files restored to their orginal date)
|
||||||
|
InstallDir "$PROGRAMFILES\${PRODUCT_ID}"
|
||||||
|
InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\${PRODUCT_NAME}\${PRODUCT_ID}" ""
|
||||||
|
; DirShow show ; (make this hide to not let the user change it)
|
||||||
|
DirText "${PRODUCT_NAME_VER}"
|
||||||
|
InstallColors /windows
|
||||||
|
InstProgressFlags smooth
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
;Interface Settings
|
||||||
|
|
||||||
|
!define MUI_HEADERIMAGE
|
||||||
|
!define MUI_HEADERIMAGE_BITMAP "installer-header.bmp"
|
||||||
|
!define MUI_ABORTWARNING
|
||||||
|
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\win-install.ico"
|
||||||
|
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\win-uninstall.ico"
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
;Language Selection Dialog Settings
|
||||||
|
|
||||||
|
;Remember the installer language
|
||||||
|
!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
|
||||||
|
!define MUI_LANGDLL_REGISTRY_KEY "Software\${PRODUCT_NAME}\${PRODUCT_ID}"
|
||||||
|
!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
;Pages
|
||||||
|
|
||||||
|
;!insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt"
|
||||||
|
;!insertmacro MUI_PAGE_COMPONENTS
|
||||||
|
!insertmacro MUI_PAGE_DIRECTORY
|
||||||
|
!insertmacro MUI_PAGE_INSTFILES
|
||||||
|
|
||||||
|
!insertmacro MUI_UNPAGE_CONFIRM
|
||||||
|
!insertmacro MUI_UNPAGE_INSTFILES
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
;Languages
|
||||||
|
|
||||||
|
!insertmacro MUI_LANGUAGE "English" # first language is the default language
|
||||||
|
!insertmacro MUI_LANGUAGE "French"
|
||||||
|
!insertmacro MUI_LANGUAGE "German"
|
||||||
|
!insertmacro MUI_LANGUAGE "Spanish"
|
||||||
|
;!insertmacro MUI_LANGUAGE "SimpChinese"
|
||||||
|
;!insertmacro MUI_LANGUAGE "TradChinese"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Japanese"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Korean"
|
||||||
|
!insertmacro MUI_LANGUAGE "Italian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Dutch"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Danish"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Swedish"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Norwegian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Finnish"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Greek"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Russian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Portuguese"
|
||||||
|
;!insertmacro MUI_LANGUAGE "PortugueseBR"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Polish"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Ukrainian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Czech"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Slovak"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Croatian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Bulgarian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Hungarian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Thai"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Romanian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Latvian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Macedonian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Estonian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Turkish"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Lithuanian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Catalan"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Slovenian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Serbian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "SerbianLatin"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Arabic"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Farsi"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Hebrew"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Indonesian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Mongolian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Luxembourgish"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Albanian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Breton"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Belarusian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Icelandic"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Malay"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Bosnian"
|
||||||
|
;!insertmacro MUI_LANGUAGE "Kurdish"
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
;Reserve Files
|
||||||
|
|
||||||
|
;These files should be inserted before other files in the data block
|
||||||
|
;Keep these lines before any File command
|
||||||
|
;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA)
|
||||||
|
|
||||||
|
!insertmacro MUI_RESERVEFILE_LANGDLL
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
;Installer Sections
|
||||||
|
|
||||||
|
Section "Main Section" SecMain
|
||||||
|
|
||||||
|
; write out uninstaller
|
||||||
|
SetOutPath "$INSTDIR"
|
||||||
|
AllowSkipFiles off
|
||||||
|
SetOverwrite on
|
||||||
|
WriteUninstaller "$INSTDIR\uninstall.exe"
|
||||||
|
|
||||||
|
; add registry entries
|
||||||
|
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\${PRODUCT_NAME}\${PRODUCT_ID}" "" "$INSTDIR"
|
||||||
|
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_ID}" "DisplayName" "${PRODUCT_ID} (remove only)"
|
||||||
|
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_ID}" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
||||||
|
|
||||||
|
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\Applications\smpackage.exe\shell\open\command" "" '"$INSTDIR\Program\smpackage.exe" "%1"'
|
||||||
|
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile" "" "SMZIP package"
|
||||||
|
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile\DefaultIcon" "" "$INSTDIR\Program\smpackage.exe,0"
|
||||||
|
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile\shell\open\command" "" '"$INSTDIR\Program\smpackage.exe" "%1"'
|
||||||
|
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\.smzip" "" "smzipfile"
|
||||||
|
|
||||||
|
; Begin copying files
|
||||||
|
CreateDirectory "$INSTDIR\Announcers"
|
||||||
|
SetOutPath "$INSTDIR\Announcers"
|
||||||
|
File "Announcers\instructions.txt"
|
||||||
|
|
||||||
|
CreateDirectory "$INSTDIR\BGAnimations"
|
||||||
|
SetOutPath "$INSTDIR\BGAnimations"
|
||||||
|
File "BGAnimations\instructions.txt"
|
||||||
|
|
||||||
|
CreateDirectory "$INSTDIR\CDTitles"
|
||||||
|
SetOutPath "$INSTDIR\CDTitles"
|
||||||
|
File "CDTitles\Instructions.txt"
|
||||||
|
|
||||||
|
RMDir /r "$INSTDIR\Characters\default"
|
||||||
|
CreateDirectory "$INSTDIR\Characters\default"
|
||||||
|
SetOutPath "$INSTDIR\Characters"
|
||||||
|
File /r "Characters\default"
|
||||||
|
# File "Characters\instructions.txt"
|
||||||
|
|
||||||
|
CreateDirectory "$INSTDIR\Courses"
|
||||||
|
SetOutPath "$INSTDIR\Courses"
|
||||||
|
File "Courses\instructions.txt"
|
||||||
|
File /r "Courses\Samples"
|
||||||
|
|
||||||
|
CreateDirectory "$INSTDIR\Packages"
|
||||||
|
File "Packages\Instructions.txt"
|
||||||
|
|
||||||
|
RMDir /r "$INSTDIR\NoteSkins\common\default"
|
||||||
|
RMDir /r "$INSTDIR\NoteSkins\dance\MAX"
|
||||||
|
RMDir /r "$INSTDIR\NoteSkins\dance\default"
|
||||||
|
RMDir /r "$INSTDIR\NoteSkins\dance\flat"
|
||||||
|
RMDir /r "$INSTDIR\NoteSkins\dance\note"
|
||||||
|
RMDir /r "$INSTDIR\NoteSkins\dance\solo"
|
||||||
|
SetOutPath "$INSTDIR\NoteSkins"
|
||||||
|
File "NoteSkins\instructions.txt"
|
||||||
|
|
||||||
|
SetOutPath "$INSTDIR\NoteSkins\common"
|
||||||
|
File /r "NoteSkins\common\default"
|
||||||
|
|
||||||
|
SetOutPath "$INSTDIR\NoteSkins\dance"
|
||||||
|
File /r "NoteSkins\dance\default"
|
||||||
|
File /r "NoteSkins\dance\flat"
|
||||||
|
File /r "NoteSkins\dance\note"
|
||||||
|
File /r "NoteSkins\dance\solo"
|
||||||
|
|
||||||
|
SetOutPath "$INSTDIR\NoteSkins\pump"
|
||||||
|
File /r "NoteSkins\pump\Classic" ; what the heck, they're tiny
|
||||||
|
File /r "NoteSkins\pump\default"
|
||||||
|
|
||||||
|
; temporarily disabled--noteskin needs updating
|
||||||
|
;SetOutPath "$INSTDIR\NoteSkins\ez2"
|
||||||
|
;File /r "NoteSkins\ez2\original"
|
||||||
|
|
||||||
|
;SetOutPath "$INSTDIR\NoteSkins\para"
|
||||||
|
;File /r "NoteSkins\para\original"
|
||||||
|
|
||||||
|
SetOutPath "$INSTDIR"
|
||||||
|
|
||||||
|
CreateDirectory "$INSTDIR\BackgroundEffects"
|
||||||
|
File /r "BackgroundEffects"
|
||||||
|
|
||||||
|
CreateDirectory "$INSTDIR\BackgroundTransitions"
|
||||||
|
File /r "BackgroundTransitions"
|
||||||
|
|
||||||
|
CreateDirectory "$INSTDIR\RandomMovies"
|
||||||
|
SetOutPath "$INSTDIR\RandomMovies"
|
||||||
|
File "RandomMovies\instructions.txt"
|
||||||
|
|
||||||
|
CreateDirectory "$INSTDIR\Songs"
|
||||||
|
SetOutPath "$INSTDIR\Songs"
|
||||||
|
File "Songs\Instructions.txt"
|
||||||
|
|
||||||
|
RMDir /r "$INSTDIR\Themes\default"
|
||||||
|
CreateDirectory "$INSTDIR\Themes"
|
||||||
|
SetOutPath "$INSTDIR\Themes"
|
||||||
|
File "Themes\instructions.txt"
|
||||||
|
File /r "Themes\default"
|
||||||
|
|
||||||
|
CreateDirectory "$INSTDIR\Docs"
|
||||||
|
SetOutPath "$INSTDIR\Docs"
|
||||||
|
File "Docs\ChangeLog.txt"
|
||||||
|
|
||||||
|
CreateDirectory "$INSTDIR\Data"
|
||||||
|
SetOutPath "$INSTDIR\Data"
|
||||||
|
File "Data\Translations.xml"
|
||||||
|
File "Data\AI.ini"
|
||||||
|
File "Data\splash.png"
|
||||||
|
|
||||||
|
SetOutPath "$INSTDIR\Program"
|
||||||
|
File "Program\${PRODUCT_NAME}.exe"
|
||||||
|
File "Program\${PRODUCT_NAME}.vdi"
|
||||||
|
File "Program\smpackage.exe"
|
||||||
|
File "Program\msvcr70.dll"
|
||||||
|
File "Program\msvcp70.dll"
|
||||||
|
File "Program\jpeg.dll"
|
||||||
|
File "Program\avcodec.dll"
|
||||||
|
File "Program\avformat.dll"
|
||||||
|
File "Program\resample.dll"
|
||||||
|
File "Program\dbghelp.dll"
|
||||||
|
File "Program\zlib1.dll"
|
||||||
|
|
||||||
|
SetOverwrite off
|
||||||
|
SetOutPath "$INSTDIR\Save\MachineProfile"
|
||||||
|
File "Docs\Stats.xml"
|
||||||
|
SetOverwrite on
|
||||||
|
|
||||||
|
SetOutPath "$INSTDIR"
|
||||||
|
File "Docs\Copying.txt"
|
||||||
|
File "README-FIRST.html"
|
||||||
|
File "NEWS"
|
||||||
|
|
||||||
|
; What to do here? Better to just delete an existing INI than to
|
||||||
|
; drop the local one in ... -glenn
|
||||||
|
; Agreed. - Chris
|
||||||
|
; But we shouldn't delete, either, since that'll wipe peoples' prefs.
|
||||||
|
; Better to address upgrade problems than to make people nuke INI's.
|
||||||
|
; Maybe we should remove this for snapshot releases; that way we can
|
||||||
|
; track down problems with INI upgrades (and then possibly restore it
|
||||||
|
; for the release if we're not confident we've fixed most problems) -glenn
|
||||||
|
; Added message box to ask user. -Chris
|
||||||
|
; This is a silly check, because we force an uninstall and the installer
|
||||||
|
; removes stepmania.ini. -Chris
|
||||||
|
|
||||||
|
;IfFileExists "$INSTDIR\${PRODUCT_NAME}.ini" stepmania_ini_present
|
||||||
|
;IfFileExists "$INSTDIR\Data\${PRODUCT_NAME}.ini" stepmania_ini_present
|
||||||
|
;IfFileExists "$INSTDIR\Save\${PRODUCT_NAME}.ini" stepmania_ini_present
|
||||||
|
;Goto stepmania_ini_not_present
|
||||||
|
;stepmania_ini_present:
|
||||||
|
;MessageBox MB_YESNO|MB_ICONQUESTION "Your settings from the previous installation of ${PRODUCT_ID} were found.$\nWould you like to keep these settings?" IDNO stepmania_ini_not_present
|
||||||
|
;Delete "$INSTDIR\Save\${PRODUCT_NAME}.ini"
|
||||||
|
;stepmania_ini_not_present:
|
||||||
|
;; Move ini into Save\
|
||||||
|
;Rename "$INSTDIR\Save\${PRODUCT_NAME}.ini" "$INSTDIR\${PRODUCT_NAME}.ini"
|
||||||
|
|
||||||
|
; Create Start Menu icons
|
||||||
|
SetShellVarContext current # 'all' doesn't work on Win9x
|
||||||
|
CreateDirectory "$SMPROGRAMS\${PRODUCT_ID}\"
|
||||||
|
CreateShortCut "$DESKTOP\${PRODUCT_NAME_VER}.lnk" "$INSTDIR\Program\${PRODUCT_NAME}.exe"
|
||||||
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_ID}\${PRODUCT_NAME_VER}.lnk" "$INSTDIR\Program\${PRODUCT_NAME}.exe"
|
||||||
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_ID}\Open ${PRODUCT_NAME} Program Folder.lnk" "$WINDIR\explorer.exe" "$INSTDIR\"
|
||||||
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_ID}\View Machine Statistics.lnk" "$INSTDIR\Save\MachineProfile\Stats.xml"
|
||||||
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_ID}\${PRODUCT_NAME} Tools and Package Exporter.lnk" "$INSTDIR\Program\smpackage.exe"
|
||||||
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_ID}\README-FIRST.lnk" "$INSTDIR\README-FIRST.html"
|
||||||
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_ID}\Uninstall ${PRODUCT_NAME_VER}.lnk" "$INSTDIR\uninstall.exe"
|
||||||
|
CreateShortCut "$SMPROGRAMS\${PRODUCT_ID}\Go To the ${PRODUCT_NAME} web site.lnk" "${PRODUCT_URL}"
|
||||||
|
|
||||||
|
CreateShortCut "$INSTDIR\${PRODUCT_NAME}.lnk" "$INSTDIR\Program\${PRODUCT_NAME}.exe"
|
||||||
|
|
||||||
|
# We want to delete a few old desktop icons, since they weren't being
|
||||||
|
# uninstalled correctly during alpha 2 and 3. They were installed in
|
||||||
|
# the 'all' context. Try to delete them in both contexts.
|
||||||
|
SetShellVarContext all
|
||||||
|
Delete "$DESKTOP\Play StepMania 3.9 alpha 2.lnk"
|
||||||
|
Delete "$DESKTOP\Play StepMania 3.9 alpha 3.lnk"
|
||||||
|
|
||||||
|
SetShellVarContext current
|
||||||
|
Delete "$DESKTOP\Play StepMania 3.9 alpha 2.lnk"
|
||||||
|
Delete "$DESKTOP\Play StepMania 3.9 alpha 3.lnk"
|
||||||
|
|
||||||
|
Exec '$WINDIR\explorer.exe "$SMPROGRAMS\${PRODUCT_ID}\"'
|
||||||
|
|
||||||
|
SectionEnd
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
;Installer Functions
|
||||||
|
|
||||||
;
|
|
||||||
; .oninit is called before window is shown
|
|
||||||
;
|
|
||||||
Function .onInit
|
Function .onInit
|
||||||
|
|
||||||
|
!insertmacro MUI_LANGDLL_DISPLAY
|
||||||
|
|
||||||
; force uninstall of previous version using NSIS
|
; force uninstall of previous version using NSIS
|
||||||
; We need to wait until the uninstaller finishes before continuing, since it's possible
|
; We need to wait until the uninstaller finishes before continuing, since it's possible
|
||||||
; to click the next button again before the uninstaller's window appears and takes focus.
|
; to click the next button again before the uninstaller's window appears and takes focus.
|
||||||
; This is tricky: we can't just ExecWait the uninstaller, since it copies off the uninstaller
|
; This is tricky: we can't just ExecWait the uninstaller, since it copies off the uninstaller
|
||||||
; EXE and exec's that (otherwise it couldn't delete itself), so it appears to exit immediately.
|
; EXE and exec's that (otherwise it couldn't delete itself), so it appears to exit immediately.
|
||||||
; We need to copy it off ourself, run it with the hidden parameter to tell it it's a copy,
|
; We need to copy it off ourself, run it with the hidden parameter to tell it it's a copy,
|
||||||
; and then delete the copy ourself. There's one more trick: the hidden parameter changed
|
; and then delete the copy ourself. There's one more trick: the hidden parameter changed
|
||||||
; between NSIS 1 and 2: in 1.x it was _=C:\Foo, in 2.x it's _?=C:\Foo. Rename the installer
|
; between NSIS 1 and 2: in 1.x it was _=C:\Foo, in 2.x it's _?=C:\Foo. Rename the installer
|
||||||
; for newer versions, so we can tell the difference: "uninst.exe" is the old 1.x uninstaller,
|
; for newer versions, so we can tell the difference: "uninst.exe" is the old 1.x uninstaller,
|
||||||
; "uninstall.exe" is 2.x.
|
; "uninstall.exe" is 2.x.
|
||||||
StrCpy $R1 "$INSTDIR\uninst.exe"
|
StrCpy $R1 "$INSTDIR\uninst.exe"
|
||||||
StrCpy $R2 "_="
|
StrCpy $R2 "_="
|
||||||
IfFileExists "$R1" prompt_uninstall_nsis
|
IfFileExists "$R1" prompt_uninstall_nsis
|
||||||
StrCpy $R1 "$INSTDIR\uninstall.exe"
|
StrCpy $R1 "$INSTDIR\uninstall.exe"
|
||||||
StrCpy $R2 "_?="
|
StrCpy $R2 "_?="
|
||||||
IfFileExists "$R1" prompt_uninstall_nsis old_nsis_not_installed
|
IfFileExists "$R1" prompt_uninstall_nsis old_nsis_not_installed
|
||||||
|
|
||||||
prompt_uninstall_nsis:
|
prompt_uninstall_nsis:
|
||||||
MessageBox MB_YESNO|MB_ICONINFORMATION "The previous version of ${PRODUCT_ID} must be uninstalled before continuing.$\nDo you wish to continue?" IDYES do_uninstall_nsis
|
MessageBox MB_YESNO|MB_ICONINFORMATION "The previous version of ${PRODUCT_ID} must be uninstalled before continuing.$\nDo you wish to continue?" IDYES do_uninstall_nsis
|
||||||
Abort
|
Abort
|
||||||
|
|
||||||
do_uninstall_nsis:
|
do_uninstall_nsis:
|
||||||
GetTempFileName $R3
|
GetTempFileName $R3
|
||||||
CopyFiles /SILENT $R1 $R3
|
CopyFiles /SILENT $R1 $R3
|
||||||
ExecWait '$R3 $R2$INSTDIR' $R4
|
ExecWait '$R3 $R2$INSTDIR' $R4
|
||||||
; Delete the copy of the installer.
|
; Delete the copy of the installer.
|
||||||
Delete $R3
|
Delete $R3
|
||||||
|
|
||||||
; $R4 is the exit value of the uninstaller. 0 means success, anything else is
|
; $R4 is the exit value of the uninstaller. 0 means success, anything else is
|
||||||
; failure (eg. aborted).
|
; failure (eg. aborted).
|
||||||
IntCmp $R4 0 old_nsis_not_installed ; jump if 0
|
IntCmp $R4 0 old_nsis_not_installed ; jump if 0
|
||||||
|
|
||||||
MessageBox MB_YESNO|MB_DEFBUTTON2|MB_ICONINFORMATION "Uninstallation failed. Install anyway?" IDYES old_nsis_not_installed
|
MessageBox MB_YESNO|MB_DEFBUTTON2|MB_ICONINFORMATION "Uninstallation failed. Install anyway?" IDYES old_nsis_not_installed
|
||||||
Abort
|
Abort
|
||||||
|
|
||||||
|
|
||||||
old_nsis_not_installed:
|
old_nsis_not_installed:
|
||||||
|
|
||||||
; Check for DirectX 8.0 (to be moved to the right section later)
|
; Check for DirectX 8.0 (to be moved to the right section later)
|
||||||
; We only use this for sound. Actually, I could probably make the sound
|
; We only use this for sound. Actually, I could probably make the sound
|
||||||
; work with an earlier one; I'm not sure if that's needed or not. For one
|
; work with an earlier one; I'm not sure if that's needed or not. For one
|
||||||
; thing, forcing people to upgrade drivers is somewhat of a good thing;
|
; thing, forcing people to upgrade drivers is somewhat of a good thing;
|
||||||
; but upgrading to DX8 if you really don't have to is also somewhat
|
; but upgrading to DX8 if you really don't have to is also somewhat
|
||||||
; annoying, too ... -g
|
; annoying, too ... -g
|
||||||
ReadRegStr $0 HKEY_LOCAL_MACHINE "Software\Microsoft\DirectX" "Version"
|
ReadRegStr $0 HKEY_LOCAL_MACHINE "Software\Microsoft\DirectX" "Version"
|
||||||
StrCpy $1 $0 2 2 ; 8.1 is "4.08.01.0810"
|
StrCpy $1 $0 2 2 ; 8.1 is "4.08.01.0810"
|
||||||
IntCmpU $1 8 check_subversion old_dx ok
|
IntCmpU $1 8 check_subversion old_dx ok
|
||||||
check_subversion:
|
check_subversion:
|
||||||
StrCpy $1 $0 2 5
|
StrCpy $1 $0 2 5
|
||||||
IntCmpU $1 0 ok old_dx ok
|
IntCmpU $1 0 ok old_dx ok
|
||||||
|
|
||||||
; We can function without it (using WaveOut), so don't *require* this.
|
; We can function without it (using WaveOut), so don't *require* this.
|
||||||
old_dx:
|
old_dx:
|
||||||
MessageBox MB_YESNO|MB_ICONINFORMATION "The latest version of DirectX (8.1 or higher) is strongly recommended.$\n Do you wish to visit Microsoft's site now?" IDNO ok
|
MessageBox MB_YESNO|MB_ICONINFORMATION "The latest version of DirectX (8.1 or higher) is strongly recommended.$\n Do you wish to visit Microsoft's site now?" IDNO ok
|
||||||
ExecShell "" "http://www.microsoft.com/directx/"
|
ExecShell "" "http://www.microsoft.com/directx/"
|
||||||
Abort
|
Abort
|
||||||
|
|
||||||
ok:
|
ok:
|
||||||
|
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
;Descriptions
|
||||||
|
|
||||||
;
|
;USE A LANGUAGE STRING IF YOU WANT YOUR DESCRIPTIONS TO BE LANGAUGE SPECIFIC
|
||||||
; The default install section
|
|
||||||
;
|
|
||||||
Section ""
|
|
||||||
|
|
||||||
; write out uninstaller
|
;Assign descriptions to sections
|
||||||
SetOutPath "$INSTDIR"
|
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||||
AllowSkipFiles off
|
!insertmacro MUI_DESCRIPTION_TEXT ${SecMain} "A test section."
|
||||||
SetOverwrite on
|
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||||
WriteUninstaller "$INSTDIR\uninstall.exe"
|
|
||||||
|
|
||||||
; add registry entries
|
|
||||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\${PRODUCT_NAME}\${PRODUCT_ID}" "" "$INSTDIR"
|
|
||||||
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_ID}" "DisplayName" "${PRODUCT_ID} (remove only)"
|
|
||||||
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_ID}" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
|
||||||
|
|
||||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\Applications\smpackage.exe\shell\open\command" "" '"$INSTDIR\Program\smpackage.exe" "%1"'
|
|
||||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile" "" "SMZIP package"
|
|
||||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile\DefaultIcon" "" "$INSTDIR\Program\smpackage.exe,0"
|
|
||||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile\shell\open\command" "" '"$INSTDIR\Program\smpackage.exe" "%1"'
|
|
||||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Classes\.smzip" "" "smzipfile"
|
|
||||||
|
|
||||||
; Begin copying files
|
|
||||||
CreateDirectory "$INSTDIR\Announcers"
|
|
||||||
SetOutPath "$INSTDIR\Announcers"
|
|
||||||
File "Announcers\instructions.txt"
|
|
||||||
|
|
||||||
CreateDirectory "$INSTDIR\BGAnimations"
|
|
||||||
SetOutPath "$INSTDIR\BGAnimations"
|
|
||||||
File "BGAnimations\instructions.txt"
|
|
||||||
|
|
||||||
CreateDirectory "$INSTDIR\CDTitles"
|
|
||||||
SetOutPath "$INSTDIR\CDTitles"
|
|
||||||
File "CDTitles\Instructions.txt"
|
|
||||||
|
|
||||||
RMDir /r "$INSTDIR\Characters\default"
|
|
||||||
CreateDirectory "$INSTDIR\Characters\default"
|
|
||||||
SetOutPath "$INSTDIR\Characters"
|
|
||||||
File /r "Characters\default"
|
|
||||||
# File "Characters\instructions.txt"
|
|
||||||
|
|
||||||
CreateDirectory "$INSTDIR\Courses"
|
|
||||||
SetOutPath "$INSTDIR\Courses"
|
|
||||||
File "Courses\instructions.txt"
|
|
||||||
File /r "Courses\Samples"
|
|
||||||
|
|
||||||
CreateDirectory "$INSTDIR\Packages"
|
|
||||||
File "Packages\Instructions.txt"
|
|
||||||
|
|
||||||
RMDir /r "$INSTDIR\NoteSkins\common\default"
|
|
||||||
RMDir /r "$INSTDIR\NoteSkins\dance\MAX"
|
|
||||||
RMDir /r "$INSTDIR\NoteSkins\dance\default"
|
|
||||||
RMDir /r "$INSTDIR\NoteSkins\dance\flat"
|
|
||||||
RMDir /r "$INSTDIR\NoteSkins\dance\note"
|
|
||||||
RMDir /r "$INSTDIR\NoteSkins\dance\solo"
|
|
||||||
SetOutPath "$INSTDIR\NoteSkins"
|
|
||||||
File "NoteSkins\instructions.txt"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\NoteSkins\common"
|
|
||||||
File /r "NoteSkins\common\default"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\NoteSkins\dance"
|
|
||||||
File /r "NoteSkins\dance\default"
|
|
||||||
File /r "NoteSkins\dance\flat"
|
|
||||||
File /r "NoteSkins\dance\note"
|
|
||||||
File /r "NoteSkins\dance\solo"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\NoteSkins\pump"
|
|
||||||
File /r "NoteSkins\pump\Classic" ; what the heck, they're tiny
|
|
||||||
File /r "NoteSkins\pump\default"
|
|
||||||
|
|
||||||
; temporarily disabled--noteskin needs updating
|
|
||||||
;SetOutPath "$INSTDIR\NoteSkins\ez2"
|
|
||||||
;File /r "NoteSkins\ez2\original"
|
|
||||||
|
|
||||||
;SetOutPath "$INSTDIR\NoteSkins\para"
|
|
||||||
;File /r "NoteSkins\para\original"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR"
|
|
||||||
|
|
||||||
CreateDirectory "$INSTDIR\BackgroundEffects"
|
|
||||||
File /r "BackgroundEffects"
|
|
||||||
|
|
||||||
CreateDirectory "$INSTDIR\BackgroundTransitions"
|
|
||||||
File /r "BackgroundTransitions"
|
|
||||||
|
|
||||||
CreateDirectory "$INSTDIR\RandomMovies"
|
|
||||||
SetOutPath "$INSTDIR\RandomMovies"
|
|
||||||
File "RandomMovies\instructions.txt"
|
|
||||||
|
|
||||||
CreateDirectory "$INSTDIR\Songs"
|
|
||||||
SetOutPath "$INSTDIR\Songs"
|
|
||||||
File "Songs\Instructions.txt"
|
|
||||||
|
|
||||||
RMDir /r "$INSTDIR\Themes\default"
|
|
||||||
CreateDirectory "$INSTDIR\Themes"
|
|
||||||
SetOutPath "$INSTDIR\Themes"
|
|
||||||
File "Themes\instructions.txt"
|
|
||||||
File /r "Themes\default"
|
|
||||||
|
|
||||||
CreateDirectory "$INSTDIR\Docs"
|
|
||||||
SetOutPath "$INSTDIR\Docs"
|
|
||||||
File "Docs\ChangeLog.txt"
|
|
||||||
|
|
||||||
CreateDirectory "$INSTDIR\Data"
|
|
||||||
SetOutPath "$INSTDIR\Data"
|
|
||||||
File "Data\Translations.xml"
|
|
||||||
File "Data\AI.ini"
|
|
||||||
File "Data\splash.png"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\Program"
|
|
||||||
File "Program\${PRODUCT_NAME}.exe"
|
|
||||||
File "Program\${PRODUCT_NAME}.vdi"
|
|
||||||
File "Program\smpackage.exe"
|
|
||||||
File "Program\msvcr70.dll"
|
|
||||||
File "Program\msvcp70.dll"
|
|
||||||
File "Program\jpeg.dll"
|
|
||||||
File "Program\avcodec.dll"
|
|
||||||
File "Program\avformat.dll"
|
|
||||||
File "Program\resample.dll"
|
|
||||||
File "Program\dbghelp.dll"
|
|
||||||
File "Program\zlib1.dll"
|
|
||||||
|
|
||||||
SetOverwrite off
|
|
||||||
SetOutPath "$INSTDIR\Data\MachineProfile"
|
|
||||||
File "Docs\Stats.xml"
|
|
||||||
SetOverwrite on
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR"
|
|
||||||
File "Docs\Copying.txt"
|
|
||||||
File "README-FIRST.html"
|
|
||||||
File "NEWS"
|
|
||||||
|
|
||||||
; What to do here? Better to just delete an existing INI than to
|
|
||||||
; drop the local one in ... -glenn
|
|
||||||
; Agreed. - Chris
|
|
||||||
; But we shouldn't delete, either, since that'll wipe peoples' prefs.
|
|
||||||
; Better to address upgrade problems than to make people nuke INI's.
|
|
||||||
; Maybe we should remove this for snapshot releases; that way we can
|
|
||||||
; track down problems with INI upgrades (and then possibly restore it
|
|
||||||
; for the release if we're not confident we've fixed most problems) -glenn
|
|
||||||
; Added message box to ask user. -Chris
|
|
||||||
; This is a silly check, because we force an uninstall and the installer
|
|
||||||
; removes stepmania.ini. -Chris
|
|
||||||
|
|
||||||
;IfFileExists "$INSTDIR\${PRODUCT_NAME}.ini" stepmania_ini_present
|
|
||||||
;IfFileExists "$INSTDIR\Data\${PRODUCT_NAME}.ini" stepmania_ini_present
|
|
||||||
;Goto stepmania_ini_not_present
|
|
||||||
;stepmania_ini_present:
|
|
||||||
;MessageBox MB_YESNO|MB_ICONQUESTION "Your settings from the previous installation of ${PRODUCT_ID} were found.$\nWould you like to keep these settings?" IDNO stepmania_ini_not_present
|
|
||||||
;Delete "$INSTDIR\Data\${PRODUCT_NAME}.ini"
|
|
||||||
;stepmania_ini_not_present:
|
|
||||||
;; Move ini into Data\
|
|
||||||
;Rename "$INSTDIR\Data\${PRODUCT_NAME}.ini" "$INSTDIR\${PRODUCT_NAME}.ini"
|
|
||||||
|
|
||||||
; Create Start Menu icons
|
|
||||||
SetShellVarContext current # 'all' doesn't work on Win9x
|
|
||||||
CreateDirectory "$SMPROGRAMS\${PRODUCT_ID}\"
|
|
||||||
CreateShortCut "$DESKTOP\${PRODUCT_NAME_VER}.lnk" "$INSTDIR\Program\${PRODUCT_NAME}.exe"
|
|
||||||
CreateShortCut "$SMPROGRAMS\${PRODUCT_ID}\${PRODUCT_NAME_VER}.lnk" "$INSTDIR\Program\${PRODUCT_NAME}.exe"
|
|
||||||
CreateShortCut "$SMPROGRAMS\${PRODUCT_ID}\Open ${PRODUCT_NAME} Program Folder.lnk" "$WINDIR\explorer.exe" "$INSTDIR\"
|
|
||||||
CreateShortCut "$SMPROGRAMS\${PRODUCT_ID}\View Machine Statistics.lnk" "$INSTDIR\Data\MachineProfile\Stats.xml"
|
|
||||||
CreateShortCut "$SMPROGRAMS\${PRODUCT_ID}\${PRODUCT_NAME} Tools and Package Exporter.lnk" "$INSTDIR\Program\smpackage.exe"
|
|
||||||
CreateShortCut "$SMPROGRAMS\${PRODUCT_ID}\README-FIRST.lnk" "$INSTDIR\README-FIRST.html"
|
|
||||||
CreateShortCut "$SMPROGRAMS\${PRODUCT_ID}\Uninstall ${PRODUCT_NAME_VER}.lnk" "$INSTDIR\uninstall.exe"
|
|
||||||
CreateShortCut "$SMPROGRAMS\${PRODUCT_ID}\Go To ${PRODUCT_NAME} web site.lnk" "${PRODUCT_URL}"
|
|
||||||
|
|
||||||
CreateShortCut "$INSTDIR\${PRODUCT_NAME}.lnk" "$INSTDIR\Program\${PRODUCT_NAME}.exe"
|
|
||||||
|
|
||||||
# We want to delete a few old desktop icons, since they weren't being
|
|
||||||
# uninstalled correctly during alpha 2 and 3. They were installed in
|
|
||||||
# the 'all' context. Try to delete them in both contexts.
|
|
||||||
SetShellVarContext all
|
|
||||||
Delete "$DESKTOP\Play StepMania 3.9 alpha 2.lnk"
|
|
||||||
Delete "$DESKTOP\Play StepMania 3.9 alpha 3.lnk"
|
|
||||||
|
|
||||||
SetShellVarContext current
|
|
||||||
Delete "$DESKTOP\Play StepMania 3.9 alpha 2.lnk"
|
|
||||||
Delete "$DESKTOP\Play StepMania 3.9 alpha 3.lnk"
|
|
||||||
|
|
||||||
Exec '$WINDIR\explorer.exe "$SMPROGRAMS\${PRODUCT_ID}\"'
|
|
||||||
|
|
||||||
SectionEnd ; end of default section
|
|
||||||
|
|
||||||
|
|
||||||
;
|
;--------------------------------
|
||||||
; begin uninstall settings/section
|
;Uninstaller Section
|
||||||
;
|
|
||||||
UninstallText "This will uninstall ${PRODUCT_ID} from your system.$\nAny add-on packs or songs you have installed will not be deleted."
|
|
||||||
|
|
||||||
Section Uninstall
|
Section "Uninstall"
|
||||||
|
|
||||||
; add delete commands to delete whatever files/registry keys/etc you installed here.
|
; add delete commands to delete whatever files/registry keys/etc you installed here.
|
||||||
Delete "$INSTDIR\uninstall.exe"
|
Delete "$INSTDIR\uninstall.exe"
|
||||||
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\${PRODUCT_NAME}\${PRODUCT_ID}"
|
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\${PRODUCT_NAME}\${PRODUCT_ID}"
|
||||||
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_ID}"
|
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_ID}"
|
||||||
|
|
||||||
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Classes\Applications\smpackage.exe\shell\open\command"
|
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Classes\Applications\smpackage.exe\shell\open\command"
|
||||||
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile"
|
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Classes\smzipfile"
|
||||||
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Classes\.smzip"
|
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Classes\.smzip"
|
||||||
|
|
||||||
Delete "$INSTDIR\Announcers\instructions.txt"
|
Delete "$INSTDIR\Announcers\instructions.txt"
|
||||||
RMDir "$INSTDIR\Announcers"
|
RMDir "$INSTDIR\Announcers"
|
||||||
|
|
||||||
Delete "$INSTDIR\BGAnimations\instructions.txt"
|
Delete "$INSTDIR\BGAnimations\instructions.txt"
|
||||||
RMDir "$INSTDIR\BGAnimations"
|
RMDir "$INSTDIR\BGAnimations"
|
||||||
|
|
||||||
Delete "$INSTDIR\Cache\instructions.txt"
|
Delete "$INSTDIR\Cache\instructions.txt"
|
||||||
RMDir "$INSTDIR\Cache"
|
RMDir "$INSTDIR\Cache"
|
||||||
|
|
||||||
Delete "$INSTDIR\CDTitles\Instructions.txt"
|
Delete "$INSTDIR\CDTitles\Instructions.txt"
|
||||||
RMDir "$INSTDIR\CDTitles"
|
RMDir "$INSTDIR\CDTitles"
|
||||||
|
|
||||||
RMDir /r "$INSTDIR\Characters\default"
|
RMDir /r "$INSTDIR\Characters\default"
|
||||||
RMDir "$INSTDIR\Characters"
|
RMDir "$INSTDIR\Characters"
|
||||||
|
|
||||||
RMDir /r "$INSTDIR\Cache"
|
RMDir /r "$INSTDIR\Cache"
|
||||||
|
|
||||||
Delete "$INSTDIR\Packages\instructions.txt"
|
Delete "$INSTDIR\Packages\instructions.txt"
|
||||||
RMDir "$INSTDIR\Packages"
|
RMDir "$INSTDIR\Packages"
|
||||||
|
|
||||||
Delete "$INSTDIR\Courses\instructions.txt"
|
Delete "$INSTDIR\Courses\instructions.txt"
|
||||||
RMDir /r "$INSTDIR\Courses\Samples"
|
RMDir /r "$INSTDIR\Courses\Samples"
|
||||||
RMDir "$INSTDIR\Courses"
|
RMDir "$INSTDIR\Courses"
|
||||||
|
|
||||||
Delete "$INSTDIR\NoteSkins\instructions.txt"
|
Delete "$INSTDIR\NoteSkins\instructions.txt"
|
||||||
RMDir /r "$INSTDIR\NoteSkins\common\default"
|
RMDir /r "$INSTDIR\NoteSkins\common\default"
|
||||||
RMDir "$INSTDIR\NoteSkins\common"
|
RMDir "$INSTDIR\NoteSkins\common"
|
||||||
RMDir /r "$INSTDIR\NoteSkins\dance\default"
|
RMDir /r "$INSTDIR\NoteSkins\dance\default"
|
||||||
RMDir /r "$INSTDIR\NoteSkins\dance\flat"
|
RMDir /r "$INSTDIR\NoteSkins\dance\flat"
|
||||||
RMDir /r "$INSTDIR\NoteSkins\dance\note"
|
RMDir /r "$INSTDIR\NoteSkins\dance\note"
|
||||||
RMDir /r "$INSTDIR\NoteSkins\dance\solo"
|
RMDir /r "$INSTDIR\NoteSkins\dance\solo"
|
||||||
RMDir "$INSTDIR\NoteSkins\dance"
|
RMDir "$INSTDIR\NoteSkins\dance"
|
||||||
RMDir /r "$INSTDIR\NoteSkins\pump\classic"
|
RMDir /r "$INSTDIR\NoteSkins\pump\classic"
|
||||||
RMDir /r "$INSTDIR\NoteSkins\pump\default"
|
RMDir /r "$INSTDIR\NoteSkins\pump\default"
|
||||||
RMDir "$INSTDIR\NoteSkins\pump"
|
RMDir "$INSTDIR\NoteSkins\pump"
|
||||||
RMDir /r "$INSTDIR\NoteSkins\ez2\original"
|
RMDir /r "$INSTDIR\NoteSkins\ez2\original"
|
||||||
RMDir "$INSTDIR\NoteSkins\ez2"
|
RMDir "$INSTDIR\NoteSkins\ez2"
|
||||||
RMDir /r "$INSTDIR\NoteSkins\para\original"
|
RMDir /r "$INSTDIR\NoteSkins\para\original"
|
||||||
RMDir "$INSTDIR\NoteSkins\para"
|
RMDir "$INSTDIR\NoteSkins\para"
|
||||||
RMDir "$INSTDIR\NoteSkins"
|
RMDir "$INSTDIR\NoteSkins"
|
||||||
|
|
||||||
Delete "$INSTDIR\RandomMovies\instructions.txt"
|
Delete "$INSTDIR\RandomMovies\instructions.txt"
|
||||||
RMDir "$INSTDIR\RandomMovies"
|
RMDir "$INSTDIR\RandomMovies"
|
||||||
|
|
||||||
Delete "$INSTDIR\Songs\Instructions.txt"
|
Delete "$INSTDIR\Songs\Instructions.txt"
|
||||||
RMDir "$INSTDIR\Songs" ; will delete only if empty
|
RMDir "$INSTDIR\Songs" ; will delete only if empty
|
||||||
|
|
||||||
Delete "$INSTDIR\Themes\instructions.txt"
|
Delete "$INSTDIR\Themes\instructions.txt"
|
||||||
RMDir /r "$INSTDIR\Themes\default"
|
RMDir /r "$INSTDIR\Themes\default"
|
||||||
RMDir "$INSTDIR\Themes"
|
RMDir "$INSTDIR\Themes"
|
||||||
|
|
||||||
Delete "$INSTDIR\Visualizations\instructions.txt"
|
Delete "$INSTDIR\Visualizations\instructions.txt"
|
||||||
RMDir "$INSTDIR\Visualizations"
|
RMDir "$INSTDIR\Visualizations"
|
||||||
|
|
||||||
Delete "$INSTDIR\Docs\ChangeLog.txt"
|
Delete "$INSTDIR\Docs\ChangeLog.txt"
|
||||||
RMDir "$INSTDIR\Docs"
|
RMDir "$INSTDIR\Docs"
|
||||||
|
|
||||||
; Don't delete high scores.
|
; Don't delete high scores.
|
||||||
Delete "$INSTDIR\Data\Translations.xml"
|
Delete "$INSTDIR\Data\Translations.xml"
|
||||||
Delete "$INSTDIR\Data\AI.ini"
|
Delete "$INSTDIR\Data\AI.ini"
|
||||||
; Don't delete setting files so that they remain after an upgrade.
|
Delete "$INSTDIR\Data\splash.png"
|
||||||
;Delete "$INSTDIR\Data\${PRODUCT_NAME}.ini"
|
RMDir "$INSTDIR\Data"
|
||||||
;Delete "$INSTDIR\Data\Keymaps.ini"
|
|
||||||
;Delete "$INSTDIR\Data\GamePrefs.ini"
|
|
||||||
Delete "$INSTDIR\Data\splash.png"
|
|
||||||
RMDir "$INSTDIR\Data"
|
|
||||||
|
|
||||||
Delete "$INSTDIR\Program\${PRODUCT_NAME}.exe"
|
Delete "$INSTDIR\Program\${PRODUCT_NAME}.exe"
|
||||||
Delete "$INSTDIR\Program\smpackage.exe"
|
Delete "$INSTDIR\Program\smpackage.exe"
|
||||||
Delete "$INSTDIR\Program\${PRODUCT_NAME}.vdi"
|
Delete "$INSTDIR\Program\${PRODUCT_NAME}.vdi"
|
||||||
Delete "$INSTDIR\Program\msvcr70.dll"
|
Delete "$INSTDIR\Program\msvcr70.dll"
|
||||||
Delete "$INSTDIR\Program\msvcp70.dll"
|
Delete "$INSTDIR\Program\msvcp70.dll"
|
||||||
Delete "$INSTDIR\Program\jpeg.dll"
|
Delete "$INSTDIR\Program\jpeg.dll"
|
||||||
Delete "$INSTDIR\Program\avcodec.dll"
|
Delete "$INSTDIR\Program\avcodec.dll"
|
||||||
Delete "$INSTDIR\Program\avformat.dll"
|
Delete "$INSTDIR\Program\avformat.dll"
|
||||||
Delete "$INSTDIR\Program\resample.dll"
|
Delete "$INSTDIR\Program\resample.dll"
|
||||||
Delete "$INSTDIR\Program\dbghelp.dll"
|
Delete "$INSTDIR\Program\dbghelp.dll"
|
||||||
Delete "$INSTDIR\Program\zlib1.dll"
|
Delete "$INSTDIR\Program\zlib1.dll"
|
||||||
Delete "$INSTDIR\Program\lua.dll"
|
Delete "$INSTDIR\Program\lua.dll"
|
||||||
RMDir "$INSTDIR\Program"
|
RMDir "$INSTDIR\Program"
|
||||||
|
|
||||||
; It's harmless to delete this, as long as we leave Stats.xml alone; it'll be rewritten
|
; It's harmless to delete this, as long as we leave Stats.xml alone; it'll be rewritten
|
||||||
; by the program the next time it's run.
|
; by the program the next time it's run.
|
||||||
Delete "$INSTDIR\Data\MachineProfile\stats.html"
|
Delete "$INSTDIR\Save\MachineProfile\stats.html"
|
||||||
RMDir "$INSTDIR\Data\MachineProfile"
|
RMDir "$INSTDIR\Save\MachineProfile"
|
||||||
|
|
||||||
Delete "$INSTDIR\COPYING.txt"
|
Delete "$INSTDIR\COPYING.txt"
|
||||||
Delete "$INSTDIR\README-FIRST.html"
|
Delete "$INSTDIR\README-FIRST.html"
|
||||||
Delete "$INSTDIR\NEWS"
|
Delete "$INSTDIR\NEWS"
|
||||||
Delete "$INSTDIR\log.txt"
|
Delete "$INSTDIR\log.txt"
|
||||||
Delete "$INSTDIR\info.txt"
|
Delete "$INSTDIR\info.txt"
|
||||||
Delete "$INSTDIR\crashinfo.txt"
|
Delete "$INSTDIR\crashinfo.txt"
|
||||||
Delete "$INSTDIR\${PRODUCT_NAME}.lnk"
|
Delete "$INSTDIR\${PRODUCT_NAME}.lnk"
|
||||||
|
|
||||||
RMDir "$INSTDIR" ; will delete only if empty
|
RMDir "$INSTDIR" ; will delete only if empty
|
||||||
|
|
||||||
SetShellVarContext current
|
SetShellVarContext current
|
||||||
Delete "$DESKTOP\Play StepMania CVS.lnk"
|
Delete "$DESKTOP\Play StepMania CVS.lnk"
|
||||||
Delete "$DESKTOP\${PRODUCT_NAME_VER}.lnk"
|
Delete "$DESKTOP\${PRODUCT_NAME_VER}.lnk"
|
||||||
; I'm being paranoid here:
|
; I'm being paranoid here:
|
||||||
Delete "$SMPROGRAMS\${PRODUCT_ID}\*.*"
|
Delete "$SMPROGRAMS\${PRODUCT_ID}\*.*"
|
||||||
RMDir "$SMPROGRAMS\${PRODUCT_ID}"
|
RMDir "$SMPROGRAMS\${PRODUCT_ID}"
|
||||||
|
|
||||||
SectionEnd ; end of uninstall section
|
Delete "$INSTDIR\Uninstall.exe"
|
||||||
|
|
||||||
; eof
|
DeleteRegKey /ifempty HKEY_LOCAL_MACHINE "SOFTWARE\${PRODUCT_NAME}\${PRODUCT_ID}"
|
||||||
|
|
||||||
|
SectionEnd
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
;Uninstaller Functions
|
||||||
|
|
||||||
|
Function un.onInit
|
||||||
|
|
||||||
|
!insertmacro MUI_UNGETLANGUAGE
|
||||||
|
|
||||||
|
FunctionEnd
|
||||||
Reference in New Issue
Block a user