我已經創建了win32應用程序Visual Studio 2010。該應用程序是一種安裝程序,它將一個exe複製到system32文件夾。設置應用程序的管理員權限
安裝程序複製的exe會在每次重新啓動窗口時執行。我已經在註冊表中創建了一個條目,現在我遇到的問題是我想在每次執行時都以管理員身份運行該exe文件。
我可以更改exe的屬性以管理員身份運行,但它只適用於特定的系統,我提到我的應用程序是一個安裝程序,所以在每個系統上更改權限都是相當忙碌的。
請指導我怎樣才能解決這個問題
我已經創建了win32應用程序Visual Studio 2010。該應用程序是一種安裝程序,它將一個exe複製到system32文件夾。設置應用程序的管理員權限
安裝程序複製的exe會在每次重新啓動窗口時執行。我已經在註冊表中創建了一個條目,現在我遇到的問題是我想在每次執行時都以管理員身份運行該exe文件。
我可以更改exe的屬性以管理員身份運行,但它只適用於特定的系統,我提到我的應用程序是一個安裝程序,所以在每個系統上更改權限都是相當忙碌的。
請指導我怎樣才能解決這個問題
首先,請注意,特權和權限的用戶,而不是可執行文件規定。
爲了讓可執行文件運行提升,通常需要將應用程序清單添加到指定requireAdministrator
執行級別的可執行文件中。如果用戶不是管理員,或者找不到管理員執行肩上提升,則此應用程序將無法運行。
現在,這可能不會幫助你很多。如果您希望在登錄時發生提升(假設您的註冊表設置爲HKLM\Software\Microsoft\Windows\CurrentVersion\Run
),那麼每次程序啓動時都會導致用戶出現UAC提升對話框。我無法想象這種行爲是可取的。
也許最簡單的方法來避免所有這些將轉換您的應用程序作爲服務運行。服務在會話0中運行,不受UAC影響。只需在具有足夠權限的用戶帳戶下運行該服務即可。
最後一點,我不能強調。您不應該將文件複製到system32。這是系統文件夾,它屬於系統。
我不認爲你可以這樣做,因爲它可能有安全問題,如果你可以這樣做,你可以編寫一個程序來刪除系統文件並授予管理員權限。我非常有興趣知道這是否會以編程方式發生。 – VahiD