2010-05-25 34 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

相關問題