NSIS Installer:

* Add the major/minor version number to the generated exe's.
 * Default to using the HEAD revision for all exe's and plugins in the package, instead of versioning each one independently.
 * Update instructions readme to mention use of Eclipse as a NSIS editor and integrated environment.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3122 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
Jake.Stine 2010-05-30 02:00:19 +00:00
parent b678e65b6e
commit 52609a58c8
18 changed files with 584 additions and 545 deletions

View File

@ -1,13 +1,13 @@
; =======================================================================
; Setup.exe Properties
; =======================================================================
; (for the professionalism!!)
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${APP_NAME}"
;VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "A test comment"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© 2010 PCSX2 Dev Team"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Installs PCSX2, a Playstation 2 Emulator for the PC"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${APP_VERSION}.${SVNREV}"
VIProductVersion "${APP_VERSION}.${SVNREV}"
; =======================================================================
; Generated-Setup.exe Properties
; =======================================================================
; (for the professionalism!!)
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${APP_NAME}"
;VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "A test comment"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© 2010 PCSX2 Dev Team"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Installs PCSX2, a Playstation 2 Emulator for the PC."
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${APP_VERSION}.${SVNREV_PACKAGE}"
VIProductVersion "${APP_VERSION}.${SVNREV_PACKAGE}"

View File

@ -11,9 +11,10 @@ Section "Start Menu Shortcuts" SEC_STARTMENU
CreateShortCut "$SMPROGRAMS\PCSX2\Uninstall ${APP_NAME}.lnk" "${UNINST_EXE}" "" "${UNINST_EXE}" 0
CreateShortCut "$SMPROGRAMS\PCSX2\${APP_NAME}.lnk" "${APP_EXE}" "" "${APP_EXE}" 0
CreateShortCut "$SMPROGRAMS\PCSX2\Readme ${APP_VERSION}.lnk" "$INSTDIR\docs\${PCSX2_README}"
;CreateShortCut "$SMPROGRAMS\PCSX2\Timeline of PCSX2 Releases.lnk" "$INSTDIR\${PCSX2_README}.doc"
CreateShortCut "$SMPROGRAMS\PCSX2\Frequently Asked Questions ${APP_VERSION}.lnk" "$INSTDIR\docs\${PCSX2_FAQ}"
CreateShortCut "$SMPROGRAMS\PCSX2\Readme ${APP_VERSION}.lnk" "$INSTDIR\docs\${PCSX2_README}" \
"" "" 0 "" "" "Typical usage overview and background information for PCSX2."
CreateShortCut "$SMPROGRAMS\PCSX2\Frequently Asked Questions ${APP_VERSION}.lnk" "$INSTDIR\docs\${PCSX2_FAQ}" \
"" "" 0 "" "" "Common answers to common problems and inquiries."
;IfFileExists ..\bin\pcsx2-dev.exe 0 +2
; CreateShortCut "PCSX2\pcsx2-dev-r${SVNREV}.lnk" "$INSTDIR\pcsx2-dev-r${SVNREV}.exe" "" "$INSTDIR\pcsx2-dev-r${SVNREV}.exe" 0 "" "" \

116
nsis/SharedBase.nsh Normal file
View File

@ -0,0 +1,116 @@
; =======================================================================
; Core Includes and Defines
; =======================================================================
!ifndef INC_CORE
!define INC_CORE 1
!endif
!ifndef INC_PLUGINS
; Set to 0 to include the core binaries only (no plugins)
!define INC_PLUGINS 1
!endif
!ifndef INC_LANGS
; Set to 1 to enable inclusion of Languages folders (which are currently missing in 0.9.7)
!define INC_LANGS 0
!endif
!ifndef USE_PACKAGE_REV
; When enabled, all exe and plugins use a single revision based ont he trunk/HEAD svn revision.
; When disabled, each plugin and the main exe get their own revision number based on the actual
; revision the component was last updated.
!define USE_PACKAGE_REV 1
!endif
!if ${INC_CORE} > 0
; FIXME: Technically we'd want to exclude plugin revisions here, but it isn't easy to do.
!system 'SubWCRev.exe ..\ templates\svnrev_package.nsh svnrev_package.nsh'
!else
; Revision information for all plugins; used to moniker the output file when building
; plugin-only packages.
!system 'SubWCRev.exe ..\plugins templates\svnrev_package.nsh svnrev_package.nsh'
!endif
!system 'SubWCRev.exe ..\pcsx2 templates\svnrev_pcsx2.nsh svnrev_pcsx2.nsh'
!include "svnrev_package.nsh"
!include "svnrev_pcsx2.nsh"
; Notes on Uninstall Log Location (UNINSTALL_LOG)
; The name of the uninstall log determines whether or not future installers
; fall under the same single uninstall entry, or if they use multiple (separate)
; uninstall folders.
!ifndef APP_VERSION
!define APP_VERSION "0.9.7"
!endif
!define APP_NAME "PCSX2 ${APP_VERSION} (r${SVNREV_PACKAGE})"
!define APP_FILENAME "pcsx2-r${SVNREV_PCSX2}"
!define UNINSTALL_LOG "Uninst-pcsx2-r${SVNREV_PACKAGE}"
!define INSTDIR_REG_ROOT "HKLM"
XPStyle on
; LZMA is the best, by far, so let's make sure it's always in use:
; (dictionaries larger than 24MB don't seem to help)
SetCompressor /SOLID lzma
SetCompressorDictSize 24
; The name of the installer
Name "${APP_NAME}"
OutFile "output\pcsx2-${APP_VERSION}-r${SVNREV_PACKAGE}-${OUTFILE_POSTFIX}.exe"
; The default installation directory
InstallDir "$PROGRAMFILES\PCSX2 ${APP_VERSION}"
; Registry key to check for directory (so if you install again, it will
; overwrite the old one automatically)
InstallDirRegKey ${INSTDIR_REG_ROOT} "Software\PCSX2" "Install_Dir_${APP_VERSION}"
; These defines are dependent on NSIS vars assigned above.
!define APP_EXE "$INSTDIR\${APP_FILENAME}.exe"
!define INSTDIR_REG_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_FILENAME}"
!define PCSX2_README "pcsx2 readme ${APP_VERSION}.doc"
!define PCSX2_FAQ "pcsx2 FAQ ${APP_VERSION}.pdf"
Var DirectXSetupError
; =======================================================================
; Vista/Win7 UAC Stuff
; =======================================================================
; FIXME !!
; Request application privileges for Windows Vista/7; I'd love for this to be sensible about which
; execution level it requests, but UAC is breaking my mind. I included some code for User type
; detection in function IsUserAdmin, but not really using it constructively yet. (see also our
; uses of SetShellVarContext in the installer sections)
;!include "IsUserAdmin.nsi"
; Allow admin-rights PCSX2 users to be hardcore!
AllowRootDirInstall true
; Just require admin for now, until we figure out a nice way to allow for casual user installs.
RequestExecutionLevel admin
; =======================================================================
; MUI2 and Advanced Uninstaller Basics
; =======================================================================
!include "MUI2.nsh"
!include "AdvUninstLog.nsh"
; This defines the Advanced Uninstaller mode of operation...
!insertmacro UNATTENDED_UNINSTALL
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "banner.bmp"
!define MUI_COMPONENTSPAGE_SMALLDESC

