我创建了一个从 Visual Studio 安装项目生成的 Setup.exe 文件。我有我公司从 Digicert 购买的代码签名证书,我们已经用于其他产品,所以应该是好的。我设置了一个构建后事件来对我的应用程序进行签名,并且我使用 signtool.exe 对生成的 .msi 和 setup.exe 进行签名,因此一切都应该成功签名。如果我运行任何类型的签名验证,或查看文件属性,它会显示我的数字证书。
如果我在 IIS (8.5) 中托管此 Setup.exe 文件,允许目录浏览,并设置我的 MIME 类型以允许下载文件,我可以从浏览器将此 Setup.exe 文件下载到我的计算机。如果我运行它,我会得到一个 Windows SmartScreen 过滤器,说它是一个无法识别的应用程序。在此之下,它说出版商是未知的。如果相同的 setup.exe 文件不是通过 IIS 下载的,例如从一台计算机复制到另一台计算机并执行,则没有 Windows SmartScreen 过滤器。所以这个问题似乎是由 IIS 下载引起的。有没有办法解决这个问题?