2014-03-27 156 views
1

我已经创建了多个应用程序,这些应用程序部署在服务器上,并将由用户从网络中运行。 每次用户打开应用程序时,他们都会遇到安全警告:部署安全警告

打开文件 - 安全警告 我们无法验证是谁创建的此文件。你确定你想运行这个文件吗?

是否有可能通过代码抑制此消息? 我发现了一篇文章,说我需要签署应用程序,但不幸的是这没有帮助。我发现的另一篇文章说我需要手动更改安全级别,但这不是我想要的。 我只想让Windows相信我的应用程序。

+0

http://meta.stackexchange.com/questions/10647/how-do-i-write-a-good-title –

+8

'我只是希望Windows信任我应用程序“.Windows如何知道您的应用程序不会传播病毒? –

+0

即使病毒不会抛出此消息,奇怪的答案...所以我怎么让Windows知道它保存运行? – Cageman

回答

1

您必须使用所谓的“Microsoft Authenticode证书”签署您的应用程序。此外,您需要在所有受影响的机器上将证书注册为受信任的发布者(如果您处于具有Active Directory的业务环境中,则很容易)。

您可以使用Windows证书管理单元(按CTRL + R键入Certmgr.msc),以在您的机器上显示所有已安装的证书。在那里你会找到一个名为受信任的生物的文件夹。但是,这只有在您对网络具有某种控制权的商业环境(活动目录等)中才有可能。如果你通过互联网分发你的应用程序,你将很难;)

请记住,证书是关于信任,并且有一个此警告的原因,因为* .exe文件可能确实会损害您的计算机。

编辑: 有益的一篇关于Microsoft Authenticode Certificates

+0

它将在一个商业环境中发布,确实有AD,而且我只能看到花钱的证书。是不是可以创建自己的证书?就像我说的那样,我发现了一篇文章让我想到:“右键单击项目>签名>'检查'签署assambley”,我在这里签了名,不知道你的意思吗? – Cageman

+0

我在我们的商业环境中面临同样的问题。您可以创建自己的证书并使用它来签署应用程序并将其发布到活动目录中的所有客户端。我浪费了两个工作日试图这样做;)说服我的老板花费几百美元的“专业”证书要容易得多 – Joel

+0

..但如果你真的不想'硬'的方式,这里是一个点开始:http://msdn.microsoft.com/en-us/library/bfsktky3(v=vs.110).aspx – Joel