View File

@ -1,117 +1,117 @@
; =======================================================================
; Plugin Includes
; =======================================================================
; Note that zzOgl is disabled for now because it requires CG dependencies to be installed.
!if ${INC_PLUGINS} > 0
!system 'SubWCRev.exe ..\plugins\gsdx templates\svnrev_gsdx.nsh svnrev_gsdx.nsh'
!system 'SubWCRev.exe ..\plugins\spu2-x templates\svnrev_spu2x.nsh svnrev_spu2x.nsh'
!system 'SubWCRev.exe ..\plugins\cdvdiso templates\svnrev_cdvdiso.nsh svnrev_cdvdiso.nsh'
!system 'SubWCRev.exe ..\plugins\lilypad templates\svnrev_lilypad.nsh svnrev_lilypad.nsh'
!system 'SubWCRev.exe ..\plugins\zerogs\dx templates\svnrev_zerogs.nsh svnrev_zerogs.nsh'
;!system 'SubWCRev.exe ..\plugins\zzogl-pg templates\svnrev_zzogl.nsh svnrev_zzogl.nsh'
!system 'SubWCRev.exe ..\plugins\zerospu2 templates\svnrev_zerospu2.nsh svnrev_zerospu2.nsh'
!include "svnrev_gsdx.nsh"
!include "svnrev_spu2x.nsh"
!include "svnrev_cdvdiso.nsh"
!include "svnrev_lilypad.nsh"
!include "svnrev_zerogs.nsh"
;!include "svnrev_zzogl.nsh"
!include "svnrev_zerospu2.nsh"
!endif
; =======================================================================
; Shared Install Functions
; =======================================================================
; ==================================================================================
Function .onInit
;prepare Advanced Uninstall log always within .onInit function
!insertmacro UNINSTALL.LOG_PREPARE_INSTALL
; MORE UAC HELL ---------- >
call IsUserAdmin
FunctionEnd
Function .onInstSuccess
;create/update log always within .onInstSuccess function
!insertmacro UNINSTALL.LOG_UPDATE_INSTALL
FunctionEnd
; =======================================================================
; Shared Uninstall Functions
; =======================================================================
; Safe directory deletion code. :)
;
Function un.DeleteDirIfEmpty
; Use $TEMP as the out dir when removing directories, since NSIS won't let us remove the
; "current" directory.
SetOutPath "$TEMP"
FindFirst $R0 $R1 "$0\*.*"
strcmp $R1 "." 0 NoDelete
FindNext $R0 $R1
strcmp $R1 ".." 0 NoDelete
ClearErrors
FindNext $R0 $R1
IfErrors 0 NoDelete
FindClose $R0
Sleep 1000
RMDir "$0"
NoDelete:
FindClose $R0
FunctionEnd
; ==================================================================================
Function un.removeShorties
; Remove shortcuts, if any
Delete "$DESKTOP\${APP_NAME}.lnk"
Delete "$SMPROGRAMS\PCSX2\Uninstall ${APP_NAME}.lnk"
Delete "$SMPROGRAMS\PCSX2\${APP_NAME}.lnk"
;Delete "$SMPROGRAMS\PCSX2\pcsx2-dev-r${SVNREV}.lnk"
Delete "$SMPROGRAMS\PCSX2\Readme ${APP_VERSION}.lnk"
Delete "$SMPROGRAMS\PCSX2\Frequently Asked Questions ${APP_VERSION}.lnk"
StrCpy $0 "$SMPROGRAMS\PCSX2"
Call un.DeleteDirIfEmpty
FunctionEnd
; begin uninstall, could be added on top of uninstall section instead
Function un.onInit
!insertmacro UNINSTALL.LOG_BEGIN_UNINSTALL
FunctionEnd
Function un.onUninstSuccess
!insertmacro UNINSTALL.LOG_END_UNINSTALL
; And remove the various install dir(s) but only if they're clean of user content:
StrCpy $0 "$INSTDIR\langs"
Call un.DeleteDirIfEmpty
StrCpy $0 "$INSTDIR\plugins"
Call un.DeleteDirIfEmpty
StrCpy $0 "$INSTDIR"
Call un.DeleteDirIfEmpty
FunctionEnd
; =======================================================================
; Plugin Includes
; =======================================================================
; Note that zzOgl is disabled for now because it requires CG dependencies to be installed.
!if ${INC_PLUGINS} > 0
!system 'SubWCRev.exe ..\plugins\gsdx templates\svnrev_gsdx.nsh svnrev_gsdx.nsh'
!system 'SubWCRev.exe ..\plugins\spu2-x templates\svnrev_spu2x.nsh svnrev_spu2x.nsh'
!system 'SubWCRev.exe ..\plugins\cdvdiso templates\svnrev_cdvdiso.nsh svnrev_cdvdiso.nsh'
!system 'SubWCRev.exe ..\plugins\lilypad templates\svnrev_lilypad.nsh svnrev_lilypad.nsh'
!system 'SubWCRev.exe ..\plugins\zerogs\dx templates\svnrev_zerogs.nsh svnrev_zerogs.nsh'
;!system 'SubWCRev.exe ..\plugins\zzogl-pg templates\svnrev_zzogl.nsh svnrev_zzogl.nsh'
!system 'SubWCRev.exe ..\plugins\zerospu2 templates\svnrev_zerospu2.nsh svnrev_zerospu2.nsh'
!include "svnrev_gsdx.nsh"
!include "svnrev_spu2x.nsh"
!include "svnrev_cdvdiso.nsh"
!include "svnrev_lilypad.nsh"
!include "svnrev_zerogs.nsh"
;!include "svnrev_zzogl.nsh"
!include "svnrev_zerospu2.nsh"
!endif
; =======================================================================
; Shared Install Functions
; =======================================================================
Function .onInit
;prepare Advanced Uninstall log always within .onInit function
!insertmacro UNINSTALL.LOG_PREPARE_INSTALL
; MORE UAC HELL ---------- >
;call IsUserAdmin
FunctionEnd
Function .onInstSuccess
;create/update log always within .onInstSuccess function
!insertmacro UNINSTALL.LOG_UPDATE_INSTALL
FunctionEnd
; =======================================================================
; Shared Uninstall Functions
; =======================================================================
; Safe directory deletion code. :)
;
Function un.DeleteDirIfEmpty
; Use $TEMP as the out dir when removing directories, since NSIS won't let us remove the
; "current" directory.
SetOutPath "$TEMP"
FindFirst $R0 $R1 "$0\*.*"
strcmp $R1 "." 0 NoDelete
FindNext $R0 $R1
strcmp $R1 ".." 0 NoDelete
ClearErrors
FindNext $R0 $R1
IfErrors 0 NoDelete
FindClose $R0
Sleep 1000
RMDir "$0"
NoDelete:
FindClose $R0
FunctionEnd
; ==================================================================================
Function un.removeShorties
; Remove shortcuts, if any
Delete "$DESKTOP\${APP_NAME}.lnk"
Delete "$SMPROGRAMS\PCSX2\Uninstall ${APP_NAME}.lnk"
Delete "$SMPROGRAMS\PCSX2\${APP_NAME}.lnk"
;Delete "$SMPROGRAMS\PCSX2\pcsx2-dev-r${SVNREV}.lnk"
Delete "$SMPROGRAMS\PCSX2\Readme ${APP_VERSION}.lnk"
Delete "$SMPROGRAMS\PCSX2\Frequently Asked Questions ${APP_VERSION}.lnk"
StrCpy $0 "$SMPROGRAMS\PCSX2"
Call un.DeleteDirIfEmpty
FunctionEnd
; begin uninstall, could be added on top of uninstall section instead
Function un.onInit
!insertmacro UNINSTALL.LOG_BEGIN_UNINSTALL
FunctionEnd
Function un.onUninstSuccess
!insertmacro UNINSTALL.LOG_END_UNINSTALL
; And remove the various install dir(s) but only if they're clean of user content:
StrCpy $0 "$INSTDIR\langs"
Call un.DeleteDirIfEmpty
StrCpy $0 "$INSTDIR\plugins"
Call un.DeleteDirIfEmpty
StrCpy $0 "$INSTDIR\docs"
Call un.DeleteDirIfEmpty
StrCpy $0 "$INSTDIR"
Call un.DeleteDirIfEmpty
FunctionEnd

