ClickOnce安装

7

我在这里有点困惑,我有一个.NET 3.5 SP1应用程序,我想使用ClickOnce在本地部署到我的网络上的其他计算机上。

安装时,他们会收到一个警告消息,说明此应用程序来自未知发布者等。

我的老板不想购买Verisign证书。他只希望它能够安装并且没有提示,即绕过安全消息。

这可行吗?

Microsoft网站上的一些注释表明在这个领域已经做出了更改,即:

"ClickOnce应用程序发布者现在可以决定选择退出签名和哈希ClickOnce清单,因为他们认为这对于他们的方案是适当的。"

谢谢

蒂姆


Ksoftware以80美元的价格销售Comodoo代码签名证书。 - Sander
2个回答

8

由于您在自己的网络上,因此可以创建自己的受信任证书发布者。为此,请在其中一个服务器上安装证书颁发机构服务并创建代码签名证书。默认情况下,用户的计算机不会信任该证书,因此在每台计算机上运行以下命令:

certmgr.exe -add -c MYRootCertificate.cer -s -r localMachine root

certmgr.exe -add -c MyCodeSigningCert.cer -s -r localMachine TrustedPublisher

第一个命令是让您的计算机信任内部CA服务器(以消除“不是受信任的发布者”消息),第二个命令是让它信任由您的证书签名的应用程序。

之后,您签名的任何应用程序都将在没有安全警告的情况下运行。


3
Mitchell的回答很好,但除非你有企业版服务器,否则你无法自定义模板,而且代码签名模板被标记为“不可导出”。这意味着你不能在Visual Studio中使用证书,并且必须有一个后处理过程来对你的清单进行签名。
现在,这是一个功能,而不是错误,请不要弄错。一个典型的软件商店不希望开发人员从Visual Studio中签署用于公共消费的清单。尽管如此,我个人所在的商店需要精确地实现这种功能。幸运的是,我设法找到了一个绕路获得具有代码签名特权的pfx密钥文件。如果你发现需要这个,它可能会很有用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接