ในบางครั้งเราต้องเขียนโปรแกรมเพื่อจัดการข้อมูลที่สำคัญ และต้องมีสิทธิในการแก้ไข เช่น Registry หรือ ไฟล์ของระบบของ Windows เป็นต้น ซึ่งสิทธิที่ใช้ในการจัดการนี้ คือ Administrator นั้นเอง ปกติแล้วเราจะคลิกขวาแล้วให้โปรแกรม Run As Administrator คราวๆนี้ ถ้าเราพัฒนาโปรแกรมขึ้นมา แล้วให้รันเป็น Administrator โดยมีวิธีการ ดังนี้
- เปิด Project ของ Microsoft Visual Studio ขึ้นมา เพื่อคำการแก้ไข
- คลิกขวาที่ Solution เลือก Add >> New Item จากนั้นเลือก Application Manifest File โดย ตัวอย่าง Application Manifest File ดังรูป
- ได้ไฟล์ Manifest มาแล้ว ในกรณีนี้ผมได้ตั้งชื่อไฟล์ว่า app.manifest
- ไฟล์ manifest คือ ไฟล์ XML ที่เก็บข้อมูลที่จำเป็นของ Application เช่น การร้องขอสิทธิ์ที่ใช้รันโปรแกรม(ส่วน requestedPrivileges) หรือ การกำหนดระบบปฏิบัติการที่ที่ใช้งานกับ Application เราได้(ส่วน compatibility)
- แก้ไขการตั้งค่าจาก asInvoker มาเป็น requireAdministrator
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
- มาเป็น requireAdministrator
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
หมายเหตุ
- บางครั้งเวลารันโปรแกรม ตัว Microsoft Visual Studio อาจจะต้อง Restart Program เพื่อรันโปรแกรมในสิทธิ Admin ดังรูป
ผลลัพธ์ที่ได้
- Application ที่เราได้ Bulid Solution ออกมามีรูปโล่ ซึ่งหมายถึง ต้องการสิทธิระดับ Administrator ในการทำงาน ดังรูป
แหล่งข้อมูล
- http://stackoverflow.com/questions/2818179/how-to-force-my-net-app-to-run-as-administrator-on-windows-7
- http://www.dotnetspark.com/kb/682-what-is-manifest.aspx
- http://msdn.microsoft.com/en-us/library/aa374219(v=vs.85).aspx
- http://msdn.microsoft.com/en-us/library/bb756929.aspx
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.