aboutsummaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorGravatar Robert Förster2012-07-02 18:40:40 +0000
committerGravatar Robert Förster2012-07-02 18:40:40 +0000
commitcec68d44cc44319b1e577d01ac56dbefc2becd06 (patch)
treec64a6415915ecce4bbc28c1cbb2dabe3ea8c87f4 /cmake
parenttrunk: change version to 4.3.1 for future development (diff)
downloadKVIrc-cec68d44cc44319b1e577d01ac56dbefc2becd06.tar.gz
KVIrc-cec68d44cc44319b1e577d01ac56dbefc2becd06.tar.bz2
KVIrc-cec68d44cc44319b1e577d01ac56dbefc2becd06.zip
win64 installer fixups.
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@6197 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'cmake')
-rw-r--r--cmake/KVIrc.nsi.cmake29
1 files changed, 25 insertions, 4 deletions
diff --git a/cmake/KVIrc.nsi.cmake b/cmake/KVIrc.nsi.cmake
index 427081ac1..9949db043 100644
--- a/cmake/KVIrc.nsi.cmake
+++ b/cmake/KVIrc.nsi.cmake
@@ -5,6 +5,7 @@
!include "WinMessages.nsh"
!include "LogicLib.nsh"
!include "WinVer.nsh"
+!include "x64.nsh"
Name "@NICENAME@"
!define VERSION '@CMAKE_KVIRC_VERSION_RELEASE@'
@@ -196,6 +197,13 @@ Function .onInit
Call CloseKVIrcInstances
+ ${If} ${RunningX64}
+ ; disable registry redirection (enable access to 64-bit portion of registry)
+ SetRegView 64
+ ; change install dir
+ StrCpy $INSTDIR $PROGRAMFILES64\KVIrc
+ ${EndIf}
+
ReadRegStr $R0 HKCU Software\Winamp ""
IfFileExists "$R0\winamp.exe" continue 0
SectionSetFlags ${WinampSection_IDX} 16 # 10000 in binary: disabled+unchecked
@@ -203,18 +211,31 @@ continue:
SetShellVarContext all
- ; Remove old installer
- ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KVIrc" "UninstallString"
- StrCmp $R0 "" done
+ ; Remove old installer, check for 32 bit first, we don't want both installed
+ ${If} ${RunningX64}
+ SetRegView 32
+ ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KVIrc" "UninstallString"
+ StrCmp $R0 "" check64
+ ${Else}
+ ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KVIrc" "UninstallString"
+ StrCmp $R0 "" done
+ ${EndIf}
+
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "$(MsgUninstallOldInstaller)" IDOK uninst
Abort
+
+check64:
+ SetRegView 64
+ ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KVIrc" "UninstallString"
+ StrCmp $R0 "" done
+ MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "$(MsgUninstallOldInstaller)" IDOK uninst
;Run the uninstaller
uninst:
ClearErrors
ExecWait "$R0"
-
+
done:
FunctionEnd