View File

@ -1,52 +0,0 @@
; =======================================================================
; Core Includes and Defines
; =======================================================================
; Notes on Uninstall Log Location (UNINSTALL_LOG)
; The name of the uninstall log determines whether or not future installers
; fall under the same single uninstall entry, or if they use multiple (separate)
; uninstall folders.
!system 'SubWCRev.exe ..\pcsx2 templates\svnrev_pcsx2.nsh svnrev_pcsx2.nsh'
!include "svnrev_pcsx2.nsh"
!ifndef APP_VERSION
!define APP_VERSION "0.9.7"
!endif
!define APP_NAME "PCSX2 ${APP_VERSION} (r${SVNREV})"
!define APP_FILENAME "pcsx2-r${SVNREV}"
!define UNINSTALL_LOG "Uninst-${APP_FILENAME}"
!define INSTDIR_REG_ROOT "HKLM"
XPStyle on
; LZMA is the best, by far, so let's make sure it's always in use:
; (dictionaries larger than 24MB don't seem to help)
SetCompressor /SOLID lzma
SetCompressorDictSize 24
; The name of the installer
Name "${APP_NAME}"
OutFile "${APP_FILENAME}-${OUTFILE_POSTFIX}.exe"
; The default installation directory
InstallDir "$PROGRAMFILES\PCSX2 ${APP_VERSION}"
; Registry key to check for directory (so if you install again, it will
; overwrite the old one automatically)
InstallDirRegKey ${INSTDIR_REG_ROOT} "Software\PCSX2" "Install_Dir_${APP_VERSION}"
; These defines are dependent on NSIS vars assigned above.
!define APP_EXE "$INSTDIR\${APP_FILENAME}.exe"
!define INSTDIR_REG_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_FILENAME}"
!define PCSX2_README "pcsx2 readme ${APP_VERSION}.doc"
!define PCSX2_FAQ "pcsx2 FAQ ${APP_VERSION}.pdf"
Var DirectXSetupError

