mirror of https://github.com/OpenRCT2/OpenRCT2.git
Improve NSIS installer and add x64 logic
This commit is contained in:
parent
2e31288b6b
commit
7df67e3a29
|
@ -3,18 +3,34 @@
|
|||
!define /ifndef APPV_MINOR 0
|
||||
!define /ifndef APPV_MAINT 5
|
||||
!define /ifndef APPV_BUILD 0
|
||||
!define /ifndef APPV_EXTRA "-beta"
|
||||
|
||||
!define APPNAME "OpenRCT2" ; Define application name
|
||||
!define APPVERSION "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}${APPV_EXTRA}" ; Define application version
|
||||
!define APPVERSIONINTERNAL "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}.${APPV_BUILD}" ; Define application version in X.X.X.X
|
||||
!include ${VERSION_INCLUDE}
|
||||
!define APPNAME "OpenRCT2"
|
||||
!define APPVERSION "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}${APPV_EXTRA}"
|
||||
!define APPVERSIONINTERNAL "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}.${APPV_BUILD}"
|
||||
|
||||
!define /ifndef APPURLLINK "https://github.com/OpenRCT2/OpenRCT2"
|
||||
!define APPNAMEANDVERSION "${APPNAME} ${APPVERSION}"
|
||||
|
||||
!if "${PLATFORM}" == "Win32"
|
||||
!define OPENRCT2_EXE "openrct2.exe"
|
||||
!define OPENRCT2_DLL "openrct2.dll"
|
||||
!define APPBITS 32
|
||||
!define APPARCH "win32"
|
||||
|
||||
InstallDir "$PROGRAMFILES32\OpenRCT2\"
|
||||
!else
|
||||
!define OPENRCT2_EXE "openrct2_x64.exe"
|
||||
!define APPBITS 64
|
||||
!define APPARCH "win64"
|
||||
|
||||
InstallDir "$PROGRAMFILES64\OpenRCT2\"
|
||||
!endif
|
||||
|
||||
!define SUPPORTED_OS "Windows Vista, 7, 8.1 and 10"
|
||||
|
||||
; Define root variable relative to installer
|
||||
!define PATH_ROOT "..\..\"
|
||||
!define BINARY_DIR "${PATH_ROOT}bin"
|
||||
|
||||
!define MUI_ICON "${PATH_ROOT}resources\logo\icon.ico"
|
||||
!define MUI_UNICON "${PATH_ROOT}resources\logo\icon.ico"
|
||||
|
@ -27,7 +43,7 @@ SetCompressor LZMA
|
|||
|
||||
; Version Info
|
||||
VIProductVersion "${APPVERSIONINTERNAL}"
|
||||
VIAddVersionKey "ProductName" "OpenRCT2 ${APPBITS}-bit Installer for Windows ${EXTRA_VERSION}"
|
||||
VIAddVersionKey "ProductName" "OpenRCT2 ${APPBITS}-bit Installer for ${SUPPORTED_OS}"
|
||||
VIAddVersionKey "Comments" "Installs ${APPNAMEANDVERSION}"
|
||||
VIAddVersionKey "CompanyName" "OpenRCT2 Developers"
|
||||
VIAddVersionKey "FileDescription" "Installs ${APPNAMEANDVERSION}"
|
||||
|
@ -36,7 +52,7 @@ VIAddVersionKey "InternalName" "InstOpenRCT2-${APPARCH}"
|
|||
VIAddVersionKey "FileVersion" "${APPVERSION}-${APPARCH}"
|
||||
VIAddVersionKey "LegalCopyright" " "
|
||||
; Main Install settings
|
||||
Name "${APPNAMEANDVERSION} ${APPBITS}-bit for Windows ${EXTRA_VERSION}"
|
||||
Name "${APPNAMEANDVERSION} ${APPBITS}-bit for ${SUPPORTED_OS}"
|
||||
|
||||
; NOTE: Keep trailing backslash!
|
||||
InstallDirRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenRCT2" "Install Folder"
|
||||
|
@ -83,7 +99,7 @@ ManifestDPIAware true
|
|||
|
||||
!define MUI_FINISHPAGE_TITLE_3LINES
|
||||
!define MUI_FINISHPAGE_RUN_TEXT "Run ${APPNAMEANDVERSION} now!"
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\openrct2.exe"
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\${OPENRCT2_EXE}"
|
||||
!define MUI_FINISHPAGE_LINK "Visit the OpenRCT2 site for more information"
|
||||
!define MUI_FINISHPAGE_LINK_LOCATION "${APPURLLINK}"
|
||||
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
|
||||
|
@ -139,12 +155,14 @@ Section "!OpenRCT2" Section1
|
|||
Call unix2dos
|
||||
|
||||
; Copy executable
|
||||
File /oname=openrct2.exe ${BINARY_DIR}\openrct2.exe
|
||||
File /oname=openrct2.dll ${BINARY_DIR}\openrct2.dll
|
||||
File /oname=${OPENRCT2_EXE} ${BINARY_DIR}\${OPENRCT2_EXE}
|
||||
!ifdef OPENRCT2_DLL
|
||||
File /oname=${OPENRCT2_DLL} ${BINARY_DIR}\${OPENRCT2_DLL}
|
||||
!endif
|
||||
|
||||
; Create the Registry Entries
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenRCT2" "Comments" "Visit ${APPURLLINK}"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenRCT2" "DisplayIcon" "$INSTDIR\openrct2.exe,0"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenRCT2" "DisplayIcon" "$INSTDIR\${OPENRCT2_EXE},0"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenRCT2" "DisplayName" "OpenRCT2 ${APPVERSION}"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenRCT2" "DisplayVersion" "${APPVERSION}"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenRCT2" "HelpLink" "${APPURLLINK}"
|
||||
|
@ -157,9 +175,9 @@ Section "!OpenRCT2" Section1
|
|||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenRCT2" "Version" "${APPVERSIONINTERNAL}"
|
||||
|
||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN "OpenRCT2"
|
||||
CreateShortCut "$DESKTOP\OpenRCT2.lnk" "$INSTDIR\openrct2.exe"
|
||||
CreateShortCut "$DESKTOP\OpenRCT2.lnk" "$INSTDIR\${OPENRCT2_EXE}"
|
||||
CreateDirectory "$SMPROGRAMS\$SHORTCUTS"
|
||||
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\OpenRCT2.lnk" "$INSTDIR\openrct2.exe"
|
||||
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\OpenRCT2.lnk" "$INSTDIR\${OPENRCT2_EXE}"
|
||||
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Uninstall.lnk" "$INSTDIR\uninstall.exe"
|
||||
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Readme.lnk" "$INSTDIR\Readme.txt"
|
||||
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Changelog.lnk" "$INSTDIR\Changelog.txt"
|
||||
|
@ -201,23 +219,23 @@ Section "Uninstall"
|
|||
Delete "$SMPROGRAMS\$SHORTCUTS\Contributors.lnk"
|
||||
|
||||
; Clean up OpenRCT2 dir
|
||||
Delete "$INSTDIR\curl-ca-bundle.crt"
|
||||
Delete "$INSTDIR\changelog.txt"
|
||||
Delete "$INSTDIR\known_issues.txt"
|
||||
Delete "$INSTDIR\licence.txt"
|
||||
Delete "$INSTDIR\readme.txt"
|
||||
Delete "$INSTDIR\contributors.md"
|
||||
Delete "$INSTDIR\openrct2.exe"
|
||||
Delete "$INSTDIR\openrct2.dll"
|
||||
Delete "$INSTDIR\licence.txt"
|
||||
Delete "$INSTDIR\${OPENRCT2_EXE}"
|
||||
!ifdef OPENRCT2_DLL
|
||||
Delete "$INSTDIR\${OPENRCT2_DLL}"
|
||||
!endif
|
||||
Delete "$INSTDIR\INSTALL.LOG"
|
||||
Delete "$INSTDIR\crash.log"
|
||||
Delete "$INSTDIR\crash.dmp"
|
||||
|
||||
; Data files
|
||||
Delete "$INSTDIR\data\language\*.txt"
|
||||
Delete "$INSTDIR\data\title\*.*"
|
||||
RMDir /r "$INSTDIR\data"
|
||||
|
||||
; Remove remaining directories
|
||||
RMDir "$SMPROGRAMS\$SHORTCUTS"
|
||||
RMDir "$INSTDIR\data"
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
SectionEnd
|
||||
|
@ -285,13 +303,13 @@ FunctionEnd
|
|||
;-------------------------------------------------------------------------------
|
||||
; Check whether OpenRCT2 is running
|
||||
Function CheckOpenRCT2Running
|
||||
IfFileExists "$INSTDIR\openrct2.exe" 0 Done
|
||||
IfFileExists "$INSTDIR\${OPENRCT2_EXE}" 0 Done
|
||||
Retry:
|
||||
FindProcDLL::FindProc "openrct2.exe"
|
||||
FindProcDLL::FindProc "${OPENRCT2_EXE}"
|
||||
Pop $R0
|
||||
IntCmp $R0 1 0 Done
|
||||
ClearErrors
|
||||
Delete "$INSTDIR\openrct2.exe"
|
||||
Delete "$INSTDIR\${OPENRCT2_EXE}"
|
||||
IfErrors 0 Done
|
||||
ClearErrors
|
||||
MessageBox MB_RETRYCANCEL|MB_ICONEXCLAMATION "OpenRCT2 is running. Please close it and retry." IDRETRY Retry
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
!define APPBITS 32 ; Define number of bits for the architecture
|
||||
!define EXTRA_VERSION "Vista, 7, 8.1 and 10"
|
||||
!define APPARCH "win32" ; Define the application architecture
|
||||
!define BINARY_DIR "${PATH_ROOT}bin"
|
||||
InstallDir "$PROGRAMFILES32\OpenRCT2\"
|
|
@ -165,7 +165,10 @@
|
|||
|
||||
<!-- Create the installer -->
|
||||
<Message Text="Building Windows Installer (NSIS script)" Importance="high" />
|
||||
<Exec Command="makensis /DOUTFILE=$(PublishInstallerExe) /DAPPV_EXTRA=$(VersionExtra) /DVERSION_INCLUDE=$(DistDir)windows\win32.txt $(NsisScript)"
|
||||
<Exec Command="makensis /DOUTFILE=$(PublishInstallerExe) ^
|
||||
/DAPPV_EXTRA=$(VersionExtra) ^
|
||||
/DPLATFORM=$(Platform) ^
|
||||
$(NsisScript)"
|
||||
StandardOutputImportance="normal" />
|
||||
|
||||
<!-- Sign the installer -->
|
||||
|
|
Loading…
Reference in New Issue