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