2013-09-23 76 views
0

我已經創建了win32應用程序Visual Studio 2010。該應用程序是一種安裝程序,它將一個exe複製到system32文件夾。設置應用程序的管理員權限

安裝程序複製的exe會在每次重新啓動窗口時執行。我已經在註冊表中創建了一個條目,現在我遇到的問題是我想在每次執行時都以管理員身份運行該exe文件。

我可以更改exe的屬性以管理員身份運行,但它只適用於特定的系統,我提到我的應用程序是一個安裝程序,所以在每個系統上更改權限都是相當忙碌的。

請指導我怎樣才能解決這個問題

+0

我不認爲你可以這樣做,因爲它可能有安全問題,如果你可以這樣做,你可以編寫一個程序來刪除系統文件並授予管理員權限。我非常有興趣知道這是否會以編程方式發生。 – VahiD

回答

1

首先,請注意,特權和權限的用戶,而不是可執行文件規定。

爲了讓可執行文件運行提升,通常需要將應用程序清單添加到指定requireAdministrator執行級別的可執行文件中。如果用戶不是管理員,或者找不到管理員執行肩上提升,則此應用程序將無法運行。

現在,這可能不會幫助你很多。如果您希望在登錄時發生提升(假設您的註冊表設置爲HKLM\Software\Microsoft\Windows\CurrentVersion\Run),那麼每次程序啓動時都會導致用戶出現UAC提升對話框。我無法想象這種行爲是可取的。

也許最簡單的方法來避免所有這些將轉換您的應用程序作爲服務運行。服務在會話0中運行,不受UAC影響。只需在具有足夠權限的用戶帳戶下運行該服務即可。

最後一點,我不能強調。您不應該將文件複製到system32。這是系統文件夾,它屬於系統。

+0

感謝您的迴應,我已經將清單寫入了我的可執行文件,但仍然無法正常工作,即使沒有提示對話框,我也無法理解原因 – WiXXeY

+0

如果沒有信息,我無法幫助您。清單中的requireAdministrator設置已知可以使用。 –

+0

讓我分享我的manifest.xml WiXXeY