From 3ee697a54db715178e2b77bb348d7acbd92bbbbe Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sun, 27 Oct 2019 22:05:08 +0000 Subject: [PATCH] Install x64 release into correct Program Files on Windows. --- packaging/windows/OpenRA.nsi | 17 ++++++++++++++--- packaging/windows/buildpackage.sh | 6 ++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/packaging/windows/OpenRA.nsi b/packaging/windows/OpenRA.nsi index 11d36bb3c9..a8a423a907 100644 --- a/packaging/windows/OpenRA.nsi +++ b/packaging/windows/OpenRA.nsi @@ -14,7 +14,6 @@ ; You should have received a copy of the GNU General Public License ; along with OpenRA. If not, see . - !include "MUI2.nsh" !include "FileFunc.nsh" !include "WordFunc.nsh" @@ -24,8 +23,20 @@ OutFile "OpenRA.Setup.exe" ManifestDPIAware true -InstallDir "$PROGRAMFILES\OpenRA${SUFFIX}" -InstallDirRegKey HKLM "Software\OpenRA${SUFFIX}" "InstallDir" +Function .onInit + !ifndef USE_PROGRAMFILES32 + SetRegView 64 + !endif + ReadRegStr $INSTDIR HKLM "Software\OpenRA${SUFFIX}" "InstallDir" + StrCmp $INSTDIR "" unset done + unset: + !ifndef USE_PROGRAMFILES32 + StrCpy $INSTDIR "$PROGRAMFILES64\OpenRA${SUFFIX}" + !else + StrCpy $INSTDIR "$PROGRAMFILES32\OpenRA${SUFFIX}" + !endif + done: +FunctionEnd SetCompressor lzma RequestExecutionLevel admin diff --git a/packaging/windows/buildpackage.sh b/packaging/windows/buildpackage.sh index 8d9d60107f..83cdbef09c 100755 --- a/packaging/windows/buildpackage.sh +++ b/packaging/windows/buildpackage.sh @@ -40,8 +40,10 @@ function build_platform() echo "Building core files ($1)" if [ "$1" = "x86" ]; then IS_WIN32="WIN32=true" + USE_PROGRAMFILES32="-DUSE_PROGRAMFILES32=true" else IS_WIN32="WIN32=false" + USE_PROGRAMFILES32="" fi pushd "${SRCDIR}" > /dev/null || exit 1 @@ -69,7 +71,7 @@ function build_platform() markdown "${SRCDIR}/CONTRIBUTING.md" > "${BUILTDIR}/CONTRIBUTING.html" echo "Building Windows setup.exe ($1)" - makensis -V2 -DSRCDIR="${BUILTDIR}" -DDEPSDIR="${SRCDIR}/thirdparty/download/windows" -DTAG="${TAG}" -DSUFFIX="${SUFFIX}" OpenRA.nsi + makensis -V2 -DSRCDIR="${BUILTDIR}" -DDEPSDIR="${SRCDIR}/thirdparty/download/windows" -DTAG="${TAG}" -DSUFFIX="${SUFFIX}" ${USE_PROGRAMFILES32} OpenRA.nsi if [ $? -eq 0 ]; then mv OpenRA.Setup.exe "${OUTPUTDIR}/OpenRA-$TAG-$1.exe" else @@ -80,4 +82,4 @@ function build_platform() } build_platform "x86" -build_platform "x64" \ No newline at end of file +build_platform "x64"