ClickOnce 发布WinForm应用程序(签名方式)
ClickOnce部署的应用程序进行数字签名的作用:
为了保证系统的安全,现在Windows(比如Windows 8)对于通过网络上下载的应用程序的执行文件都会首先阻止,并提示用户是否要运行。这个时候,同时会提示这个应用程序的发行者。如果一个没有进行数字签名的应用程序,这个时候发行者就为“未知”,签名后,就可以告知用户这个应用程序是由你提供的。在这里,数字签名就是保证这个应用程序是由你发行,并未被第三方更改的。
上面这种情况还好,很多时候,如果你安装了360之类的软件,对于未签名的应用程序,大部分情况是阻止其运行的。如果没有进行数字签名,那么对用户会造成极大困扰。
简而言之:
数字证书,可以保证软件不被修改,可以表明文件的发布日期,最重要的,可以很大程度的减少杀毒软件的误报,当然,这就要使用可信任的机构颁发的证书了
发布:
1、主要步骤同: ClickOnce 发布WinForm应用程序(非签名方式)
2、不同(为ClickOnce清单签名):
VS项目属性->签名->勾选:为ClickOnce清单签名->创建测试证书->从文件选择,刚创建的证书
发布会报错:
发布时提示未找到signtool.exe
原因:
是C盘SDK目录里signtool.exe文件缺失导致的,检查
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin 是不是没有signtool.exe
解决方法
1.去VS目录
D:\Program Files\Microsoft Visual Studio 14.0\Common7\Tools或者
D:\Program Files\Microsoft Visual Studio 14.0\SDK\v3.5\Bin
找signtool.exe来复制到C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin下
再编译就能通过而且正常发布了
2.如果无signtool.exe,则点击下载
http://download.csdn.net/download/tangtiantian520/10034702
关于创建证书:
上述证书只是创建一个测试证书,真正创建一个证书步骤参见:http://blog.csdn.net/itjobtxq/article/details/9986795
证书制作好以后,发布时选择该证书。
用户在安装你的ClickOnce包之前先把证书安装到他的计算中的可信任区域中,然后再去安装你的应用,就不会有安全提示了。以后你发布的应用都用这个证书就行了,不过,注意证书不要过期了,过期了就重新生成一个日期较新的。
数字签名流程原理:http://www.cnblogs.com/itech/archive/2011/07/21/2110924.html
参见:
http://www.cnblogs.com/redmoon/p/3166064.html 为通过ClickOnce部署的应用程序进行数字签名
http://blog.csdn.net/sgear/article/details/6458581 在决定使用ClickOnce发布你的软件前,应该知道的一些事情(一些常见问题解决方法)
ClickOnce 发布WinForm应用程序(签名方式)
最新推荐文章于 2023-10-07 22:54:23 发布