2013-04-12 30 views
9

Tôi cần tạo ứng dụng cần tạo tệp/thư mục trong "C: \ Program Files", "Users [username]" và Sys32. Ngoài ra các ứng dụng cần phải thực hiện một số mục đăng ký.Làm thế nào để chạy ứng dụng với quyền quản trị bằng tệp kê khai trong Visual Studio 2005?

Ứng dụng này cần phải hoạt động trên Vista trở lên. Ngoài ra, trên Windows Server 2003 và cao hơn.

Hệ điều hành trên có khái niệm Kiểm soát tài khoản người dùng (UAC), nơi truy cập tệp chương trình và ghi vào sổ đăng ký yêu cầu quyền quản trị.

Tôi đã xem nhiều diễn đàn và thấy rằng sử dụng Microsoft SDK, chúng tôi có thể kiểm tra xem người dùng hiện tại có quyền quản trị hay không. Nhưng chức năng "CheckTokenMembership" không thành công cho Vista và phiên bản hệ điều hành cao hơn.

Tôi cũng tìm thấy giải pháp nơi tệp kê khai có thể được sử dụng để thông báo trước cho hệ điều hành rằng ứng dụng hiện tại yêu cầu đặc quyền quản trị viên. Điều này được thực hiện bằng cách sử dụng thẻ "requestedExecutionLevel".

Tôi đang sử dụng Visual Studio 2005 để tạo ứng dụng. Khi chúng ta tạo một ứng dụng trong Visual Studio, một tệp kê khai mặc định được tạo ra. Tôi có thể thay đổi tệp kê khai này để bao gồm thẻ "requestedExecutionLevel" để ứng dụng của tôi luôn chạy với đặc quyền quản trị viên không?

Có phương pháp nào khác mà ứng dụng của tôi chạy với đặc quyền quản trị mà không yêu cầu người dùng (quản trị viên hoặc chuẩn) chạy ứng dụng của tôi là "chạy dưới dạng quản trị viên" không ??

Cảm ơn!

+2

này có thể giúp cho bạn http://stackoverflow.com/questions/8139480/c-console-application-prompt-run-as-admin-to-run-as-administrator và http này: //msdn.microsoft.com/en-us/library/bb756929.aspx –

+1

Bạn không chắc chắn câu hỏi của mình là gì. Nhưng bạn cần nâng mã thông báo của mình lên quản trị viên theo UAC. Nếu bạn dành thời gian để đọc qua Microsoft SDK và mã mẫu, bạn sẽ có một ví dụ hoàn hảo về cách thực hiện điều này. – Dan

Trả lời

22

Bạn nên tìm tùy chọn cho thuộc tính dự án này Trình liên kết -> Tệp kê khai -> Cấp thực thi UAC. Đặt cài đặt này thành requireAdminstrator.

Điều này sẽ làm cho tệp kê khai được tạo mặc định bao gồm requestedExecutionlevel mà bạn cần, để người dùng của bạn sẽ được nhắc tự động nâng cao đặc quyền của họ nếu chúng chưa được nâng lên.

screenshot of visual studio UAC options

Các vấn đề liên quan