我的应用程序运行时必须将psTool实用程序复制到System32文件夹。
我在64位Windows 7上,每当我尝试通过File.copy将exe复制到system32位文件夹时,exe总是被复制到SysWow64。
当我在destFile上放置一个断点时,path显示为C:WindowsSystem32但文件不会进入(进入sysWow64)。 我已经尝试了Special Folder SystemX86 ,但文件再次进入sysWOW64。
string sourceFile = "C:binDebugsomexe.exe" string destFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System),utilityName); File.copy(sourceFile,destFile,true);
任何build议我在这里失踪?
编辑
build立.NET COMInterop项目,而不先注册COM服务
如何显示Windowslogin对话框?
HTTP状态:在.net浏览器控件中的12002
是否有Windows错误报告的.Net API
在Linux上运行ASP Classic和.NET
正如答案中所指出的那样,正在发生文件系统redirect。 我正在使用64位操作系统上的控制台应用程序的Visual Studio的默认设置开发应用程序。 我不确定在编译时必须保留哪些设置/开关,以便应用程序可以在32位和64位操作系统上运行。
基本上,它应该只是设置将文件复制到System32而不pipe它是什么位的操作系统。
在后面的程序中,我必须通过命令行访问psTools实用程序,如果将其放在SysWOW64中,命令行不可用。 如果我进行更改,要使用SysWOW64的32位cmd.exe,这将再次是64位平台特定的,我不想select。
任何解决scheme,可以使应用程序运行在32位和64位没有问题? 我是否必须修改代码(如何?)还是必须修改此控制台应用程序项目的某些属性(哪些属性)?
从控制台进程读取
VC ++ MFC在不久的将来会过时吗?
.NET Bitmap.Load方法在不同的计算机上产生不同的结果
validationWindows用户名/密码为具有pipe理权限
Windows如何决定是否触发MouseUp或Click?
因为%windir%system32专门用于64位应用程序,所以在64位版本的Windows上,尝试访问%windir%system32目录的32位应用程序会自动并透明地重定向到32位%windir%sysWOW64目录。
首先,确保你的程序确实属于64位系统文件夹 。 Windows做这个自动重定向的原因。 32位的东西不会在64位版本的Windows上的%windir%system32文件夹中 。
如果您确定要将东西复制到64位系统目录中,则有几个选项。 最简单的方法就是把你的工具编译成一个64位的应用程序。 或者,您可以通过使用%windir%sysnative而不是%windir%system32来告诉WOW64重定向程序您知道自己在做什么而不执行重定向。
我有同样的问题。 解决方案是在Visual Studio的项目属性中将“平台目标”设置为x64或Anycpu而不是x86。 在这种情况下,路径将是"C:Windowssystem32"并且不会重定向到"C:WindowsSysWOW64"您可以通过将任何文件放在“C: Windows SysWOW64”文件夹中,然后使用File.Exists命令检查是否在该文件夹中找到文件:
File.Exists(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System),sFileName));
要么
File.Exists(Path.Combine(Environment.SystemDirectory,sFileName));
我在我的32位应用程序中总是返回本机system32文件夹使用助手属性。 帮手属性是:
public static string NativeSystemPath { get { if (Environment.Is64BitOperatingSystem) { return System.IO.Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.Windows),"Sysnative"); } return Environment.GetFolderPath(Environment.SpecialFolder.System); } }
由于path environnement变量在Windows x86 / x64版本上都包含c:windows ,为什么不把工具放到c:windows : %windir% ?
在我的情况下,这解决了我的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。