windows - 如何让 Windows 的 Smart Screen 信任我的安装程序?

标签 windows windows-installer smartscreen

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

我已成功使用 Visual Studio(带有 Microsoft Visual Studio 安装程序项目扩展)创建了 MSI 安装程序。当我在我的计算机上运行它时,一切都很好。但如果我在其他人的计算机上运行它,Windows Defender 会显示 SmartScreen 警告:

image

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

我发现我可以使用 EV 证书来消除此警告(但它们太昂贵了,所以这不是一个选择)。

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

最佳答案

您需要一个正式的code Signcode Sign EV证书,这会花费一些钱,并使用signtool使用该证书构建事件您的输出(dll、msi、exe)。那么您的设置来自知名发行商(您/您的品牌)。

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

关于windows - 如何让 Windows 的 Smart Screen 信任我的安装程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59409187/

相关文章:

windows - 奇怪的 Windows Defender SmartScreen 行为

c++ - Windows Media Foundation 中的视频捕获可以用于屏幕捕获吗?

installation - Wix 重大升级

windows - 如何为我的 Windows 应用程序创建高质量图标?

visual-studio - 在 VS 2008 安装项目中设置制造商

带代码签名 .exe 文件的 Windows 10 SmartScreen

c++ - 输入后我的程序似乎跳过了第一个 IF 语句并直接转到 ELSE

windows - 在文件夹的上下文菜单中运行批处理文件

windows - 每个线程如何拥有 CPU 寄存器

windows-10 - 签署代码后多长时间可以摆脱智能屏幕警告?