2010-05-25 52 views
0

如何使用Visual Studio 2010对UAC进行分类以运行已编译的应用程序而不会出现问题并且不使用虚拟化?如何使用visual stuio 2010禁用UAC?

我的意思是以管理员身份运行该应用程序。 (带有盾牌图标)

+1

UAC与Visual Studio无关。你是什​​么意思“没有问题”(*什么*问题?) – 2010-05-25 01:26:43

回答

1

我不认为你可以在每次使用的基础上以编程方式进行此操作。您必须在Windows中完全禁用它或者在UAC下升级您的程序工作。

+0

是的,我知道。随着VB 2005我可以做到这一点,添加mainfest,也在VB 2008中,但我在2010年做了同样的事情,mainfes没有添加到可执行文件。 – 2010-05-25 01:39:00

4

你需要一个application manifest添加到您的应用程序,以指示操作系统,它需要管理员权限。这会导致您的应用程序在每次启动时提示UAC提升(不管它是否从Visual Studio启动)。

请注意,以管理员权限运行的应用程序不能以而不是作为管理员运行。这意味着如果你想调试你的应用程序,你还必须以管理员身份运行Visual Studio。

个人而言,我建议你不要要求在你的应用程序中有管理员权限,而是使用标记为管理员的进程外COM对象来执行管理任务。这样,您的应用程序可以将其大部分时间用作非管理员,并且只有在实际需要时才会提升。 See here了解更多信息。

+1

我同意第1和2段;但是我完全不同意进程外COM对象。除非您非常小心地考虑安全边界,否则以整个应用的管理员身份运行可能更安全。 – Joshua 2010-05-25 01:42:49

+0

mainfest文件的工作原理,但在后编译器中做一些技巧。我已经尝试直接从proyect属性>应用程序>查看窗口设置并取消注释uac规则,但是这不起作用......应该如何。 – 2010-05-25 01:43:20

+0

所以......提升程序有点像'sudo',只有在需要时才用外部对象提升就像PolicyKit一样? :p – 2010-05-25 02:19:08

相关问题