In a 32bit application, I have to copy a file to the 64bit system folder
(C:\Windows\System32\ instead of C:\Windows\SysWOW64\)
For this, I tried to get the folder using the WinAPI function SHGetKnownFolderPath with parameter FOLDERID_ProgramFilesX64 (GUID: 6D809377-6AF0-444b-8957-A3773F02200E).
But unfortunately, this is not allowed (as mentioned in the remarks section) and the function result correctly is 'file not found'.
Is there a way to accomplish this?
You are requesting the PROGRAM FILES folder, not the SYSTEM folder. Look at
FOLDERID_SystemandFOLDERID_SystemX86instead.Alternatively, use
FOLDERID_Windowsto get the Windows installation folder, and then append the specialSysNativealias to the end of it, let the File System Redirector locate the actual folder for you, per the documentation: