繁体   English   中英

想要用Win7修改Program Files下的文件

[英]want to modify a file under Program Files with Win7

我有一个小的C#程序来修改位于Program Files下的xml文件。 该计算机是Windows 7计算机。 这个小程序由批处理文件(称为A.bat )启动,因为我想向其传递参数。

我有一个主批处理文件(称为M.bat ),这是起点。 M.bat将启动安装程序,并等待安装完成。 然后M.bat将启动A.bat ,这将启动带有参数的我的小程序。

现在,我得到以下异常:

System.UnauthorizedAccessException: Access to the path 'C:\Program Files\MyTest\Test.config' is denied.

我知道这是Win7中更严格的安全性引起的。 在XP下工作正常。

我不能使用“以管理员身份运行”来启动M.bat或手动使用“以管理员M.bat运行”来启动A.bat因为两者都会报告找不到目标可执行文件(因为起始位置实际上不是“当前”位置)。

有没有办法在批处理文件中以管理员身份启动可执行文件? 还是在C#程序中我可以给自己管理员权限?

要么 ...

并非以用户看不见/隐藏的方式...我建议您找到一种以管理员身份运行时使其工作的方式。 或者,您也可以设置应用程序清单(请参见: http : //www.enusbaum.com/blog/2007/08/26/how-to-run-your-c-application-as-administrator-in-windows-vista / )以管理员身份运行您的应用,这也许也可以。

最重要的是,除非您以admin身份运行,或者除非您的用户关闭了UAC(完全不建议这样做),否则您不能使用admin特权运行。

您需要通过UAC提示符提升特权。 按照此答案中的说明将清单添加到程序中。

您应该在程序启动时请求管理员权限。 这个样本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM