Tôi đang cố cài đặt dịch vụ bằng InstallUtil.exe nhưng được gọi thông qua Process.Start
. Dưới đây là các mã:Đặc quyền quy trình nâng cao có lập trình?
ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start (startInfo);
nơi m_strInstallUtil
là đầy đủ đường dẫn và exe để "InstallUtil.exe" và strExePath
là đầy đủ đường dẫn/tên để dịch vụ của tôi.
Chạy cú pháp dòng lệnh từ lời nhắc lệnh nâng cao hoạt động; chạy từ ứng dụng của tôi (sử dụng mã trên) thì không. Tôi cho rằng tôi đang xử lý một số vấn đề về độ cao của quy trình, vậy làm cách nào tôi có thể chạy quy trình của mình ở trạng thái nâng cao? Tôi có cần phải xem ShellExecute
cho điều này không?
Đây là tất cả trên Windows Vista. Tôi đang chạy quá trình trong trình sửa lỗi VS2008 nâng lên đặc quyền quản trị.
Tôi cũng đã thử đặt startInfo.Verb = "runas";
nhưng dường như không giải quyết được sự cố.
"runas" không hoạt động đối với tôi. Có thể là nó chỉ hoạt động với UAC tắt? –
Nó đã giúp tôi, tôi tự hỏi, nếu điều này làm việc cho tất cả các hệ điều hành windows? –
Điều này dường như không hoạt động trên Windows 8. Làm việc tốt trên các phiên bản trước. – Despertar