mirror of
https://github.com/netwide-assembler/nasm.git
synced 2024-11-21 03:14:19 +08:00
nsis: finally figure out how to get the proper install directory stuff...
I had fixed MultiUser.nsh, but it turns out that the builtin version has higher priority, so we kept picking that one up... Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
parent
704d9b151d
commit
3d823faeea
@ -29,8 +29,7 @@
|
||||
!addincludedir "${objdir}\nsis"
|
||||
!addincludedir "${srcdir}\nsis"
|
||||
!include "version.nsh"
|
||||
!include /nonfatal "arch.nsh"
|
||||
!include /nonfatal "x64.nsh"
|
||||
!include "arch.nsh"
|
||||
|
||||
!define PRODUCT_NAME "Netwide Assembler"
|
||||
!define PRODUCT_SHORT_NAME "nasm"
|
||||
@ -43,7 +42,7 @@ SetCompressor lzma
|
||||
!define MULTIUSER_MUI
|
||||
!define MULTIUSER_INSTALLMODE_COMMANDLINE
|
||||
!define MULTIUSER_INSTALLMODE_INSTDIR "NASM"
|
||||
!include "MultiUser.nsh"
|
||||
!include "NASMMultiUser.nsh"
|
||||
|
||||
!insertmacro MULTIUSER_PAGE_INSTALLMODE
|
||||
!insertmacro MULTIUSER_INSTALLMODEPAGE_INTERFACE
|
||||
@ -229,14 +228,8 @@ SectionEnd
|
||||
;
|
||||
; MUI requires this hooks
|
||||
Function .onInit
|
||||
SetRegView ${BITS}
|
||||
!insertmacro MULTIUSER_INIT
|
||||
${If} ${RunningX64}
|
||||
SetRegView 64
|
||||
${EnableX64FSRedirection}
|
||||
StrCpy $INSTDIR "$PROGRAMFILES64\${PRODUCT_SHORT_NAME}"
|
||||
${Else}
|
||||
StrCpy $INSTDIR "$PROGRAMFILES\${PRODUCT_SHORT_NAME}"
|
||||
${EndIf}
|
||||
FunctionEnd
|
||||
|
||||
Function un.onInit
|
||||
|
54
nsis/x64.nsh
54
nsis/x64.nsh
@ -1,54 +0,0 @@
|
||||
; ---------------------
|
||||
; x64.nsh
|
||||
; ---------------------
|
||||
;
|
||||
; A few simple macros to handle installations on x64 machines.
|
||||
;
|
||||
; RunningX64 checks if the installer is running on x64.
|
||||
;
|
||||
; ${If} ${RunningX64}
|
||||
; MessageBox MB_OK "running on x64"
|
||||
; ${EndIf}
|
||||
;
|
||||
; DisableX64FSRedirection disables file system redirection.
|
||||
; EnableX64FSRedirection enables file system redirection.
|
||||
;
|
||||
; SetOutPath $SYSDIR
|
||||
; ${DisableX64FSRedirection}
|
||||
; File some.dll # extracts to C:\Windows\System32
|
||||
; ${EnableX64FSRedirection}
|
||||
; File some.dll # extracts to C:\Windows\SysWOW64
|
||||
;
|
||||
|
||||
!ifndef ___X64__NSH___
|
||||
!define ___X64__NSH___
|
||||
|
||||
!include LogicLib.nsh
|
||||
|
||||
!macro _RunningX64 _a _b _t _f
|
||||
!insertmacro _LOGICLIB_TEMP
|
||||
System::Call kernel32::GetCurrentProcess()i.s
|
||||
System::Call kernel32::IsWow64Process(is,*i.s)
|
||||
Pop $_LOGICLIB_TEMP
|
||||
!insertmacro _!= $_LOGICLIB_TEMP 0 `${_t}` `${_f}`
|
||||
!macroend
|
||||
|
||||
!define RunningX64 `"" RunningX64 ""`
|
||||
|
||||
!macro DisableX64FSRedirection
|
||||
|
||||
System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
|
||||
|
||||
!macroend
|
||||
|
||||
!define DisableX64FSRedirection "!insertmacro DisableX64FSRedirection"
|
||||
|
||||
!macro EnableX64FSRedirection
|
||||
|
||||
System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
|
||||
|
||||
!macroend
|
||||
|
||||
!define EnableX64FSRedirection "!insertmacro EnableX64FSRedirection"
|
||||
|
||||
!endif # !___X64__NSH___
|
Loading…
Reference in New Issue
Block a user