我正在做一些WinForms开发,运行XP和VS 2005(古代,我知道)。我想确保我的应用程序可以在没有管理员权限的情况下运行,但我懒得尝试以非管理员身份运行VS,而且我不想登录和注销来测试我的应用程序。
有没有办法可以像非管理员一样调试?
是否有一组代码访问安全属性我可以添加到我的代码中,这将迫使我在与非管理员相同的权限集中运行?
答案 0 :(得分:2)
从当前登录的桌面会话中以另一个用户身份运行VS.见How to enable and use the "Run As" command when running programs in Windows。这意味着您无需登录和退出。
我建议您通过RunAs将目标应用程序作为另一个用户运行,然后通过Debug>将VS Debugger连接到进程(如果需要)。在Visual Studio中附加到处理...菜单项。
答案 1 :(得分:0)
根据Phil的回答,您可以通过将启动项目设置为:
来自动执行该过程启动外部程序:c:\windows\system32\runas.exe
使用命令行参数:/noprofile /user:{MachineName}\{UserName} {ApplicationName}.exe
不幸的是,我认为没有一种自动方法将进程附加到VS调试器(因为安全警告),但通过有条件地调用
#if (DEBUG)
System.Diagnostics.Debugger.Launch();
#endif
只需单击两次,系统就会提示您附加到调试器。
答案 2 :(得分:0)