Dot-Net
在從網路共享執行的應用程序的 UAC 提升提示上顯示應用程序圖示
我已經使用應用程序清單配置了我的 .NET 應用程序以請求管理員權限。我還使用 signtool 對程序集進行了簽名。一切都很好——當您啟動應用程序時,您會收到帶有應用程序名稱和簽名證書名稱的漂亮 UAC 提示。
但是,當我從網路共享執行應用程序時,提升提示會顯示通用可執行圖示,而不是我的應用程序圖示。如何讓 UAC 提示顯示我的應用程序圖示?
我大概發現了。
UAC 在服務之上執行,我們看到的對話框在桌面快照之上。該服務只會顯示對話框,就好像它在桌面上一樣。
正如我們所知,服務在 SYSTEM 帳戶上執行(除其他外)。這意味著它需要 SYSTEM 對我們正在啟動的執行檔擁有權限。我只為自己分配了安全性(剝離了 SYSTEM)。
一旦我授予 SYSTEM 權限(僅讀取權限!),並啟動應用程序 - 它顯示應用程序圖示!