我正在尝试在 Windows 上部署和分发 C++ 应用程序。
我已成功使用 Visual Studio(带有 Microsoft Visual Studio 安装程序项目扩展)创建了 MSI 安装程序。当我在我的计算机上运行它时,一切都很好。但如果我在其他人的计算机上运行它,Windows Defender 会显示 SmartScreen 警告:
我们仍处于测试阶段,因此我们没有很多钱或任何证书,但我们希望在没有此警告的情况下提供测试版,以允许用户测试产品并向我们提供反馈(我们希望设置构建-测量-学习方法)。
我发现我可以使用 EV 证书来消除此警告(但它们太昂贵了,所以这不是一个选择)。
如何为每个从我的网站下载安装程序的用户删除此警告(如果可能,无需任何费用)?
最佳答案
您需要一个正式的code Sign或code Sign EV证书,这会花费一些钱,并使用signtool
或使用该证书构建事件
您的输出(dll、msi、exe)。那么您的设置来自知名发行商(您/您的品牌)。
您可以使用自签名证书,但随后您需要在每台计算机上安装证书......该用例对于“内部”使用很有用。就您而言,当您从网站提供下载时,您需要通知用户您使用了自签名证书,并且您可以提供证书的 CA 并要求用户安装它......或者您只是提及该证书是自签名的并共享指纹/MD5 哈希值,以便您的客户可以自行验证内容。
关于windows - 如何让 Windows 的 Smart Screen 信任我的安装程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59409187/