diff --git a/distribution/windows/install.nsi b/distribution/windows/install.nsi
index 70bef26323..120d2b99f3 100644
--- a/distribution/windows/install.nsi
+++ b/distribution/windows/install.nsi
@@ -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
diff --git a/distribution/windows/win32.txt b/distribution/windows/win32.txt
deleted file mode 100644
index a33ea783b6..0000000000
--- a/distribution/windows/win32.txt
+++ /dev/null
@@ -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\"
diff --git a/openrct2.proj b/openrct2.proj
index 546a9e0936..4dd7b65276 100644
--- a/openrct2.proj
+++ b/openrct2.proj
@@ -165,7 +165,10 @@
-