数字签名和 Windows Installer

Windows Installer 可以使用数字签名来检测损坏的资源。 签名者证书可能与包要安装的外部资源的签名者证书进行比较。 有关使用数字签名、数字证书和 WinVerifyTrust的详细信息,请参阅 Microsoft Windows 软件开发工具包(SDK)的 安全 部分。

借助 Windows Installer,数字签名可以与 Windows Installer 包、转换、修补程序、合并模块和外部内阁文件一起使用。 Windows Installer 与 Microsoft windows XP 上的软件限制策略集成。 可以创建策略,以允许或阻止基于不同条件(包括特定的签名者证书或发布者)进行安装。 Windows Installer 可以在安装 CryptoAPI 版本 2.0 的所有平台上对外部内阁文件执行签名验证。

请注意,在启动安装之前,随 Windows Installer SDK 提供的启动示例 Setup.exe 在 Windows Installer 包上执行签名检查。

执行 管理安装 从包中删除数字签名。 管理安装会修改安装包,以便添加 AdminProperties 流,这会使原始数字签名失效。 管理员可以辞职包。

将修补程序应用到管理安装也会从包中删除数字签名。 原因是更改保留在管理安装的修补安装包中。 管理员可以辞职包。

从 Windows Installer 版本 3.0 开始,用户帐户控制(UAC)修补 使非管理员用户能够修补每台计算机上下文中安装的应用程序。 UAC 修补是通过在 MsiPatchCertificate 表中提供签名者证书并使用同一证书对修补程序进行签名来实现的。

有关详细信息,请参阅 数字签名和外部内阁文件Windows Installer 和软件限制策略创作完全验证的签名安装,以及 基于 URL 的 Windows Installer 安装示例