View File

@ -8,7 +8,7 @@
* Download the Visual C++ 2008 SP1 Redistributable and save it to this nsis/ folder under the name:
vcredist_2008_sp1_x86.exe
* Download the Visual C++ 2010 Redistributable and save it to this nsis/ folder.
* Download the Visual C++ 2010 Redistributable and save it to this nsis/ folder.
vcredist_2010_x86.exe
[both files can be obtained from Microsoft's website, just google for them]
@ -26,25 +26,35 @@
You may selectively unload plugins you do not wish to package prior to running the NSIS
script.
* Compile script, and Enjoy :)
* Compile script! Output executable will be generated to the output/ folder.
--------------------------------------------
Compilation Targets and Plugin Inclusion
--------------------------------------------
pcsx2-dev.exe is included into the installer as well *if* present (but is not required).
The Release mode (without -dev) is required, and the script errors if it's missing.
To include non-NULL plugins into the installer you must specify /DINC_PLUGINS on the command
line when compiling the script. The installer will include plugins only if they are present.
If you do not build plugins, or remove some (or all) plugins before running the nsis script,
only PCSX2 and whatever remaining plugins will be packaged.
The installer will include plugins only if they are present. If you do not build plugins, or
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.
You will need to follow the above instructions and compile all release targets to get all the
GSdx DLLs.
--------------------------------------------
Recommendations to Developers
--------------------------------------------
From Air: I use Eclipse to edit NSIS scripts. Do a google search for 'nsis eclipse' and it
should take you to the NSIS wiki with instructions on how to set up a NSIS environment in
Eclipse. This typically only takes me a few minutes (yes it's really that painless). Via
Eclipse you can use F2 and F3 for online help and context help on NSIS commands, and the syntax
highlighting is very clean and NSIS-specific. Additionally it'll give you Visual Studio-style
hyperlinks for errors during compilation, so that you can simply click on an error and be taken
right to the offending line of code. Highly recommended! :)
--------------------------------------------
TODO / Wish List!!
--------------------------------------------

View File

@ -5,12 +5,6 @@
; Copyright 2009-2010 PCSX2 Dev Team
;
!ifndef INC_PLUGINS
; Set to 0 to include the core binaries only (no plugins)
!define INC_PLUGINS 1
!endif
!ifndef INC_CRT_2008
; Set to 0 to disable inclusion of Visual Studio 2008 SP1 CRT Redists
!define INC_CRT_2008 1
@ -21,44 +15,14 @@
!define INC_CRT_2010 1
!endif
!ifndef INC_LANGS
; Set to 1 to enable inclusion of Languages folders (which are currently missing in 0.9.7)
!define INC_LANGS 0
!endif
!define OUTFILE_POSTFIX "setup"
!include "SharedSettings.nsh"
!include "MUI2.nsh"
!include "AdvUninstLog.nsh"
; =======================================================================
; Vista/Win7 UAC Stuff
; =======================================================================
!include "IsUserAdmin.nsi"
!include "SharedBase.nsh"
; Reserve features for improved performance with solid archiving.
; (uncomment if we add our own install options ini files)
;!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
;!insertmacro MUI_RESERVEFILE_LANGDLL
; Allow admin-rights PCSX2 users to be hardcore!
AllowRootDirInstall true
; FIXME !!
; Request application privileges for Windows Vista/7; I'd love for this to be sensible about which
; execution level it requests, but UAC is breaking my mind. I included some code for User type
; detection in function IsUserAdmin, but not really using it constructively yet. (see also our
; uses of SetShellVarContext in the installer sections)
RequestExecutionLevel admin
; This defines the Advanced Uninstaller mode of operation...
!insertmacro UNATTENDED_UNINSTALL
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "banner.bmp"
!define MUI_COMPONENTSPAGE_SMALLDESC
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES

View File

