[.NET] : VS2005 讓應用程式以系統管理員的身分執行
前言 :
應用程式在Vista或是Win7上執行時,有時會有權限不足的問題。
簡單的解法是請使用者在應用程式圖示上按右鍵,然後選擇以系統管理員身分執行。
但這個動作常常會被使用者忘記。
這個問題在VS2008或是VS2010上已經有了解決方案 :
(請參考)
http://social.msdn.microsoft.com/Forums/zh-TW/1007/thread/ce70e22d-45f7-4903-b8f4-76a159d3002d
http://www.dotblogs.com.tw/jjnnykimo/archive/2009/05/08/8346.aspx
http://www.dotblogs.com.tw/dotnetfactory/archive/2008/12/01/6152.aspx
這篇文章是描述在VS2005的開發環境上,如何實作上述的解決方案。
實作 :
3. 將下列內容寫入App.manifest
<asmv1:assembly manifestversion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyidentity name="MyApplication.app" version="1.0.0.0"></assemblyidentity>
<trustinfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedprivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedexecutionlevel level="requireAdministrator" uiaccess="false"></requestedexecutionlevel>
</requestedprivileges>
</security>
</trustinfo>
</asmv1:assembly>
5. 將下列內容寫入建置後事件命令列
"$(DevEnvDir)..\..\SDK\v2.0\Bin\mt.exe" -manifest "$(ProjectDir)App.manifest" -outputresource:"$(TargetDir)$(TargetName).exe;#1"
能以更簡潔的文字與程式碼,傳達出程式設計背後的精神。
真正做到「以形寫神」的境界。