CopyFiles not using file system redirector for $SYSDIR on x64 Windows versions
This code is called in .onInit:
CopyFiles $PLUGINSDIR\KEY.dll $SYSDIR\KEY.DLL
CopyFiles $PLUGINSDIR\License.dll $SYSDIR\License.dll
This should store the files in C:\Windows\SysWOW64, but this code above always stored the files in C:\Windows\system32 regardless of any of setting made for folder redirection on x64 Version of Windows Vista and Windows 7.
I included x64.nsh and enabled File Redirection as shown in header file documentation - but nothing changed.
${EnableX64FSRedirection}
CopyFiles $PLUGINSDIR\KEY.dll $SYSDIR\KEY.DLL
CopyFiles $PLUGINSDIR\License.dll $SYSDIR\License.dll
After reading this page in MSDN (http://msdn.microsoft.com/en-us/library/aa384187(VS.85).aspx) I changed it to:
CopyFiles $PLUGINSDIR\KEY.dll $WINDIR\system32\KEY.DLL
CopyFiles $PLUGINSDIR\License.dll $WINDIR\system32\License.dll
But still the same. No redirection to SysWOW64.
At last I changed the code to this and it worked. And all examples I found regarding this topic always had FILE commands.
SetOverwrite on
SetOutPath $SYSDIR
File License\KEY.dll
File License\License.dll
This is strange behaviour.Any comments of core NSIS people? What am I missing?