@ -1,305 +1,262 @@
; PCSX2 Web-based Install Package!
; (a NSIS installer script)
;
; Copyright 2009-2010 PCSX2 Dev Team
;
; The installer generated by this script will download all relevant components for
; PCSX2 from a variety of mirror hosts. Packages are only downloaded on an as-needed
; basis; this most importantly applies to the very bulky VS 2008 and VS2010 packages.
!ifndef INC_PLUGINS
; Set to 0 to include the core binaries only (no plugins)
!define INC_PLUGINS 1
!endif
!ifndef INC_ZZOGL
; Includes ZZOGL and CG Toolkit (via web install). Currently not supported (work in progress)
!define INC_ZZOGL 0
!endif
!ifndef INC_LANGS
; Set to 1 to enable inclusion of Languages folders (which are currently missing in 0.9.7)
!define INC_LANGS 0
!endif
!define OUTFILE_POSTFIX "websetup"
!include "SharedSettings.nsh"
!include "MUI2.nsh"
!include "AdvUninstLog.nsh"
; Reserve features for improved performance with solid archiving.
; (uncomment if we add our own install options ini files)
;!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
;!insertmacro MUI_RESERVEFILE_LANGDLL
; =======================================================================
; Vista/Win7 UAC Stuff
; =======================================================================
!include "IsUserAdmin.nsi"
; Allow admin-rights PCSX2 users to be hardcore!
AllowRootDirInstall true
; FIXME !!
; Request application privileges for Windows Vista/7; I'd love for this to be sensible about which
; execution level it requests, but UAC is breaking my mind. I included some code for User type
; detection in function IsUserAdmin, but not really using it constructively yet. (see also our
; uses of SetShellVarContext in the installer sections)
RequestExecutionLevel admin
; This defines the Advanced Uninstaller mode of operation...
!insertmacro UNATTENDED_UNINSTALL
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "banner.bmp"
;!define MUI_COMPONENTSPAGE_NODESC
!define MUI_COMPONENTSPAGE_SMALLDESC
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_COMPONENTS
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
!include "ApplyExeProps.nsh"
!include "SharedRedtape.nsh"
; =======================================================================
; Installer Sections
; =======================================================================
; -----------------------------------------------------------------------
; Basic section (emulation proper)
Section "!${APP_NAME} (required)" SEC_CORE
SectionIn RO
!include "SectionCoreReqs.nsh"
; ------------------------------------------
; -- Plugins Section --
; ------------------------------------------
!if ${INC_PLUGINS} > 0
; [TODO] : Eventually the 'latest' plugin packages should be downloaded from one
; of our mirrors. For now plugins are included in the web installer.
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=spu2-x-r${SVNREV_SPU2X}.dll ..\bin\Plugins\spu2-x.dll
File /nonfatal /oname=zerospu2-r${SVNREV_ZEROSPU2}.dll ..\bin\Plugins\zerospu2.dll
File /nonfatal /oname=cdvdiso-r${SVNREV_CDVDISO}.dll ..\bin\Plugins\cdvdiso.dll
File ..\bin\Plugins\cdvdGigaherz.dll
File /nonfatal /oname=lilypad-r${SVNREV_LILYPAD}.dll ..\bin\Plugins\lilypad.dll
File ..\bin\Plugins\PadSSSPSX.dll
;File ..\bin\Plugins\FWlinuz.dll
!insertmacro UNINSTALL.LOG_CLOSE_INSTALL
!endif
SectionEnd
!if ${INC_ZZOGL} > 0
Section "ZZogl Plugin (requires OpenGL)"
SetOutPath "$INSTDIR\Plugins"
!insertmacro UNINSTALL.LOG_OPEN_INSTALL
File /oname=zzogl-pg-r${SVNREV_ZZOGL}.dll ..\bin\Plugins\zzogl-pg.dll
!insertmacro UNINSTALL.LOG_CLOSE_INSTALL
SectionEnd
Section "Nvidia's CG Toolkit"
; This section is required by anything using OpenGL, typically.
; It should be automatically checked when ZZogl is enabled.
; CG Toolkit would be downloaded from here:
; http://developer.download.nvidia.com/cg/Cg_2.2/Cg-2.2_February2010_Setup.exe
SectionEnd
!endif
!include "SectionShortcuts.nsh"
; -----------------------------------------------------------------------
; MSVC Redistributable - required if the user does not already have it
; Note: if your NSIS generates an error here it means you need to download the latest
; visual studio redist package from microsoft. Any redist 2008/SP1 or newer will do.
;
; IMPORTANT: Online references for how to detect the presence of the VS2008 redists LIE.
; 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).
;
Section "Microsoft Visual C++ 2008 SP1 Redist (required)" SEC_CRT2008
;SectionIn RO
; Downloaded from:
; http://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8dab-795376989c03/vcredist_x86.exe
SetOutPath "$TEMP"
DetailPrint "Downloading Visual C++ 2008 SP1 Redistributable Setup..."
DetailPrint "Contacting Microsoft.com..."
NSISdl::download /TIMEOUT=15000 "http://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8dab-795376989c03/vcredist_x86.exe" "vcredist_2008_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_2008_sp1_x86.exe" "vcredist_2008_sp1_x86.exe"
; [TODO] Provide a mirror for this file hosted from pcsx2.net .. ? or emudev.net .. ?
;Pop $R0 ;Get the return value
;StrCmp $R0 "success" +2
;NSISdl::download /TIMEOUT=15000 "http://www.pcsx2.net/vcredist_x86.exe" "vcredist_2008_sp1_x86.exe"
Pop $R0 ;Get the return value
StrCmp $R0 "success" +2
MessageBox MB_OK "Could not download Visual Studio 2008 Redist; none of the mirrors appear to be functional."
Goto done
OnSuccess:
DetailPrint "Running Visual C++ 2008 SP1 Redistributable Setup..."
ExecWait '"$TEMP\vcredist_2008_sp1_x86.exe" /qb'
DetailPrint "Finished Visual C++ 2008 SP1 Redistributable Setup"
Delete "$TEMP\vcredist_2008_sp1_x86.exe"
done:
SectionEnd
Section "Microsoft Visual C++ 2010 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.
SectionIn RO
; Detection made easy: Unlike previous redists, VC2010 now generates a platform
; independent key for checking availability.
; Downloaded from:
; http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe
ReadRegDword $R0 HKLM "SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86" "Installed"
IfErrors done
StrCmp $R0 "1" done
SetOutPath "$TEMP"
DetailPrint "Downloading Visual C++ 2010 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"
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"
; [TODO] Provide a mirror for this file hosted from pcsx2.net .. ? or emudev.net .. ?
;Pop $R0 ;Get the return value
;StrCmp $R0 "success" +2
;NSISdl::download /TIMEOUT=30000 "http://www.pcsx2.net/vcredist_x86.exe" "vcredist_2010_x86.exe"
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."
Goto done
OnSuccess:
DetailPrint "Running Visual C++ 2010 SP1 Redistributable Setup..."
ExecWait '"$TEMP\vcredist_2010_x86.exe" /qb'
DetailPrint "Finished Visual C++ 2010 SP1 Redistributable Setup"
Delete "$TEMP\vcredist_2010_x86.exe"
done:
SectionEnd
; -----------------------------------------------------------------------
; This section needs to be last, so that in case it fails, the rest of the program will
; be installed cleanly.
;
; This section could be optional, but why not? It's pretty painless to double-check that
; all the libraries are up-to-date.
;
Section "DirectX Web Setup (recommended)" SEC_DIRECTX
;SectionIn RO
SetOutPath "$TEMP"
DetailPrint "Downloading DirectX Web Setup..."
DetailPrint "Contacting Microsoft.com..."
NSISdl::download /TIMEOUT=15000 "http://download.microsoft.com/download/1/7/1/1718CCC4-6315-4D8E-9543-8E28A4E18C4C/dxwebsetup.exe" dxwebsetup.exe
; No mirrors provided for the dx web setup. Either we get it from Microsoft, or we don't bother.
; (this is done because there's a good chance the dxwebsetup we provide won't work anyway, if Microsoft
; has in fact re-arranged their website (again)).
;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://code.google.com/dxwebsetup01.exe" "dxwebsetup.exe"
Pop $R0 ;Get the return value
StrCmp $R0 "success" OnSuccess
DetailPrint "Cound not contact Microsoft.com, or the file has been (re)moved!"
MessageBox MB_OK "Could not download the DirectX Web Setup. Microsoft probably rearranged their website. Please do an internet search for 'DirectX Setup' and download and install it yourself after this installer has finished."
Goto done
;Pop $R0 ;Get the return value
;StrCmp $R0 "success" +2
;NSISdl::download /TIMEOUT=30000 "http://www.pcsx2.net/dxwebsetup.exe" "dxwebsetup.exe"
OnSuccess:
DetailPrint "Running DirectX Web Setup..."
ExecWait '"$TEMP\dxwebsetup.exe" /Q' $DirectXSetupError
DetailPrint "Finished DirectX Web Setup"
Delete "$TEMP\dxwebsetup.exe"
done:
SectionEnd
!include "SectionUninstaller.nsh"
LangString DESC_CORE ${LANG_ENGLISH} "Core components (binaries, plugins, languages, etc)."
LangString DESC_STARTMENU ${LANG_ENGLISH} "Adds shortcuts for PCSX2 to the start menu (all users)."
LangString DESC_DESKTOP ${LANG_ENGLISH} "Adds a shortcut for PCSX2 to the desktop (all users)."
LangString DESC_CRT2008 ${LANG_ENGLISH} "Required! Only uncheck if you are certain this component is already installed."
LangString DESC_CRT2010 ${LANG_ENGLISH} "Will only be downloaded if you don't already have it installed."
LangString DESC_DIRECTX ${LANG_ENGLISH} "Only uncheck this if you are quite certain your Direct3D runtimes are up to date."
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_CORE} $(DESC_CORE)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_STARTMENU} $(DESC_STARTMENU)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_DESKTOP} $(DESC_DESKTOP)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_CRT2008} $(DESC_CRT2008)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_CRT2010} $(DESC_CRT2010)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_DIRECTX} $(DESC_DIRECTX)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
; PCSX2 Web-based Install Package!
; (a NSIS installer script)
;
; Copyright 2009-2010 PCSX2 Dev Team
;
; The installer generated by this script will download all relevant components for
; PCSX2 from a variety of mirror hosts. Packages are only downloaded on an as-needed
; basis; this most importantly applies to the very bulky VS 2008 and VS2010 packages.
!ifndef INC_ZZOGL
; Includes ZZOGL and CG Toolkit (via web install). Currently not supported (work in progress)
!define INC_ZZOGL 0
!endif
!define OUTFILE_POSTFIX "websetup"
!include "SharedBase.nsh"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_COMPONENTS
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
!include "ApplyExeProps.nsh"
!include "SharedRedtape.nsh"
; =======================================================================
; Installer Sections
; =======================================================================
; -----------------------------------------------------------------------
; Basic section (emulation proper)
Section "!${APP_NAME} (required)" SEC_CORE
SectionIn RO
!include "SectionCoreReqs.nsh"
; ------------------------------------------
; -- Plugins Section --
; ------------------------------------------
!if ${INC_PLUGINS} > 0
; [TODO] : Eventually the 'latest' plugin packages should be downloaded from one
; of our mirrors. For now plugins are included in the web installer.
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=spu2-x-r${SVNREV_SPU2X}.dll ..\bin\Plugins\spu2-x.dll
File /nonfatal /oname=zerospu2-r${SVNREV_ZEROSPU2}.dll ..\bin\Plugins\zerospu2.dll
File /nonfatal /oname=cdvdiso-r${SVNREV_CDVDISO}.dll ..\bin\Plugins\cdvdiso.dll
File ..\bin\Plugins\cdvdGigaherz.dll
File /nonfatal /oname=lilypad-r${SVNREV_LILYPAD}.dll ..\bin\Plugins\lilypad.dll
File ..\bin\Plugins\PadSSSPSX.dll
;File ..\bin\Plugins\FWlinuz.dll
!insertmacro UNINSTALL.LOG_CLOSE_INSTALL
!endif
SectionEnd
!include "SectionShortcuts.nsh"
!if ${INC_ZZOGL} > 0
Section "ZZogl Plugin (requires OpenGL)"
SetOutPath "$INSTDIR\Plugins"
!insertmacro UNINSTALL.LOG_OPEN_INSTALL
File /oname=zzogl-pg-r${SVNREV_ZZOGL}.dll ..\bin\Plugins\zzogl-pg.dll
!insertmacro UNINSTALL.LOG_CLOSE_INSTALL
SectionEnd
Section "Nvidia's CG Toolkit"
; This section is required by anything using OpenGL, typically.
; It should be automatically checked when ZZogl is enabled.
; CG Toolkit would be downloaded from here:
; http://developer.download.nvidia.com/cg/Cg_2.2/Cg-2.2_February2010_Setup.exe
SectionEnd
!endif
; -----------------------------------------------------------------------
; MSVC Redistributable - required if the user does not already have it
; Note: if your NSIS generates an error here it means you need to download the latest
; visual studio redist package from microsoft. Any redist 2008/SP1 or newer will do.
;
; IMPORTANT: Online references for how to detect the presence of the VS2008 redists LIE.
; 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).
;
Section "Microsoft Visual C++ 2008 SP1 Redist (required)" SEC_CRT2008
;SectionIn RO
; Downloaded from:
; http://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8dab-795376989c03/vcredist_x86.exe
SetOutPath "$TEMP"
DetailPrint "Downloading Visual C++ 2008 SP1 Redistributable Setup..."
DetailPrint "Contacting Microsoft.com..."
NSISdl::download /TIMEOUT=15000 "http://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8dab-795376989c03/vcredist_x86.exe" "vcredist_2008_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_2008_sp1_x86.exe" "vcredist_2008_sp1_x86.exe"
; [TODO] Provide a mirror for this file hosted from pcsx2.net .. ? or emudev.net .. ?
;Pop $R0 ;Get the return value
;StrCmp $R0 "success" +2
;NSISdl::download /TIMEOUT=15000 "http://www.pcsx2.net/vcredist_x86.exe" "vcredist_2008_sp1_x86.exe"
Pop $R0 ;Get the return value
StrCmp $R0 "success" +2
MessageBox MB_OK "Could not download Visual Studio 2008 Redist; none of the mirrors appear to be functional."
Goto done
OnSuccess:
DetailPrint "Running Visual C++ 2008 SP1 Redistributable Setup..."
ExecWait '"$TEMP\vcredist_2008_sp1_x86.exe" /qb'
DetailPrint "Finished Visual C++ 2008 SP1 Redistributable Setup"
Delete "$TEMP\vcredist_2008_sp1_x86.exe"
done:
SectionEnd
Section "Microsoft Visual C++ 2010 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.
SectionIn RO
; Detection made easy: Unlike previous redists, VC2010 now generates a platform
; independent key for checking availability.
; Downloaded from:
; http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe
ReadRegDword $R0 HKLM "SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86" "Installed"
IfErrors done
StrCmp $R0 "1" done
SetOutPath "$TEMP"
DetailPrint "Downloading Visual C++ 2010 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"
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"
; [TODO] Provide a mirror for this file hosted from pcsx2.net .. ? or emudev.net .. ?
;Pop $R0 ;Get the return value
;StrCmp $R0 "success" +2
;NSISdl::download /TIMEOUT=30000 "http://www.pcsx2.net/vcredist_x86.exe" "vcredist_2010_x86.exe"
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."
Goto done
OnSuccess:
DetailPrint "Running Visual C++ 2010 SP1 Redistributable Setup..."
ExecWait '"$TEMP\vcredist_2010_x86.exe" /qb'
DetailPrint "Finished Visual C++ 2010 SP1 Redistributable Setup"
Delete "$TEMP\vcredist_2010_x86.exe"
done:
SectionEnd
; -----------------------------------------------------------------------
; This section needs to be last, so that in case it fails, the rest of the program will
; be installed cleanly.
;
; This section could be optional, but why not? It's pretty painless to double-check that
; all the libraries are up-to-date.
;
Section "DirectX Web Setup (recommended)" SEC_DIRECTX
;SectionIn RO
SetOutPath "$TEMP"
DetailPrint "Downloading DirectX Web Setup..."
DetailPrint "Contacting Microsoft.com..."
NSISdl::download /TIMEOUT=15000 "http://download.microsoft.com/download/1/7/1/1718CCC4-6315-4D8E-9543-8E28A4E18C4C/dxwebsetup.exe" dxwebsetup.exe
; No mirrors provided for the dx web setup. Either we get it from Microsoft, or we don't bother.
; (this is done because there's a good chance the dxwebsetup we provide won't work anyway, if Microsoft
; has in fact re-arranged their website (again)).
;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://code.google.com/dxwebsetup01.exe" "dxwebsetup.exe"
Pop $R0 ;Get the return value
StrCmp $R0 "success" OnSuccess
DetailPrint "Cound not contact Microsoft.com, or the file has been (re)moved!"
MessageBox MB_OK "Could not download the DirectX Web Setup. Microsoft probably rearranged their website. Please do an internet search for 'DirectX Setup' and download and install it yourself after this installer has finished."
Goto done
;Pop $R0 ;Get the return value
;StrCmp $R0 "success" +2
;NSISdl::download /TIMEOUT=30000 "http://www.pcsx2.net/dxwebsetup.exe" "dxwebsetup.exe"
OnSuccess:
DetailPrint "Running DirectX Web Setup..."
ExecWait '"$TEMP\dxwebsetup.exe" /Q' $DirectXSetupError
DetailPrint "Finished DirectX Web Setup"
Delete "$TEMP\dxwebsetup.exe"
done:
SectionEnd
!include "SectionUninstaller.nsh"
LangString DESC_CORE ${LANG_ENGLISH} "Core components (binaries, plugins, languages, etc)."
LangString DESC_STARTMENU ${LANG_ENGLISH} "Adds shortcuts for PCSX2 to the start menu (all users)."
LangString DESC_DESKTOP ${LANG_ENGLISH} "Adds a shortcut for PCSX2 to the desktop (all users)."
LangString DESC_CRT2008 ${LANG_ENGLISH} "Required! Only uncheck if you are certain this component is already installed."
LangString DESC_CRT2010 ${LANG_ENGLISH} "Will only be downloaded if you don't already have it installed."
LangString DESC_DIRECTX ${LANG_ENGLISH} "Only uncheck this if you are quite certain your Direct3D runtimes are up to date."
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_CORE} $(DESC_CORE)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_STARTMENU} $(DESC_STARTMENU)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_DESKTOP} $(DESC_DESKTOP)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_CRT2008} $(DESC_CRT2008)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_CRT2010} $(DESC_CRT2010)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_DIRECTX} $(DESC_DIRECTX)
!insertmacro MUI_FUNCTION_DESCRIPTION_END

