1

我正在尝试在 Windows 上部署和分发 C++ 应用程序。

我已经设法使用 Visual Studio(使用 Microsoft Visual Studio Installer Project 扩展)创建了一个 MSI 安装程序。当我在我的电脑上运行它时,一切都很好。但如果我在别人的计算机上运行它,Windows Defender 会显示 SmartScreen 警告:

图片

我们仍处于测试阶段,因此我们没有很多钱或任何证书,但我们希望在没有此警告的情况下提供测试版,以允许用户测试产品并向我们提供反馈(我们想要设置一个构建-测量学习方法)。

我已经看到我可以使用 EV 证书来删除这个警告(但它们太贵了,所以这不是一个选择)。

如何为从我的网站下载我的安装程序的每个用户删除此警告(如果可能,无需任何费用)?

4

1 回答 1

1

您需要一个正式的代码签名代码签名 EV 证书,这将花费一些钱,并使用该证书signtoolbuild events您的输出(dll、msi、exe)进行签名。然后您的设置来自已知的发布商(您/您的品牌)。

您可以使用自签名证书,但是您需要在每台机器上安装证书......该用例对于“内部”使用很有用。在您的情况下,当您从您的网站提供下载时,您需要通知用户您使用了自签名证书,并且您可以提供证书的 CA 并要求用户安装它......或者您只是提到证书是自签名的并共享指纹/MD5 哈希,以便您的客户可以自己验证内容。

于 2020-02-20T17:05:09.493 回答