搭配 UAC 使用 Windows Installer
Windows Installer 符合 Windows Vista 中的 使用者帳戶控制 (UAC) 。 透過系統管理員的授權,Windows Installer 可以代表不是 Administrators 群組成員的使用者安裝應用程式或修補程式。 這稱為 提升許可權 的安裝,因為 Windows Installer 代表使用者對系統進行變更,如果使用者直接進行變更,則通常不允許此變更。
- 在公司環境中使用 Windows Vista 時,可以將應用程式指定為受控應用程式。 使用應用程式部署和群組原則,系統管理員可以鎖定目錄,然後將這些目錄中的受控應用程式指派或發佈給標準使用者,以進行安裝、修復或移除。 受控應用程式會在 登錄區中註冊HKEY_LOCAL_MACHINE 。 一旦應用程式註冊為受控應用程式,後續的安裝作業一律會以提高的許可權執行。 如果使用者以系統管理員身分執行,則不需要提示才能繼續安裝。 如果使用者以標準使用者身分執行,且應用程式已獲指派或發佈,則受控應用程式的安裝可以繼續,而不需要提示。
- 在非公司環境中使用 Windows Vista 時,UAC 會處理應用程式安裝的提高許可權。 Windows Installer 4.0 可以呼叫 應用程式資訊服務 (AIS) ,以要求系統管理員授權以提升安裝許可權。 在識別為需要系統管理員許可權的安裝執行之前,UAC 會提示使用者同意提高安裝許可權。 即使使用者是本機 Administrators 群組的成員,預設也會顯示同意提示,因為系統管理員會以標準使用者身分執行,直到需要系統管理認證要求許可權才能執行的應用程式或系統元件為止。 此使用者體驗稱為管理員核准模式 (AAM) 。 如果標準使用者嘗試安裝應用程式,使用者必須取得具有系統管理員許可權的人員,才能提供其系統管理員認證以繼續安裝。 此使用者體驗稱為 「過度 (OTS) 認證提示」 。
- 因為 UAC 會在安裝階段限制許可權,所以 Windows Installer 套件的開發人員不應該假設其安裝一律可以存取系統的所有部分。 因此,Windows Installer 套件開發人員應該遵守 套件指導方針 中所述的套件指導方針,以確保其套件可與 UAC 和 Windows Vista 搭配運作。 已撰寫並測試以符合 UAC 的套件應該包含設定為 1 的 MSIDEPLOYMENTCOMPLIANT 屬性。
- 系統管理員也可以使用一節中所述的方法:為非管理員安裝具有提高許可權的套件,讓非系統管理員使用者能夠安裝具有提高系統許可權的應用程式。
- 需要有許可權,才能在每個使用者管理的內容中安裝應用程式,因此,後續的 Windows Installer 重新安裝或修復應用程式也會由安裝程式使用提高的許可權來執行。 這表示只有來自受信任來源的修補程式可以套用至個別使用者管理狀態的應用程式。 從 Windows Installer 3.0 開始,您可以在修補程式註冊為具有提高許可權之後,將修補程式套用至每個使用者受控應用程式。 如需詳細資訊 ,請參閱修補Per-User受控應用程式。
注意
當不需要提高許可權才能安裝 Windows Installer 套件時,套件的作者可以隱藏 UAC 顯示的對話方塊,以提示使用者進行系統管理員授權。 如需詳細資訊,請參閱 撰寫不含 UAC 對話方塊的套件。