View File

@ -1 +1,5 @@
!define SVNREV_CDVDISO $WCREV$
!if ${USE_PACKAGE_REV} == 0
!define SVNREV_CDVDISO $WCREV$
!else
!define SVNREV_CDVDISO ${SVNREV_PACKAGE}
!endif

View File

@ -1 +1,5 @@
!define SVNREV_GSDX $WCREV$
!if ${USE_PACKAGE_REV} == 0
!define SVNREV_GSDX $WCREV$
!else
!define SVNREV_GSDX ${SVNREV_PACKAGE}
!endif

View File

@ -1 +1,5 @@
!define SVNREV_LILYPAD $WCREV$
!if ${USE_PACKAGE_REV} == 0
!define SVNREV_LILYPAD $WCREV$
!else
!define SVNREV_LILYPAD ${SVNREV_PACKAGE}
!endif

View File

@ -0,0 +1,3 @@
!define SVNREV_PACKAGE $WCREV$
!define SVNMOD_PACKAGE $WCMODS?1:0$

View File

@ -1,3 +1,8 @@
!if ${USE_PACKAGE_REV} == 0
!define SVNREV_PCSX2 $WCREV$
!define SVNMOD_PCSX2 $WCMODS?1:0$
!else
!define SVNREV_PCSX2 ${SVNREV_PACKAGE}
!define SVNMOD_PCSX2 ${SVMOD_PACKAGE}
!endif
!define SVNREV $WCREV$
!define SVN_MODS $WCMODS?1:0$

