中国服务器网

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

文件被复制到SysWOW64而不是System32

我的应用程序运行时必须将psTool实用程序复制到System32文件夹。 我在64位Windows 7上,每当我尝试通过File.Copy将exe复制到system32位文件夹时,exe总是被复制到SysWow64。 当我在destFile上放置一个断点时,path显示为C:\Windows\System32但文件不会进入(进入sysWow64)。 我已经尝试了Special Folder SystemX86 ,但文件再次进入sysWOW64。 string sourceFile = "C:\bin\Debug\somexe.exe" string destFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), utilityName); File.Copy(sourceFile, destFile, true); 任何build议我在这里失踪? 编辑 正如答案中所指出的那样,正在发生文件系统redirect。 我正在使用64位操作系统上的控制台应用程序的Visual Studio的默认设置开发应用程序。 我不确定在编译时必须保留哪些设置/开关,以便应用程序可以在32位和64位操作系统上运行。 基本上,它应该只是设置将文件复制到System32而不pipe它是什么位的操作系统。 在后面的程序中,我必须通过命令行访问psTools实用程序,如果将其放在SysWOW64中,命令行不可用。 如果我进行更改,要使用SysWOW64的32位cmd.exe,这将再次是64位平台特定的,我不想select。 任何解决scheme,可以使应用程序运行在32位和64位没有问题? 我是否必须修改代码(如何?)还是必须修改此控制台应用程序项目的某些属性(哪些属性)?