1. 程式人生 > 其它 >c#通過app.manifest使程式以管理員身份執行

c#通過app.manifest使程式以管理員身份執行

方法如下:

開啟vs2005、vs2008等工程,在【解決方案資源管理器】裡檢視是否有app.manifest這個檔案,如果沒有的話,通過以下方法建立:

方法1:

1、在【解決方案資源管理器】右鍵工程名稱選擇屬性;
2、在彈出的該對話方塊中,選擇【安全性】選項卡。
3、勾選【啟用ClickOnce安全設定】,並選中【這是完全可信的應用程式】。
4、儲存工程,這時候app.manifest就自動建立了。

開啟app.manifest把預設的配置修改一下,通過程式碼的註釋,可以知道需要修改的節點是【requestedExecutionLevel】


asInvoker : 如果選這個,應用程式就是以當前的許可權執行。

highestAvailable: 這個是以當前使用者可以獲得的最高許可權執行。

requireAdministrator: 這個是僅以系統管理員許可權執行。

找到<requestedExecutionLevel level="asInvoker" uiAccess="false" />
把其改為<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

這時候修改完成,按下F5進行除錯,通常會收到如下的錯誤提示:【ClickOnce 不支援請求執行級別“requireAdministrator”】。

事情好像發生了相互矛盾,上面開啟【ClickOnce】便自動建立了app.manifest,現在修改了app.manifest卻提示:ClickOnce 不支援請求執行級別“requireAdministrator”。

解決方法是:只要把【啟用ClickOnce安全設定】不勾選就可以了。