diff --git a/Installer/GetSVNRev.nsi b/Installer/GetSVNRev.nsi deleted file mode 100644 index c9f0c166d7..0000000000 --- a/Installer/GetSVNRev.nsi +++ /dev/null @@ -1,11 +0,0 @@ -OutFile "GetSVNRev.exe" -SilentInstall silent - -Section - ; Create template for SubWCRev - FileOpen $R0 "svnrev_template.txt" w - FileWrite $R0 '!define PRODUCT_VERSION "$$WCREV$$"' - FileClose $R0 - ; Make a file with only rev # in it - Exec "..\Source\Core\Common\SubWCRev.exe ..\ svnrev_template.txt svnrev.txt" -SectionEnd \ No newline at end of file diff --git a/Installer/Installer.nsi b/Installer/Installer.nsi new file mode 100644 index 0000000000..3543d149b5 --- /dev/null +++ b/Installer/Installer.nsi @@ -0,0 +1,187 @@ +!define PRODUCT_VERSION 4.0 + +!define BASE_DIR "..\Binary\${DOLPHIN_ARCH}" + +; HM NIS Edit Wizard helper defines +!define PRODUCT_PUBLISHER "Dolphin Development Team" +!define PRODUCT_WEB_SITE "https://dolphin-emu.org/" +!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\${PRODUCT_NAME}.exe" +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" +!define PRODUCT_UNINST_ROOT_KEY "HKLM" + +SetCompressor /SOLID lzma + +; MUI 1.67 compatible ------ +!include "MUI.nsh" + +; MUI Settings +!define MUI_ABORTWARNING +!define MUI_ICON "Dolphin.ico" +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" + +; Language Selection Dialog Settings +!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" +!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" +!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language" + +; License page +!insertmacro MUI_PAGE_LICENSE "..\License.txt" +; Components page +!insertmacro MUI_PAGE_COMPONENTS +; Directory page +!insertmacro MUI_PAGE_DIRECTORY +; Instfiles page +!insertmacro MUI_PAGE_INSTFILES +; Finish page +!insertmacro MUI_PAGE_FINISH + +; Uninstaller pages +!insertmacro MUI_UNPAGE_INSTFILES + +; Language files +!insertmacro MUI_LANGUAGE "Afrikaans" +!insertmacro MUI_LANGUAGE "Albanian" +!insertmacro MUI_LANGUAGE "Arabic" +!insertmacro MUI_LANGUAGE "Basque" +!insertmacro MUI_LANGUAGE "Belarusian" +!insertmacro MUI_LANGUAGE "Bosnian" +!insertmacro MUI_LANGUAGE "Breton" +!insertmacro MUI_LANGUAGE "Bulgarian" +!insertmacro MUI_LANGUAGE "Catalan" +!insertmacro MUI_LANGUAGE "Croatian" +!insertmacro MUI_LANGUAGE "Czech" +!insertmacro MUI_LANGUAGE "Danish" +!insertmacro MUI_LANGUAGE "Dutch" +!insertmacro MUI_LANGUAGE "English" +!insertmacro MUI_LANGUAGE "Estonian" +!insertmacro MUI_LANGUAGE "Farsi" +!insertmacro MUI_LANGUAGE "Finnish" +!insertmacro MUI_LANGUAGE "French" +!insertmacro MUI_LANGUAGE "Galician" +!insertmacro MUI_LANGUAGE "German" +!insertmacro MUI_LANGUAGE "Greek" +!insertmacro MUI_LANGUAGE "Hebrew" +!insertmacro MUI_LANGUAGE "Hungarian" +!insertmacro MUI_LANGUAGE "Icelandic" +!insertmacro MUI_LANGUAGE "Indonesian" +!insertmacro MUI_LANGUAGE "Irish" +!insertmacro MUI_LANGUAGE "Italian" +!insertmacro MUI_LANGUAGE "Japanese" +!insertmacro MUI_LANGUAGE "Korean" +!insertmacro MUI_LANGUAGE "Kurdish" +!insertmacro MUI_LANGUAGE "Latvian" +!insertmacro MUI_LANGUAGE "Lithuanian" +!insertmacro MUI_LANGUAGE "Luxembourgish" +!insertmacro MUI_LANGUAGE "Macedonian" +!insertmacro MUI_LANGUAGE "Malay" +!insertmacro MUI_LANGUAGE "Mongolian" +!insertmacro MUI_LANGUAGE "Norwegian" +!insertmacro MUI_LANGUAGE "NorwegianNynorsk" +!insertmacro MUI_LANGUAGE "Polish" +!insertmacro MUI_LANGUAGE "Portuguese" +!insertmacro MUI_LANGUAGE "PortugueseBR" +!insertmacro MUI_LANGUAGE "Romanian" +!insertmacro MUI_LANGUAGE "Russian" +!insertmacro MUI_LANGUAGE "Serbian" +!insertmacro MUI_LANGUAGE "SerbianLatin" +!insertmacro MUI_LANGUAGE "SimpChinese" +!insertmacro MUI_LANGUAGE "Slovak" +!insertmacro MUI_LANGUAGE "Slovenian" +!insertmacro MUI_LANGUAGE "Spanish" +!insertmacro MUI_LANGUAGE "SpanishInternational" +!insertmacro MUI_LANGUAGE "Swedish" +!insertmacro MUI_LANGUAGE "Thai" +!insertmacro MUI_LANGUAGE "TradChinese" +!insertmacro MUI_LANGUAGE "Turkish" +!insertmacro MUI_LANGUAGE "Ukrainian" +!insertmacro MUI_LANGUAGE "Uzbek" +!insertmacro MUI_LANGUAGE "Welsh" + +; Reserve files +!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS + +; MUI end ------ + +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" +!define UN_NAME "Uninstall $(^Name)" +OutFile "dolphin-${DOLPHIN_ARCH}-${PRODUCT_VERSION}.exe" +InstallDir "${BASE_INSTALL_DIR}\$(^Name)" +InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" +ShowInstDetails show +ShowUnInstDetails show + +Function .onInit + !insertmacro MUI_LANGDLL_DISPLAY +FunctionEnd + +Section "Base" SEC01 + SectionIn RO + SetShellVarContext all + ; Dolphin exe and dlls + ; TODO: Make a nice subsection-ized display + SetOutPath "$INSTDIR" + SetOverwrite ifnewer + File "${BASE_DIR}\Dolphin.exe" + File "${BASE_DIR}\license.txt" + File "${BASE_DIR}\*.dll" + File /r "${BASE_DIR}\Languages" + File /r "${BASE_DIR}\Sys" + + ; This needs to be done after Dolphin.exe is copied + CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}" + CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\Dolphin.exe" + CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\Dolphin.exe" + + SetOutPath "$TEMP" + SetOverwrite on + File /r "dxredist" +SectionEnd + +Section "DirectX Runtime" SEC02 + DetailPrint "Running DirectX runtime setup..." + ExecWait '"$TEMP\dxredist\DXSETUP.exe" /silent' + DetailPrint "Finished DirectX runtime setup" +SectionEnd + +Section -AdditionalIcons + CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk" "$INSTDIR\uninst.exe" +SectionEnd + +Section -Post + WriteUninstaller "$INSTDIR\uninst.exe" + WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Dolphin.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Dolphin.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 + +; Section descriptions +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN + !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Installs all files required to run the Dolphin Emulator." + !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Installs the recommended DirectX runtime libraries that are needed by Dolphin." +!insertmacro MUI_FUNCTION_DESCRIPTION_END + +Section Uninstall + SetShellVarContext all + ; Only uninstall what we put there; all $INSTDIR\User is left as is + Delete "$INSTDIR\uninst.exe" + Delete "$INSTDIR\license.txt" + Delete "$INSTDIR\*.dll" + Delete "$INSTDIR\Dolphin.exe" + + Delete "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk" + Delete "$DESKTOP\${PRODUCT_NAME}.lnk" + Delete "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" + + RMDir "$SMPROGRAMS\${PRODUCT_NAME}" + RMDir /r "$INSTDIR\Sys" + RMDir /r "$INSTDIR\Languages" + RMDir "$INSTDIR" + + DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" + DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" + SetAutoClose true +SectionEnd diff --git a/Installer/Installer_win32.nsi b/Installer/Installer_win32.nsi index e56436104d..35d5d1f622 100644 --- a/Installer/Installer_win32.nsi +++ b/Installer/Installer_win32.nsi @@ -1,239 +1,5 @@ -!system "GetSVNRev.exe" ; ATTENTION: This MUST be run before this script -!include "svnrev.txt" ; !defines PRODUCT_VERSION -!define BASE_DIR "..\Binary\win32" +!define DOLPHIN_ARCH Win32 +!define BASE_INSTALL_DIR "$PROGRAMFILES32" +!define PRODUCT_NAME "Dolphin x86" -; HM NIS Edit Wizard helper defines -!define PRODUCT_NAME "Dolphin" -!define PRODUCT_PUBLISHER "Dolphin Team" -!define PRODUCT_WEB_SITE "http://www.dolphin-emu.com" -!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Dolphin.exe" -!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" -!define PRODUCT_UNINST_ROOT_KEY "HKLM" - -SetCompressor lzma - -; MUI 1.67 compatible ------ -!include "MUI.nsh" - -; MUI Settings -!define MUI_ABORTWARNING -!define MUI_ICON "Dolphin.ico" -!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" - -; Language Selection Dialog Settings -!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" -!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" -!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language" - -; License page -!insertmacro MUI_PAGE_LICENSE "Licence.txt" -; Components page -!insertmacro MUI_PAGE_COMPONENTS -; Directory page -!insertmacro MUI_PAGE_DIRECTORY -; Instfiles page -!insertmacro MUI_PAGE_INSTFILES -; Finish page -; We launch the desktop shortcut to set the working dir -!define MUI_FINISHPAGE_RUN -!define MUI_FINISHPAGE_RUN_TEXT "Start $(^Name)" -!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchDolphin" -!insertmacro MUI_PAGE_FINISH - -; Uninstaller pages -!insertmacro MUI_UNPAGE_INSTFILES - -; Language files -!insertmacro MUI_LANGUAGE "Afrikaans" -!insertmacro MUI_LANGUAGE "Albanian" -!insertmacro MUI_LANGUAGE "Arabic" -!insertmacro MUI_LANGUAGE "Basque" -!insertmacro MUI_LANGUAGE "Belarusian" -!insertmacro MUI_LANGUAGE "Bosnian" -!insertmacro MUI_LANGUAGE "Breton" -!insertmacro MUI_LANGUAGE "Bulgarian" -!insertmacro MUI_LANGUAGE "Catalan" -!insertmacro MUI_LANGUAGE "Croatian" -!insertmacro MUI_LANGUAGE "Czech" -!insertmacro MUI_LANGUAGE "Danish" -!insertmacro MUI_LANGUAGE "Dutch" -!insertmacro MUI_LANGUAGE "English" -!insertmacro MUI_LANGUAGE "Estonian" -!insertmacro MUI_LANGUAGE "Farsi" -!insertmacro MUI_LANGUAGE "Finnish" -!insertmacro MUI_LANGUAGE "French" -!insertmacro MUI_LANGUAGE "Galician" -!insertmacro MUI_LANGUAGE "German" -!insertmacro MUI_LANGUAGE "Greek" -!insertmacro MUI_LANGUAGE "Hebrew" -!insertmacro MUI_LANGUAGE "Hungarian" -!insertmacro MUI_LANGUAGE "Icelandic" -!insertmacro MUI_LANGUAGE "Indonesian" -!insertmacro MUI_LANGUAGE "Irish" -!insertmacro MUI_LANGUAGE "Italian" -!insertmacro MUI_LANGUAGE "Japanese" -!insertmacro MUI_LANGUAGE "Korean" -!insertmacro MUI_LANGUAGE "Kurdish" -!insertmacro MUI_LANGUAGE "Latvian" -!insertmacro MUI_LANGUAGE "Lithuanian" -!insertmacro MUI_LANGUAGE "Luxembourgish" -!insertmacro MUI_LANGUAGE "Macedonian" -!insertmacro MUI_LANGUAGE "Malay" -!insertmacro MUI_LANGUAGE "Mongolian" -!insertmacro MUI_LANGUAGE "Norwegian" -!insertmacro MUI_LANGUAGE "NorwegianNynorsk" -!insertmacro MUI_LANGUAGE "Polish" -!insertmacro MUI_LANGUAGE "Portuguese" -!insertmacro MUI_LANGUAGE "PortugueseBR" -!insertmacro MUI_LANGUAGE "Romanian" -!insertmacro MUI_LANGUAGE "Russian" -!insertmacro MUI_LANGUAGE "Serbian" -!insertmacro MUI_LANGUAGE "SerbianLatin" -!insertmacro MUI_LANGUAGE "SimpChinese" -!insertmacro MUI_LANGUAGE "Slovak" -!insertmacro MUI_LANGUAGE "Slovenian" -!insertmacro MUI_LANGUAGE "Spanish" -!insertmacro MUI_LANGUAGE "SpanishInternational" -!insertmacro MUI_LANGUAGE "Swedish" -!insertmacro MUI_LANGUAGE "Thai" -!insertmacro MUI_LANGUAGE "TradChinese" -!insertmacro MUI_LANGUAGE "Turkish" -!insertmacro MUI_LANGUAGE "Ukrainian" -!insertmacro MUI_LANGUAGE "Uzbek" -!insertmacro MUI_LANGUAGE "Welsh" - -; Reserve files -!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS - -; MUI end ------ - -Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" -!define UN_NAME "Uninstall $(^Name)" -OutFile "Dolphin_Installer_win32.exe" -InstallDir "$PROGRAMFILES\$(^Name)" -InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" -ShowInstDetails show -ShowUnInstDetails show - -Function .onInit - !insertmacro MUI_LANGDLL_DISPLAY -FunctionEnd - -Section "Base" SEC01 - SetShellVarContext all - ; Dolphin exe and dlls - ; TODO: Make a nice subsection-ized display - SetOutPath "$INSTDIR" - SetOverwrite ifnewer - File "${BASE_DIR}\Dolphin.exe" - File "..\Externals\WiiUse\Win32\wiiuse.dll" - File "..\Externals\SDL\win32\SDL.dll" - File "..\Externals\OpenAL\win32\OpenAL32.dll" - File "..\Externals\OpenAL\win32\wrap_oal.dll" - ; This needs to be done after Dolphin.exe is copied - CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}" - CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Dolphin.lnk" "$INSTDIR\Dolphin.exe" - CreateShortCut "$DESKTOP\Dolphin.lnk" "$INSTDIR\Dolphin.exe" - - ; Plugins - SetOutPath "$INSTDIR\Plugins" - SetOverwrite ifnewer - File "${BASE_DIR}\Plugins\Plugin_DSP_HLE.dll" - File "${BASE_DIR}\Plugins\Plugin_DSP_LLE.dll" - File "${BASE_DIR}\Plugins\Plugin_nJoy_SDL.dll" - File "${BASE_DIR}\Plugins\Plugin_nJoy_SDL_Test.dll" - File "${BASE_DIR}\Plugins\Plugin_PadSimple.dll" - File "${BASE_DIR}\Plugins\Plugin_VideoDX9.dll" - File "${BASE_DIR}\Plugins\Plugin_VideoOGL.dll" - File "${BASE_DIR}\Plugins\Plugin_Wiimote.dll" - File "${BASE_DIR}\Plugins\Plugin_VideoSW.dll" - - ; GC/Wii static settings - SetOutPath "$INSTDIR\Sys\GC" - SetOverwrite ifnewer - File "..\Data\Sys\GC\font_ansi.bin" - File "..\Data\Sys\GC\font_sjis.bin" - SetOutPath "$INSTDIR\Sys\Wii" - SetOverwrite ifnewer - File "..\Data\Sys\Wii\setting-eur.txt" - File "..\Data\Sys\Wii\setting-jpn.txt" - File "..\Data\Sys\Wii\setting-usa.txt" - - ; GC/Wii User settings - SetOutPath "$INSTDIR\User\GC" - SetOutPath "$INSTDIR\User\Wii\shared2\sys" - SetOverwrite ifnewer - File "..\Data\User\Wii\shared2\sys\readme.txt" - File "..\Data\User\Wii\shared2\sys\SYSCONF" - - ; GameConfigs - SetOutPath "$INSTDIR\User\GameConfig" - SetOverwrite ifnewer - File "..\Data\User\GameConfig\*.*" -SectionEnd - -Section -AdditionalIcons - CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk" "$INSTDIR\uninst.exe" -SectionEnd - -Section -Post - WriteUninstaller "$INSTDIR\uninst.exe" - WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Dolphin.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Dolphin.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 - -; Section descriptions -!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "It is recommended that you install all of the included files." -!insertmacro MUI_FUNCTION_DESCRIPTION_END - - -Function un.onUninstSuccess - HideWindow - MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was uninstalled successfully.$\r$\n\ - ATTENTION: You must manually delete$\r$\n$INSTDIR" -FunctionEnd - -Function un.onInit -!insertmacro MUI_UNGETLANGUAGE - MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to remove $(^Name)?" IDYES +2 - Abort -FunctionEnd - -Section Uninstall - SetShellVarContext all - ; Only uninstall what we put there; all $INSTDIR\User is left as is - Delete "$INSTDIR\uninst.exe" - Delete "$INSTDIR\*.dll" - Delete "$INSTDIR\Plugins\*.dll" - Delete "$INSTDIR\Sys\Wii\setting-usa.txt" - Delete "$INSTDIR\Sys\Wii\setting-jpn.txt" - Delete "$INSTDIR\Sys\Wii\setting-eur.txt" - Delete "$INSTDIR\Sys\GC\font_sjis.bin" - Delete "$INSTDIR\Sys\GC\font_ansi.bin" - Delete "$INSTDIR\Dolphin.exe" - - Delete "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk" - Delete "$DESKTOP\Dolphin.lnk" - Delete "$SMPROGRAMS\${PRODUCT_NAME}\Dolphin.lnk" - - RMDir "$SMPROGRAMS\${PRODUCT_NAME}" - RMDir "$INSTDIR\Sys\GC" - RMDir "$INSTDIR\Sys\Wii" - RMDir "$INSTDIR\Sys" - RMDir "$INSTDIR\Plugins" - RMDir "$INSTDIR" - - DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" - DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" - SetAutoClose true -SectionEnd - -Function LaunchDolphin - ExecShell "" "$DESKTOP\Dolphin.lnk" -FunctionEnd +!include Installer.nsi \ No newline at end of file diff --git a/Installer/Installer_x64.nsi b/Installer/Installer_x64.nsi index ff78b5aa5d..3b6ee79f50 100644 --- a/Installer/Installer_x64.nsi +++ b/Installer/Installer_x64.nsi @@ -1,249 +1,5 @@ -!system "GetSVNRev.exe" ; ATTENTION: This MUST be run before this script -!include "svnrev.txt" ; !defines PRODUCT_VERSION -!define BASE_DIR "..\Binary\x64" +!define DOLPHIN_ARCH x64 +!define BASE_INSTALL_DIR "$PROGRAMFILES64" +!define PRODUCT_NAME "Dolphin" -; HM NIS Edit Wizard helper defines -!define PRODUCT_NAME "Dolphin x64" -!define PRODUCT_PUBLISHER "Dolphin Team" -!define PRODUCT_WEB_SITE "http://www.dolphin-emu.com" -!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Dolphin.exe" -!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" -!define PRODUCT_UNINST_ROOT_KEY "HKLM" - -SetCompressor lzma - -; MUI 1.67 compatible ------ -!include "MUI.nsh" - -; MUI Settings -!define MUI_ABORTWARNING -!define MUI_ICON "Dolphin.ico" -!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" - -; Language Selection Dialog Settings -!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" -!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" -!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language" - -; License page -!insertmacro MUI_PAGE_LICENSE "Licence.txt" -; Components page -!insertmacro MUI_PAGE_COMPONENTS -; Directory page -!insertmacro MUI_PAGE_DIRECTORY -; Instfiles page -!insertmacro MUI_PAGE_INSTFILES -; Finish page -; We launch the desktop shortcut to set the working dir -!define MUI_FINISHPAGE_RUN -!define MUI_FINISHPAGE_RUN_TEXT "Start $(^Name)" -!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchDolphin" -!insertmacro MUI_PAGE_FINISH - -; Uninstaller pages -!insertmacro MUI_UNPAGE_INSTFILES - -; Language files -!insertmacro MUI_LANGUAGE "Afrikaans" -!insertmacro MUI_LANGUAGE "Albanian" -!insertmacro MUI_LANGUAGE "Arabic" -!insertmacro MUI_LANGUAGE "Basque" -!insertmacro MUI_LANGUAGE "Belarusian" -!insertmacro MUI_LANGUAGE "Bosnian" -!insertmacro MUI_LANGUAGE "Breton" -!insertmacro MUI_LANGUAGE "Bulgarian" -!insertmacro MUI_LANGUAGE "Catalan" -!insertmacro MUI_LANGUAGE "Croatian" -!insertmacro MUI_LANGUAGE "Czech" -!insertmacro MUI_LANGUAGE "Danish" -!insertmacro MUI_LANGUAGE "Dutch" -!insertmacro MUI_LANGUAGE "English" -!insertmacro MUI_LANGUAGE "Estonian" -!insertmacro MUI_LANGUAGE "Farsi" -!insertmacro MUI_LANGUAGE "Finnish" -!insertmacro MUI_LANGUAGE "French" -!insertmacro MUI_LANGUAGE "Galician" -!insertmacro MUI_LANGUAGE "German" -!insertmacro MUI_LANGUAGE "Greek" -!insertmacro MUI_LANGUAGE "Hebrew" -!insertmacro MUI_LANGUAGE "Hungarian" -!insertmacro MUI_LANGUAGE "Icelandic" -!insertmacro MUI_LANGUAGE "Indonesian" -!insertmacro MUI_LANGUAGE "Irish" -!insertmacro MUI_LANGUAGE "Italian" -!insertmacro MUI_LANGUAGE "Japanese" -!insertmacro MUI_LANGUAGE "Korean" -!insertmacro MUI_LANGUAGE "Kurdish" -!insertmacro MUI_LANGUAGE "Latvian" -!insertmacro MUI_LANGUAGE "Lithuanian" -!insertmacro MUI_LANGUAGE "Luxembourgish" -!insertmacro MUI_LANGUAGE "Macedonian" -!insertmacro MUI_LANGUAGE "Malay" -!insertmacro MUI_LANGUAGE "Mongolian" -!insertmacro MUI_LANGUAGE "Norwegian" -!insertmacro MUI_LANGUAGE "NorwegianNynorsk" -!insertmacro MUI_LANGUAGE "Polish" -!insertmacro MUI_LANGUAGE "Portuguese" -!insertmacro MUI_LANGUAGE "PortugueseBR" -!insertmacro MUI_LANGUAGE "Romanian" -!insertmacro MUI_LANGUAGE "Russian" -!insertmacro MUI_LANGUAGE "Serbian" -!insertmacro MUI_LANGUAGE "SerbianLatin" -!insertmacro MUI_LANGUAGE "SimpChinese" -!insertmacro MUI_LANGUAGE "Slovak" -!insertmacro MUI_LANGUAGE "Slovenian" -!insertmacro MUI_LANGUAGE "Spanish" -!insertmacro MUI_LANGUAGE "SpanishInternational" -!insertmacro MUI_LANGUAGE "Swedish" -!insertmacro MUI_LANGUAGE "Thai" -!insertmacro MUI_LANGUAGE "TradChinese" -!insertmacro MUI_LANGUAGE "Turkish" -!insertmacro MUI_LANGUAGE "Ukrainian" -!insertmacro MUI_LANGUAGE "Uzbek" -!insertmacro MUI_LANGUAGE "Welsh" - -; Reserve files -!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS - -; MUI end ------ - -Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" -!define UN_NAME "Uninstall $(^Name)" -OutFile "Dolphin_Installer_x64.exe" -InstallDir "$PROGRAMFILES64\$(^Name)" -InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" -ShowInstDetails show -ShowUnInstDetails show - -Function .onInit - !include "x64.nsh" - ; This checks if nsis is running under wow64 (since nsis is only 32bit) - ; hopefully this will be dependable in the future too... - ${If} ${RunningX64} - !insertmacro MUI_LANGDLL_DISPLAY - SetRegView 64 - ${Else} - MessageBox MB_OK|MB_ICONSTOP "You cannot run this version of Dolphin on your OS.$\r$\n\ - Please use a 64-bit OS or download a 32-bit version of Dolphin." - Quit - ${EndIf} -FunctionEnd - -Section "Complete" SEC01 - SetShellVarContext all - ; Dolphin exe and dlls - ; TODO: Make a nice subsection-ized display - SetOutPath "$INSTDIR" - SetOverwrite ifnewer - File "${BASE_DIR}\Dolphin.exe" - File "..\Externals\WiiUse\X64\wiiuse.dll" - File "..\Externals\SDL\x64\SDL.dll" - File "..\Externals\OpenAL\win64\OpenAL32.dll" - File "..\Externals\OpenAL\win64\wrap_oal.dll" - ; This needs to be done after Dolphin.exe is copied - CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}" - CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Dolphin x64.lnk" "$INSTDIR\Dolphin.exe" - CreateShortCut "$DESKTOP\Dolphin x64.lnk" "$INSTDIR\Dolphin.exe" - - ; Plugins - SetOutPath "$INSTDIR\Plugins" - SetOverwrite ifnewer - File "${BASE_DIR}\Plugins\Plugin_DSP_HLE.dll" - File "${BASE_DIR}\Plugins\Plugin_DSP_LLE.dll" - File "${BASE_DIR}\Plugins\Plugin_nJoy_SDL.dll" - File "${BASE_DIR}\Plugins\Plugin_nJoy_SDL_Test.dll" - File "${BASE_DIR}\Plugins\Plugin_PadSimple.dll" - File "${BASE_DIR}\Plugins\Plugin_VideoDX9.dll" - File "${BASE_DIR}\Plugins\Plugin_VideoOGL.dll" - File "${BASE_DIR}\Plugins\Plugin_Wiimote.dll" - File "${BASE_DIR}\Plugins\Plugin_VideoSW.dll" - - ; GC/Wii static settings - SetOutPath "$INSTDIR\Sys\GC" - SetOverwrite ifnewer - File "..\Data\Sys\GC\font_ansi.bin" - File "..\Data\Sys\GC\font_sjis.bin" - SetOutPath "$INSTDIR\Sys\Wii" - SetOverwrite ifnewer - File "..\Data\Sys\Wii\setting-eur.txt" - File "..\Data\Sys\Wii\setting-jpn.txt" - File "..\Data\Sys\Wii\setting-usa.txt" - - ; GC/Wii User settings - SetOutPath "$INSTDIR\User\GC" - SetOutPath "$INSTDIR\User\Wii\shared2\sys" - SetOverwrite ifnewer - File "..\Data\User\Wii\shared2\sys\readme.txt" - File "..\Data\User\Wii\shared2\sys\SYSCONF" - - ; GameConfigs - SetOutPath "$INSTDIR\User\GameConfig" - SetOverwrite ifnewer - File "..\Data\User\GameConfig\*.*" -SectionEnd - -Section -AdditionalIcons - CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk" "$INSTDIR\uninst.exe" -SectionEnd - -Section -Post - WriteUninstaller "$INSTDIR\uninst.exe" - WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Dolphin.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Dolphin.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 - -; Section descriptions -!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "It is recommended that you install all of the included files." -!insertmacro MUI_FUNCTION_DESCRIPTION_END - - -Function un.onUninstSuccess - HideWindow - MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was uninstalled successfully.$\r$\n\ - ATTENTION: You must manually delete$\r$\n$INSTDIR" -FunctionEnd - -Function un.onInit -!insertmacro MUI_UNGETLANGUAGE - MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to remove $(^Name)?" IDYES +2 - Abort -FunctionEnd - -Section Uninstall - SetShellVarContext all - ; Only uninstall what we put there; all $INSTDIR\User is left as is - Delete "$INSTDIR\uninst.exe" - Delete "$INSTDIR\*.dll" - Delete "$INSTDIR\Plugins\*.dll" - Delete "$INSTDIR\Sys\Wii\setting-usa.txt" - Delete "$INSTDIR\Sys\Wii\setting-jpn.txt" - Delete "$INSTDIR\Sys\Wii\setting-eur.txt" - Delete "$INSTDIR\Sys\GC\font_sjis.bin" - Delete "$INSTDIR\Sys\GC\font_ansi.bin" - Delete "$INSTDIR\Dolphin.exe" - - Delete "$SMPROGRAMS\${PRODUCT_NAME}\${UN_NAME}.lnk" - Delete "$DESKTOP\Dolphin x64.lnk" - Delete "$SMPROGRAMS\${PRODUCT_NAME}\Dolphin x64.lnk" - - RMDir "$SMPROGRAMS\${PRODUCT_NAME}" - RMDir "$INSTDIR\Sys\GC" - RMDir "$INSTDIR\Sys\Wii" - RMDir "$INSTDIR\Sys" - RMDir "$INSTDIR\Plugins" - RMDir "$INSTDIR" - - DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" - DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" - SetAutoClose true -SectionEnd - -Function LaunchDolphin - ExecShell "" "$DESKTOP\Dolphin x64.lnk" -FunctionEnd +!include Installer.nsi \ No newline at end of file diff --git a/Installer/dxredist/APR2007_xinput_x64.cab b/Installer/dxredist/APR2007_xinput_x64.cab new file mode 100644 index 0000000000..732f8a8f36 Binary files /dev/null and b/Installer/dxredist/APR2007_xinput_x64.cab differ diff --git a/Installer/dxredist/APR2007_xinput_x86.cab b/Installer/dxredist/APR2007_xinput_x86.cab new file mode 100644 index 0000000000..f414d55571 Binary files /dev/null and b/Installer/dxredist/APR2007_xinput_x86.cab differ diff --git a/Installer/dxredist/DSETUP.dll b/Installer/dxredist/DSETUP.dll new file mode 100644 index 0000000000..691025af7e Binary files /dev/null and b/Installer/dxredist/DSETUP.dll differ diff --git a/Installer/dxredist/DXSETUP.exe b/Installer/dxredist/DXSETUP.exe new file mode 100644 index 0000000000..5d062aa978 Binary files /dev/null and b/Installer/dxredist/DXSETUP.exe differ diff --git a/Installer/dxredist/dsetup32.dll b/Installer/dxredist/dsetup32.dll new file mode 100644 index 0000000000..1781afa4b0 Binary files /dev/null and b/Installer/dxredist/dsetup32.dll differ diff --git a/Installer/dxredist/dxupdate.cab b/Installer/dxredist/dxupdate.cab new file mode 100644 index 0000000000..ed3b5b89f5 Binary files /dev/null and b/Installer/dxredist/dxupdate.cab differ