RSS

Tag Archives: quyền administrator C#

Thiết lập chương trình chạy với quyền Administrator trong C#

Với một số chương trình cần quyền quản trị (Administrator) để chạy khi muốn tương tác sâu đến hệ thống thì việc thiết lập chương trình chạy với quyền quản trị là một điều cần thiết, nhất là khi chương trình chạy trên Windows Vista hoặc Windows 7. Nếu không bạn sẽ gặp thông báo lỗi.

image_thumb23

Và để chạy được chương trình, các bạn cần kích chuột phải và chọn Run as Administrator.

image

 

Vì vậy, để tránh tất cả những rắc rối như trên, chúng ta thiếp lập trực tiếp trong tập tin app.manifest.

Kích chuột phải vào Project chọn Add/New Item…(Hoặc nhấn Ctrl + Shift + A).

Tiếp đó, các bạn tìm và chọn Application Manifest File, giữ nguyên tên tập tin như vậy và kích Add

image

Các bạn chú ý đoạn tô đỏ của tập tin app.manifest.

image

Tại đây chương trình đang được thiết lập với quyền asInvoker (Quyền cơ bản nhất). Có 3 cách thiết lập quyền trong này.

  1. asInvoker: Chương trình chạy với quyền cơ bản nhất của người dùng
  2. requireAdministrator: Chương trình chạy với quyền Administrator
  3. highestAvailable: Chương trình sẽ chạy với quyền hạn cao nhất có thể của người dùng.
    Vì vậy, chúng ta cần thay đổi nội dung đoạn đó thành:
    <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

    Sau đó lưu lại và chạy thử chương trình, Nếu bạn đang dùng Windows Vista hoặc Windows 7 và UAC vẫn để ở chế độ mặc định, sẽ gặp 1 thông báo như sau.

    image_thumb30
    Nội dung trên thông báo rằng Visual Studio cần khởi động lại để thực thi chương trình với quyền hạn cao hơn. Các bạn kích Restart under different credential để khởi động lại. Và giờ đây chương trình của bạn hoàn toàn đã được thiết lập để chạy với quyền Administrator.
 

Nhãn: , , , , ,