1

我构建并签署了一个 MSI(使用 WiX)。如果我将它复制到我的 Win8 机器上,它可以完美运行。如果我 gmail 将其下载到 Win8 机器上,我会得到“Windows 保护您的 PC”-“仍然运行”或“不运行”。这是我找不到答案的主要问题:它如何知道这是来自副本还是已下载。

我正在对此进行调查,因为当我使用时间戳服务器签名时,这个弹出窗口(仅当从 gmail 下载时)实际上是在说未知的发布者,即使其他地方看起来都不错。

4

2 回答 2

1

简单:它使用备用数据流 (ADS),特别是名为Zone.Identifier

有关详细信息,请参阅

于 2013-11-04T23:43:12.083 回答
0

如果您收到“未知发布者”,则您的包可能未签名或签名不受信任。验证仅适用于从 Internet 下载的包,因此它不会提示您,否则并不表示签名成功。

通过Mark-of-the-web检测是否从 Internet 下载了包,正如@JohannesKuhn 指出的那样,它是通过名为Zone.Identifier.

有关 MSI 签名的更多信息,请参阅此 msdn 博客

于 2013-11-04T23:55:37.763 回答