Skip to content
⌘ NSIS Forum Archive

Copying DLL to $SYSDIR

5 posts

adnanshaheen#

Copying DLL to $SYSDIR

Hi All,

Here is a code in my nsis script.

SetOutPath $SYSDIR
MessageBox MB_OK $SYSDIR ;This shows C:\windows\System32
${If} ${RunningX64}
File ".\My64bitDLL.dll"
${Else}
File ".\My32bitDLL.dll"
${EndIf}

But the DLL is copied to C:\Windows\SysWow64. Why is that???
The DLL copied is 64bit.
adnanshaheen#
x64.nsh is included. If you read below, I said the 64bit dll was copied.

Question here is "why the dll is copied to SysWOW64, rather then being copied to system32".
I do get the proper 64bit ach from script at runtime.
Afrow UK#
You need to disable the file system redirection. NSIS is 32-bit so will get redirected to SysWOW64. To stop this use ${DisableX64FSRedirection}. You can just use this once in a hidden Section and it will disable the redirection for all sections (the current thread).

Stu
jiake#
Originally Posted by adnanshaheen View Post
x64.nsh is included. If you read below, I said the 64bit dll was copied.

Question here is "why the dll is copied to SysWOW64, rather then being copied to system32".
I do get the proper 64bit ach from script at runtime.
If you read the comments above in x64.nsh... 😛