Share via


使用者帳戶控制 (UAC) 如何影響應用程式

使用者帳戶控制 (UAC) 是 Windows Vista 的功能,可以讓使用者帳戶擁有有限的權限。 您可以在以下網站找到有關 UAC 的詳細資訊:

在啟用 UAC 後建置專案

如果您在停用 UAC 的 Windows Vista 上建置 Visual Studio C++ 專案,稍後又啟用 UAC,您必須清除並重建專案,才能正常運作。

需要系統管理員權限的應用程式

根據預設,Visual C++ 連結器會將 UAC 片段內嵌至執行層級 asInvoker 為 的應用程式資訊清單。 如果您的應用程式需要系統管理員權限才能正確執行 (例如,如果會修改登錄的 HKLM 節點,或是會寫入到磁碟上受保護的區域,如 Windows 目錄),您就必須修改應用程式。

第一個選項是修改資訊清單的 UAC 片段,以將執行層級變更為 需要管理員istrator 。 然後,應用程式便會提示使用者,必須在執行前提供管理認證。 如需如何執行這項操作的資訊,請參閱 /MANIFESTUAC (在資訊清單中內嵌 UAC 資訊)。

第二個選項則是指定 /MANIFESTUAC:NO 連結器選項,讓 UAC 片段不要內嵌到資訊清單中。 在此情況下,您的應用程式便會以虛擬化的方式執行。 您對登錄或檔案系統所做的任何變更,都不會在應用程式結束後持續。

下列流程圖描述應用程式將會如何根據是否有啟用 UAC,以及應用程式是否有 UAC 資訊清單來執行。

Flowchart of Windows Loader behavior.

另請參閱

安全性最佳做法