使用者帳戶控制 (UAC) 修補

使用者帳戶控制 (UAC) 修補可讓 Windows Installer 安裝作者識別未來可由非系統管理員使用者套用的數位簽署修補程式。

如果數位簽章不符合憑證,Windows Vista 會顯示 UAC 對話方塊,要求系統管理員授權,再安裝修補程式。 在早于 Windows Vista 的系統上,安裝程式將不會套用不符合憑證的已簽署修補程式。

如果非系統管理員嘗試將修補程式套用至應用程式,且不符合下列條件,Windows Vista 會在安裝修補程式之前通知使用者需要系統管理員授權。 非系統管理員可以繼續安裝修補程式,而不需要取得額外的系統管理員授權,前提是符合下列條件。

  • 應用程式是使用 Windows Installer 3.0 或更新版本安裝在 Windows Vista 或 Windows XP 上。

    Windows Server 2008: 不支援。

  • 如果應用程式安裝在 Windows XP 上,應用程式也必須從卸載式媒體安裝,例如 CD-ROM 或 DVD 磁片。 如果應用程式已安裝在 Windows Vista 上,則不適用這項限制。

  • 應用程式未從 系統管理安裝 來源映射安裝。

  • 應用程式最初是每部電腦安裝。 如需如何在修補程式核准為系統管理員信任之後,讓非系統管理員將修補程式套用至個別使用者管理的應用程式,請參閱 修補Per-User受控應用程式

  • MsiPatchCertificate 資料表存在於 Window Installer 套件 (.msi 檔案中) ,並包含啟用 UAC 所需的資訊。 資料表和資訊可能已包含在原始安裝套件中,或由 Windows Installer 修補程式檔案 (.msp 檔案) 新增至套件。

  • 修補程式會由 MsiPatchCertificate 資料表中所列的憑證進行數位簽署。 如需數位簽章憑證的詳細資訊,請參閱 數位簽章和 Windows Installer

  • 修補程式套件上的數位簽章可以根據 MsiPatchCertificate 資料表中的憑證進行驗證。 如需使用數位簽章、數位憑證和 WinVerifyTrust的詳細資訊,請參閱 Microsoft Windows 軟體發展工具組 (SDK) 的安全性 一節。

  • 用來驗證修補程式套件上數位簽章的簽署者憑證有效且尚未撤銷。

    注意

    雖然您無法使用過期的憑證簽署修補程式,但如果憑證已過期,則修補程式上的數位簽章評估不會失敗。 評估會使用目前的 MsiPatchCertificate 資料表,其中包含原始套件中的 MsiPatchCertificate 資料表,以及依目前套件之前順序排序之修補程式對資料表所做的任何變更。 修補程式可以將新的憑證新增至 MsiPatchCertificate 資料表,以評估在目前修補程式之後排序的修補程式。 撤銷的憑證一律會遭到拒絕。

     

  • 設定 MSIDISABLELUAPATCHING 屬性或 DisableLUAPatching 原則 ,尚未停用最低許可權修補。

非系統管理員也可以移除已使用 UAC 修補套用的修補程式。

無論應用程式的 UAC 設定為何,系統管理員都可以將修補程式套用至每部電腦安裝的產品。

您可以使用 MsiGetProductInfoEx 函式來查詢INSTALLPROPERTY_AUTHORIZED_LUA_APP屬性,或使用 ProductInfo 方法來查詢 「AuthorizedLUAApp」 屬性,來判斷應用程式是否啟用最低許可權修補。 如果任一屬性的值是 1,則會針對最低許可權使用者帳戶修補啟用應用程式。

系統管理員可以將 DisableLUAPatching 原則設定為 1,以停用電腦上的最低許可權修補。 您可以在初始安裝應用程式期間將 MSIDISABLELUAPATCHING 屬性設定為 1,以防止該應用程式的最小許可權修補。

此功能從 Windows Installer 3.0 版開始提供。 使用者帳戶控制 (UAC) 修補稱為最低許可權使用者帳戶, (WINDOWS XP 中的 LUA) 修補。 WINDOWS 2000 和 Windows Server 2003 上無法使用 LUA 修補。

如需與使用者帳戶控制 (UAC) 相容的應用程式相容性及開發應用程式的詳細資訊,請參閱 Microsoft Technet上提供的 UAC 資訊。