NSIS Un/Installer: updates (for both full/web installers):

- Removed vcredist 2008-sp1 and 2010, added vcredist 2010 sp1.
- GSdx DLLs rename (+"32"), added avx.
- Version to 1.0.0.
- Uninstaller: bios removal now has own checkbox (can now remove everything and keep bios).
- Uninstaller: registry is cleaned first (better for next install in case uninstall fails for some reason).

TODO/ToTest:
- Test upgrade from 0.98, 0.97.
- Got few crashes and/or errors if files/folders were in use while uninstalling. Look into that.
- First install on a clean system: test that first-time-wizard appears (i didn't get the ftw, I possibly had stuff from previous incomplete uninstall).
- Add an option to run pcsx2 when the installer completes?
- readme/faq have "0.9.8" in filename, but the installer refers to <version>, check if/when it's used.
- Cheats folder created at program files. consider at mydocs?
- Cheats folder contains what appears to be a valid pnach file for personas 4 (inf health etc). do we want that packaged?
- Do we want to mirror vcredist 2010sp1 on pcsx2.code.google/files? (older redists are mirrored).
- Change the installer logo to the one used everywhere else?
- See if we can use the best gsdx version selected initially (my system supports sse4, but it selects the sse2 dll by default at ftw).
- Default KB config for lilypad? all other plugins can work without configuring manually, but without a controller configured, it's very meh. See what we can do about it.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5271 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
avihal 2012-06-06 14:55:15 +00:00
parent 3321b327a9
commit 6d691b63f5
5 changed files with 64 additions and 39 deletions

View File

@ -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

View File

@ -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})"

View File

@ -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.

View File

@ -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

View File

@ -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