Windows 7/Vista 引入 UAC,普通權限進程無法訪問註冊表機器項、系統目錄等高權限資源,會拋出異常。需啟動時自動提權。
app.manifestapp.manifest,修改 requestedExecutionLevel:<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
level 可選值:
asInvoker:繼承父進程權限(默認)highestAvailable:盡可能高權限requireAdministrator:強制管理員,啟動彈出 UAC 提示若不需 ClickOnce 部署,回到安全性頁取消勾選,app.manifest 仍保留生效。
重新編譯運行,程序圖標帶盾牌,啟動彈出 UAC 同意對話框,即成功獲得管理員權限。