Dot-Net

在從網路共享執行的應用程序的 UAC 提升提示上顯示應用程序圖示

  • July 24, 2017

我已經使用應用程序清單配置了我的 .NET 應用程序以請求管理員權限。我還使用 signtool 對程序集進行了簽名。一切都很好——當您啟動應用程序時,您會收到帶有應用程序名稱和簽名證書名稱的漂亮 UAC 提示。

但是,當我從網路共享執行應用程序時,提升提示會顯示通用可執行圖示,而不是我的應用程序圖示。如何讓 UAC 提示顯示我的應用程序圖示?

我大概發現了。

UAC 在服務之上執行,我們看到的對話框在桌面快照之上。該服務只會顯示對話框,就好像它在桌面上一樣。

正如我們所知,服務在 SYSTEM 帳戶上執行(除其他外)。這意味著它需要 SYSTEM 對我們正在啟動的執行檔擁有權限。我只為自己分配了安全性(剝離了 SYSTEM)。

一旦我授予 SYSTEM 權限(僅讀取權限!),並啟動應用程序 - 它顯示應用程序圖示!

引用自:https://stackoverflow.com/questions/469885