7

我有点卡在这里,我有一个 .net 3.5 sp1 应用程序,我想使用 ClickOnce 在本地部署到我网络上的其他机器。

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

我的老板不想买威瑞信证书。他只是想安装它而不提示即绕过安全消息。

这可能吗???

Microsoft 网站上的一些注释表明该区域已进行了更改,即

“ClickOnce 应用程序发布者现在可以决定不签署和散列 ClickOnce 清单,因为他们认为适合他们的场景。”

谢谢

蒂姆

4

2 回答 2

8

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

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

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

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

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

于 2008-12-04T14:31:16.890 回答
3

Mitchell 的回答很好,但是除非您有企业版服务器,否则您无法自定义模板并且代码签名模板被标记为“不可导出”。这意味着您不能在 Visual Studio 中使用证书,并且必须有一个后处理来签署您的清单。

现在这是一个功能,而不是错误,不要搞错。典型的软件商店不希望开发人员在 Visual Studio 中签署清单以供公众使用。也就是说,我个人在一家我确实想要那种功能的商店里。幸运的是,我设法弄清楚如何导出具有代码签名权限的 pfx 密钥文件。如果你发现你需要它,它会很有用。

于 2009-02-12T19:14:28.640 回答