C# 以管理員身份運行WinForm程序 轉載https://www.bbsmax.com/A/obzbkKrQJE/
魚洛 2016-07-29 原文
最近幫客戶開發的WinForm客戶端,部分在使用的過程當中,會出現「系統文件找不到」的錯誤提示。app
調試後,肯定爲程序在操做配置文件時,系統權限引發的錯誤,直接管理員權限運行就正常了。post
考慮用戶操做的便利性,設置爲每次運行默認獲取系統管理員權限,如下爲設置步驟。ui
一、在Visual Studio 中--解決方案資源管理器--右鍵項目名稱--屬性,找到「安全性」選項,勾選「啓用ClickOnce安全設置」:spa
二、這時,在項目下面會多出一個「app.manifest」的文件,調試
選中它,並找到代碼段<requestedExecutionLevel level="asInvoker" uiAccess="false" />,orm
將其改成:<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />,blog
三、改正後,不要急於從新編譯生成,再次打開「屬性--安全性」界面,資源
將「啓用ClickOnce安全設置」前面的勾去掉後再編譯運行。 否則程序會報錯沒法運行。開發
四、最後,保存修改,從新編譯生成程序。
再次打開程序時,會提示「用戶帳戶控制」來獲取管理員權限運行,點擊「是」則獲取了管理員權限。