最重要的一點。本文解釋的是C#項目如何以管理員權限啟動。
一個很大的誤導項
該圖片是C++程序的項目配置屬性。C#項目中並找不到。然而網上的很多教程沒有說清楚。導致我找了這個菜單找了很久。
C#項目的設置方法:
右鍵項目(不是解決方案) - 項目屬性 - 安全性 - 選中啟用ClickOnce安全設置
此時,再Properties文件夾中會自動生成一個app.manifest文件。
在此文件中,將代碼<requestedExecutionLevel level="asInvoker" uiAccess="false" />
中的asInvoker
改為requireAdministrator
。
注意,此時不能直接編譯。需要返回上圖的項目安全性中,將選中的啟用ClickOnce安全設置取消。否則編譯出錯,出現“ClickOnce 不支持請求執行級別“requireAdministrator””的錯誤。
取消后,保存編譯即可。
其實,上述步驟就是為了生成用戶配置訪問控制的app.manifest文件。
可以直接在Properties文件夾新建項,創建應用程序清單文件來創建。
最后,其實可以在打包過程中,右鍵相應運行文件,如.exe - 兼容性 - 更改所有用戶的設置 - 勾選以管理員身份運行此程序。這樣安裝后,程序也是默認需要管理員身份運行的。