View File

@ -0,0 +1,7 @@
!if ${USE_PACKAGE_REV} == 0
!define SVNREV_PLUGINS $WCREV$
!define SVNMOD_PLUGINS $WCMODS?1:0$
!else
!define SVNREV_PLUGINS ${SVNREV_PACKAGE}
!define SVNMOD_PLUGINS ${SVMOD_PACKAGE}
!endif

View File

@ -1 +1,5 @@
!define SVNREV_SPU2X $WCREV$
!if ${USE_PACKAGE_REV} == 0
!define SVNREV_SPU2X $WCREV$
!else
!define SVNREV_SPU2X ${SVNREV_PACKAGE}
!endif

View File

@ -1 +1,5 @@
!define SVNREV_ZEROGS $WCREV$
!if ${USE_PACKAGE_REV} == 0
!define SVNREV_ZEROGS $WCREV$
!else
!define SVNREV_ZEROGS ${SVNREV_PACKAGE}
!endif

View File

@ -1 +1,5 @@
!define SVNREV_ZEROSPU2 $WCREV$
!if ${USE_PACKAGE_REV} == 0
!define SVNREV_ZEROSPU2 $WCREV$
!else
!define SVNREV_ZEROSPU2 ${SVNREV_PACKAGE}
!endif

View File

@ -1 +1,5 @@
!define SVNREV_ZZOGL $WCREV$
!if ${USE_PACKAGE_REV} == 0
!define SVNREV_ZZOGL $WCREV$
!else
!define SVNREV_ZZOGL ${SVNREV_PACKAGE}
!endif