Windows

Windows 2008 從不“以管理員身份”執行程序

  • April 19, 2011

我有一個應用程序,Windows 2008 將始終“以管理員身份”執行(即藍色/黃色盾牌覆蓋圖示始終可見)。

但是,文件屬性中設置“以管理員身份執行此程序”標誌。

這個隱含的標誌來自哪裡,我該如何擺脫它?

背景:我不想以管理員身份執行此程序,它應該以非特權帳戶在計劃任務中執行。不過,目前 UAC 不允許執行該程序。

您可能會觸發 Windows 幾種啟發式方法之一,以確定應用程序是否需要管理權限。如果它確定應用程序需要管理權限,它將觸發 UAC 提示。它並不完美,也不總是正確的,但這一切都是為了向後兼容。

最常見的一種是簡單地通過文件名。如果文件包含installsetup(可能還有update),那麼它將提示,除非通過嵌入式清單文件明確告知不要這樣​​做。這不是您可以更改的,開發人員必須進行此更改。

它可能正在寫入特權位置,例如某處C:/WindowsC:/Program Files什至特權系統資料庫位置(特別是某處 off HKEY_LOCAL_MACHINE)。標準使用者無法寫入(在某些情況下甚至無法訪問)這些位置,因此 Windows 必須觸發 UAC 提示,應用程序才能正常執行。

您可以檢查此應用程序的發布者是否有可用的更新。他們可能會為您提供與 Windows Server 2008 兼容的更新。如果沒有,請嘗試與他們聯繫並詢問他們是否知道任何問題並查看他們是否有解決方案。

該程序也可以在內置兼容性數據庫中列出,因為需要提升才能正常執行。我不確定您是否可以影響此列表,但您最好使用軟體發行商提供的更新版本,他們已確認與 Windows Server 2008 兼容。

可能只是該應用程序太舊並且做了一些奇怪的事情,從而使啟發式方法之一絆倒。我有一個我編寫的應用程序在 Windows XP 上執行良好,但在 Vista 和更高版本上它觸發了 UAC 提示。它沒有讀取或寫入我之前提到的*任何特權位置。*不更改任何程式碼,只需在 Visual Studio 2010(與最初編譯它的 Visual Studio 2005 不同)中重新編譯它即可解決該問題。

引用自:https://serverfault.com/questions/261269