啓動我的可執行文件時,Windows會提示提升,如果不應該的話。如何確定應用程序提示擡高的原因
我怎麼弄出來爲什麼 Windows在啓動時提示我提升我的可執行文件?
注:
- 有沒有清單資源(要求
asAdministrator
,或以其他方式) - 有沒有清單文件
- 的了兼容性選項卡(對於所有用戶和只是我)沒有選中「以管理員身份運行」
我如何確定爲什麼我的應用程序提示提升?
啓動我的可執行文件時,Windows會提示提升,如果不應該的話。如何確定應用程序提示擡高的原因
我怎麼弄出來爲什麼 Windows在啓動時提示我提升我的可執行文件?
注:
asAdministrator
,或以其他方式)我如何確定爲什麼我的應用程序提示提升?
在沒有清單的情況下,通常的原因是名稱啓發式(例如,您的文件稱爲setup.exe)和組策略(在「此程序可能沒有按預期運行」對話框後,您可能意外設置了此策略)
要防止它,只需使用asInvoker應用清單(嵌入或外部)。那麼你將不再關心這些啓發式,你不會提升。
我知道我評論過上面的內容,但我需要重複一遍:你的代碼試圖做的事情永遠不會導致提升。決不。當你沒有升高時,除非你升高,否則將無法工作的東西失敗。它不會提升你。
Damnest的事情是,我創建了一個外部'MyApp.exe.manifest'文件,聲明'asInvoker',它仍然提示。然而,我重命名可執行文件,它不再這樣做。我仍然希望找到某個地方的日誌*爲什麼* Windows認爲應用程序需要提升(顯示'requireAdministrator',用戶兼容性請求,所有用戶兼容性請求,設置啓發式檢測和「其他」) – 2010-10-04 13:16:09
可能是compat請求,關聯與名稱,以便更改名稱打破了請求。如果他們超過艙單,我不會感到驚訝。你可以利用這一點來建立「啄食順序」 - 我沒有看到它寫在任何地方。 – 2010-10-04 13:45:38
是否有任何需要管理訪問的文件I/O操作? (在Windows/Program Files文件夾中),註冊表? – Ruel 2010-09-30 15:16:51
你的代碼試圖做的事情永遠不會導致海拔。 – 2010-09-30 18:46:47