mirror of
https://github.com/netwide-assembler/nasm.git
synced 2024-12-21 09:19:31 +08:00
9e8c2466a4
From NSIS-3.0 source code (Include/x64.nsh). Hopefully it will be enough for nsis-v2.5 to support Win64. https://sourceforge.net/p/nsis/code/HEAD/tree/NSIS/trunk/Include/x64.nsh Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
55 lines
1.3 KiB
Plaintext
55 lines
1.3 KiB
Plaintext
; ---------------------
|
|
; 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___
|