我已使用有效证书签署了我的 MSI 安装程序。当我安装此 MSI 时,UAC 会提示并正确显示发布者名称。但是,当我卸载 MSI UAC 时提示“未知发布者”。
如果检查C:\Windows\Installer
了缓存安装程序的文件夹并且它没有证书!
那么为什么它不保留缓存安装程序的证书呢?
我已使用有效证书签署了我的 MSI 安装程序。当我安装此 MSI 时,UAC 会提示并正确显示发布者名称。但是,当我卸载 MSI UAC 时提示“未知发布者”。
如果检查C:\Windows\Installer
了缓存安装程序的文件夹并且它没有证书!
那么为什么它不保留缓存安装程序的证书呢?
如果您在 Windows Vista(或 Windows Server 2008)上运行,这是Windows Installer archive的一个众所周知的行为 。
Windows Installer 剥离嵌入式机柜以节省空间。不幸的是,以这种方式更改
.msi
数字签名也会使数字签名无效。
您可以通过建造.msi
没有嵌入式驾驶室来避免这种情况;也就是说,您安装的所有文件都在其.msi
自身之外。但是,如果您在 Windows 7 或更高版本上看到这一点,那将是出乎意料的。