diff --git a/nsis/SectionUninstaller.nsh b/nsis/SectionUninstaller.nsh index 9dd36ad66e..3b23abc108 100644 --- a/nsis/SectionUninstaller.nsh +++ b/nsis/SectionUninstaller.nsh @@ -8,6 +8,9 @@ Section "Un.Program and Plugins ${APP_NAME}" SetShellVarContext all + ; First thing, remove the registry entry in case uninstall doesn't complete successfully + ; otherwise, pcsx2 will be "confused" if it's re-installed later. + DeleteRegKey HKCU Software\PCSX2 !insertmacro UNINSTALL.LOG_UNINSTALL "$INSTDIR" @@ -24,12 +27,11 @@ Section "Un.Program and Plugins ${APP_NAME}" ; Remove files and registry key that store PCSX2 paths configurations SetShellVarContext current Delete $DOCUMENTS\PCSX2\inis\PCSX2_ui.ini - DeleteRegKey HKCU Software\PCSX2 SectionEnd ; /o for optional and unticked by default -Section /o "Un.Program and Plugin configuration files" +Section /o "Un.Configuration files (Program and Plugins)" SetShellVarContext current RMDir /r "$DOCUMENTS\PCSX2\inis\" @@ -37,9 +39,21 @@ Section /o "Un.Program and Plugin configuration files" SectionEnd ; /o for optional and unticked by default -Section /o "Un.User files (Memory Cards, Savestates, BIOS, etc)" +Section /o "Un.User files (Memory Cards, Savestates, etc)" SetShellVarContext current - RMDir /r "$DOCUMENTS\PCSX2\" + RMDir /r "$DOCUMENTS\PCSX2\inis\" + RMDir /r "$DOCUMENTS\PCSX2\logs\" + RMDir /r "$DOCUMENTS\PCSX2\memcards\" + RMDir /r "$DOCUMENTS\PCSX2\snaps\" + RMDir /r "$DOCUMENTS\PCSX2\sstates\" + +SectionEnd + +; /o for optional and unticked by default +Section /o "Un.BIOS files" + + SetShellVarContext current + RMDir /r "$DOCUMENTS\PCSX2\bios\" SectionEnd \ No newline at end of file diff --git a/nsis/SharedBase.nsh b/nsis/SharedBase.nsh index 92ff5c3ede..69fa51f95e 100644 --- a/nsis/SharedBase.nsh +++ b/nsis/SharedBase.nsh @@ -44,7 +44,7 @@ ; uninstall folders. !ifndef APP_VERSION - !define APP_VERSION "0.9.8" + !define APP_VERSION "1.0.0" !endif !define APP_NAME "PCSX2 ${APP_VERSION} (r${SVNREV_PACKAGE})" diff --git a/nsis/nsis_instructions.txt b/nsis/nsis_instructions.txt index 97c76ead01..4bb8f1cc54 100644 --- a/nsis/nsis_instructions.txt +++ b/nsis/nsis_instructions.txt @@ -5,28 +5,33 @@ * Install NSIS (tested with 2.46) * Install NSIS Script: Advanced Uninstall Log (you can find it on NSIS wiki) - * Download the Visual C++ 2008 SP1 Redistributable and save it to this nsis/ folder under the name: - vcredist_2008_sp1_x86.exe +/******* + -- Not needed as we now build using VS2010 --: +* Download the Visual C++ 2008 SP1 Redistributable and save it to this nsis/ folder under the name: + vcredist_2008_sp1_x86.exe ( http://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8dab-795376989c03/vcredist_x86.exe ) +*******/ - * Download the Visual C++ 2010 Redistributable and save it to this nsis/ folder. - vcredist_2010_x86.exe + * Download the Visual C++ 2010 SP1 Redistributable and save it to this nsis/ folder. + vcredist_2010_sp1_x86.exe ( http://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe ) - [both files can be obtained from Microsoft's website, just google for them] + [the files can be obtained from Microsoft's website, just google for them] - * Download the DirectX Web Installer (vcwebsetup.exe) from Microsoft's website and save it to + * Download the DirectX Web Installer (dxwebsetup.exe) from Microsoft's website and save it to this nsis/ folder. (currently required, might be made optional later). No name change is - required. + required. ( http://download.microsoft.com/download/1/7/1/1718CCC4-6315-4D8E-9543-8E28A4E18C4C/dxwebsetup.exe ) * Load the PCSX2 Suite solution and rebuild all in the following targets: * Release SSE2 * Release SSSE3 (only needed if packaging plugins) * Release SSE4 (only needed if packaging plugins) + * Release AVX (only needed if packaging plugins) * Devel (optional) You may selectively unload plugins you do not wish to package prior to running the NSIS script. - * Compile script! Output executable will be generated to the output/ folder. + * Compile scripts (pcsx2_web_install.nsi and pcsx2_full_install.nsi)! + Output executables will be generated to the output/ folder. -------------------------------------------- @@ -37,7 +42,7 @@ The installer will include plugins only if they are present. If you do not buil remove some (or all) plugins before running the nsis script, only PCSX2 and whatever remaining plugins will be packaged. -GSdx SSE2, SSSE3, and SSE4 versions are all included into the installer *if* they are present. +GSdx SSE2, SSSE3, SSE4 and AVX versions are all included into the installer *if* they are present. You will need to follow the above instructions and compile all release targets to get all the GSdx DLLs. diff --git a/nsis/pcsx2_full_install.nsi b/nsis/pcsx2_full_install.nsi index 410928cfa4..43922acb3c 100644 --- a/nsis/pcsx2_full_install.nsi +++ b/nsis/pcsx2_full_install.nsi @@ -7,11 +7,11 @@ !ifndef INC_CRT_2008 ; Set to 0 to disable inclusion of Visual Studio 2008 SP1 CRT Redists - !define INC_CRT_2008 1 + !define INC_CRT_2008 0 !endif !ifndef INC_CRT_2010 - ; Set to 0 to disable inclusion of Visual Studio 2010 CRT Redists + ; Set to 0 to disable inclusion of Visual Studio 2010 SP1 CRT Redists !define INC_CRT_2010 1 !endif @@ -57,10 +57,11 @@ Section "!${APP_NAME} (required)" SEC_CORE SetOutPath "$INSTDIR\Plugins" !insertmacro UNINSTALL.LOG_OPEN_INSTALL - File /nonfatal /oname=gsdx-sse2-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx-sse2.dll - File /nonfatal /oname=gsdx-ssse3-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx-ssse3.dll - File /nonfatal /oname=gsdx-sse4-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx-sse4.dll - File /nonfatal /oname=zerogs-r${SVNREV_ZEROGS}.dll ..\bin\Plugins\zerogs.dll + File /nonfatal /oname=gsdx32-sse2-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-sse2.dll + File /nonfatal /oname=gsdx32-ssse3-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-ssse3.dll + File /nonfatal /oname=gsdx32-sse4-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-sse4.dll + File /nonfatal /oname=gsdx32-avx-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-avx.dll + File /nonfatal /oname=zerogs-r${SVNREV_ZEROGS}.dll ..\bin\Plugins\zerogs.dll File /nonfatal /oname=spu2-x-r${SVNREV_SPU2X}.dll ..\bin\Plugins\spu2-x.dll File /nonfatal /oname=zerospu2-r${SVNREV_ZEROSPU2}.dll ..\bin\Plugins\zerospu2.dll @@ -108,7 +109,7 @@ SectionEnd !endif !if ${INC_CRT_2010} > 0 -Section "Microsoft Visual C++ 2010 Redist (recommended)" SEC_CRT2010 +Section "Microsoft Visual C++ 2010 SP1 Redist (recommended)" SEC_CRT2010 ;SectionIn RO @@ -116,7 +117,7 @@ Section "Microsoft Visual C++ 2010 Redist (recommended)" SEC_CRT2010 ; independent key for checking availability. ; Downloaded from: - ; http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe + ; http://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe ClearErrors ReadRegDword $R0 HKLM "SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86" "Installed" @@ -127,12 +128,12 @@ Section "Microsoft Visual C++ 2010 Redist (recommended)" SEC_CRT2010 Goto done SetOutPath "$TEMP" - File "vcredist_2010_x86.exe" - DetailPrint "Running Visual C++ 2010 Redistributable Setup..." - ExecWait '"$TEMP\vcredist_2010_x86.exe" /qb' - DetailPrint "Finished Visual C++ 2010 Redistributable Setup" + File "vcredist_2010_sp1_x86.exe" + DetailPrint "Running Visual C++ 2010 SP1 Redistributable Setup..." + ExecWait '"$TEMP\vcredist_2010_sp1_x86.exe" /qb' + DetailPrint "Finished Visual C++ 2010 SP1 Redistributable Setup" - Delete "$TEMP\vcredist_2010_x86.exe" + Delete "$TEMP\vcredist_2010_sp1_x86.exe" done: SectionEnd diff --git a/nsis/pcsx2_web_install.nsi b/nsis/pcsx2_web_install.nsi index 457e25a5fc..0981f5ce5b 100644 --- a/nsis/pcsx2_web_install.nsi +++ b/nsis/pcsx2_web_install.nsi @@ -53,10 +53,11 @@ Section "!${APP_NAME} (required)" SEC_CORE SetOutPath "$INSTDIR\Plugins" !insertmacro UNINSTALL.LOG_OPEN_INSTALL - File /nonfatal /oname=gsdx-sse2-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx-sse2.dll - File /nonfatal /oname=gsdx-ssse3-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx-ssse3.dll - File /nonfatal /oname=gsdx-sse4-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx-sse4.dll - File /nonfatal /oname=zerogs-r${SVNREV_ZEROGS}.dll ..\bin\Plugins\zerogs.dll + File /nonfatal /oname=gsdx32-sse2-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-sse2.dll + File /nonfatal /oname=gsdx32-ssse3-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-ssse3.dll + File /nonfatal /oname=gsdx32-sse4-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-sse4.dll + File /nonfatal /oname=gsdx32-avx-r${SVNREV_GSDX}.dll ..\bin\Plugins\gsdx32-avx.dll + File /nonfatal /oname=zerogs-r${SVNREV_ZEROGS}.dll ..\bin\Plugins\zerogs.dll File /nonfatal /oname=spu2-x-r${SVNREV_SPU2X}.dll ..\bin\Plugins\spu2-x.dll File /nonfatal /oname=zerospu2-r${SVNREV_ZEROSPU2}.dll ..\bin\Plugins\zerospu2.dll @@ -105,6 +106,7 @@ SectionEnd ; None of the methods are reliable, because the registry keys placed by the MSI installer ; vary depending on operating system *and* MSI installer version (youch). ; +!if 0 ; Not required anymore, we're compiling with vs2010 (there's anotehr commented out section below. search "SEC_CRT2008"). Section "Microsoft Visual C++ 2008 SP1 Redist (required)" SEC_CRT2008 ;SectionIn RO @@ -142,8 +144,9 @@ OnSuccess: done: SectionEnd +!endif -Section "Microsoft Visual C++ 2010 Redist (required)" SEC_CRT2010 +Section "Microsoft Visual C++ 2010 SP1 Redist (required)" SEC_CRT2010 ; Make this required on the web installer, since it has a fully reliable check to ; see if it needs to be downloaded and installed or not. @@ -153,7 +156,7 @@ Section "Microsoft Visual C++ 2010 Redist (required)" SEC_CRT2010 ; independent key for checking availability. ; Downloaded from: - ; http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe + ; http://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe ClearErrors ReadRegDword $R0 HKLM "SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86" "Installed" @@ -165,15 +168,15 @@ Section "Microsoft Visual C++ 2010 Redist (required)" SEC_CRT2010 SetOutPath "$TEMP" - DetailPrint "Downloading Visual C++ 2010 Redistributable Setup..." + DetailPrint "Downloading Visual C++ 2010 SP1 Redistributable Setup..." DetailPrint "Contacting Microsoft.com..." - NSISdl::download /TIMEOUT=15000 "http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe" "vcredist_2010_x86.exe" + NSISdl::download /TIMEOUT=15000 "http://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe" "vcredist_2010_sp1_x86.exe" Pop $R0 ;Get the return value StrCmp $R0 "success" OnSuccess DetailPrint "Cound not contact Microsoft.com, or the file has been (re)moved!" DetailPrint "Contacting Googlecode.com..." - NSISdl::download /TIMEOUT=20000 "http://pcsx2.googlecode.com/files/vcredist_2010_x86.exe" "vcredist_2010_x86.exe" + NSISdl::download /TIMEOUT=20000 "http://pcsx2.googlecode.com/files/vcredist_2010_sp1_x86.exe" "vcredist_2010_sp1_x86.exe" ; [TODO] Provide a mirror for this file hosted from pcsx2.net .. ? or emudev.net .. ? ;Pop $R0 ;Get the return value @@ -182,15 +185,15 @@ Section "Microsoft Visual C++ 2010 Redist (required)" SEC_CRT2010 Pop $R0 ;Get the return value StrCmp $R0 "success" +2 - MessageBox MB_OK "Could not download Visual Studio 2010 Redist; none of the mirrors appear to be functional." + MessageBox MB_OK "Could not download Visual Studio 2010 SP1 Redist; none of the mirrors appear to be functional." Goto done OnSuccess: DetailPrint "Running Visual C++ 2010 SP1 Redistributable Setup..." - ExecWait '"$TEMP\vcredist_2010_x86.exe" /qb' + ExecWait '"$TEMP\vcredist_2010_sp1_x86.exe" /qb' DetailPrint "Finished Visual C++ 2010 SP1 Redistributable Setup" - Delete "$TEMP\vcredist_2010_x86.exe" + Delete "$TEMP\vcredist_2010_sp1_x86.exe" done: SectionEnd @@ -258,7 +261,9 @@ LangString DESC_DIRECTX ${LANG_ENGLISH} "Only uncheck this if you are quite c !insertmacro MUI_DESCRIPTION_TEXT ${SEC_STARTMENU} $(DESC_STARTMENU) !insertmacro MUI_DESCRIPTION_TEXT ${SEC_DESKTOP} $(DESC_DESKTOP) +!if 0 !insertmacro MUI_DESCRIPTION_TEXT ${SEC_CRT2008} $(DESC_CRT2008) +!endif !insertmacro MUI_DESCRIPTION_TEXT ${SEC_CRT2010} $(DESC_CRT2010) !insertmacro MUI_DESCRIPTION_TEXT ${SEC_DIRECTX} $(DESC_DIRECTX) !insertmacro MUI_FUNCTION_DESCRIPTION_END