我有一个小小的C#程序来修改位于Program Files
下的xml文件。该机器是一台Windows 7
机器。这个小程序由一个批处理文件(称为A.bat
)启动,因为我想传递一个参数给它。想要在Win7下修改程序文件下的文件
我有一个主批处理文件(称为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
或手动“以管理员身份运行”启动A.bat
因为两者会报告无法找到目标可执行文件(因为起始位置是不是真正的“当前”位置,然后)。
有没有办法以管理员身份在批处理文件中启动可执行文件?或者在C#程序中,我可以给自己的管理员权利?
或...
我真的不知道你在问什么。未经用户许可,应用程序或批处理文件都不能将其权限提升为管理员权限。你已经知道*这是问题所在。你会不会更好地尝试修复你的代码中的错误,使你不能使用“以管理员身份运行”,即不要假设某个特定的起始位置? – 2011-02-01 15:17:46