windows 7和vista提高的系統的安全性,同時需要明确指定“以管理者身份運作”才可賦予被運作軟體比較進階的權限,比如通路系統資料庫等。否則,當以普通身份運作的程式需要通路較進階的系統資源時,将會抛出異常。
如何讓程式在啟動時,自動要求“管理者”權限了,我們隻需要修改app.manifest檔案中的配置項即可。
app.manifest檔案預設是不存在的,我們可以通過以下操作來自動添加該檔案。
(1)進入項目屬性頁。
(2)選擇“安全性”欄目。
(3)将“啟用ClickOnce安全設定”勾選上。
現在,在Properties目錄下就自動生成了app.manifest檔案,打開該檔案,将trustInfo/security/requestedPrivileges節點的requestedExecutionLevel的level的值修改為requireAdministrator即可。如下所示:
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
記住,如果不需要ClickOnce,可以回到項目屬性頁将“啟用ClickOnce安全設定”不勾選。
接下來,重新編譯你的程式就OK了。