ClickOnce部署(5)
时间:2019-05-13 01:59 来源:互联网 作者:Kim 点击:次
解释一下,-r参数表示自签名,说白了就是自己给自书颁发证书,一定要加上-r,-n是证书的名字,通常用你的大名或者你公司的名字,以CN开头,格式为CN=<your name>,比如我叫老周(本来收小周,就因为叫小周的人太多,所以我叫老周),就用CN=老周。 -b是证书有效期的开始日期,格式mm/dd/yyyy,注意,别写错,哪怕你是1月份也不要写成1,应该写成01;-e是证书有效期的过期日期,格式和前面一样。 -sv是创建密钥文件,文件名为*.pvk,-sv要加上,后面你会发现,有用的。 最后就是证书文件的名字,文件名为*.cer。 c、证书是生成了,但你会看到VS要的.pfx文件,不是.cer文件,所以我们必须转换,但是没有工具可以一部到位,所以,我们依次用两个工具来转换。 先是用cert2spc,把.cer文件转换为.spc文件,不要问为什么,到了后面一步你就知道为什么要转为.spc文件了。继续在命令行中输入: Cert2spc my.cer my.spc 完成后我们看到又多了一个文件:
我们离真相越来越近了,还剩最后一个,我们的.pfx证书就要完工了。最后一步就是把.pvk文件转为.pfx文件。所以用pvk2pfx,继续在命令行中输入以下命令: pvk2pfx -pvk my.pvk -spc my.spc -pfx my.pfx -pi 123456789 –po 123456789 –f
这个工具比较复杂,-pvk指定刚才生成的.pvk文件;-spc就是刚才生成的.spc文件;-pfx是要生成的.pfx文件的名字,-pi是.pvk文件的密码,即我们前面创建的123456789,-po是生成的.pfx文件的密码,你可以重新设,我这里还是用123456789。 pfx弄好了,现在我们把它放进VS中。VS解决方案中,可以把<项目名>_TemporaryKey.pfx删了,那个是VS生成的临时证书,现在我们有自己的证书了,临时证书就没用了,我们可以送它去见列宁了。 打开项目属性窗口,切换到"签名"选项卡,点击"从文件选取"按钮,导入刚才生成的.pfx证书。
然后输入密码,密码就是上面执行pvk2pfx命令时-po参数指定的密码,我仍使用了123456789。
OK,证书就替换了。
你只要把刚才的.cer文件(即证书)发给客户,客户在安装你的ClickOnce包之前先把证书安装到他的计算中的可信任区域中,然后再去安装你的应用,就不会有安全提示了。以后你发布的应用都用这个证书就行了,不过,注意证书不要过期了,过期了就重新生成一个日期较新的。 在客户的机子上,打开控制面板,搜索"证书",然后打开基于计算机的证书管理器,注意不是基于当前用户。
打开证书管理,在"受信任的根证书颁发机构"节上右击,从菜中选择导入。
在"受信任的发布者"节上的也用同样的方法导入一次。随后我们再发布一次ClickOnce部署包,现在就真正ClickOnce了,一点击就全自动安装了,没有安全提示了。
(4):下载多个安装包 有时候,我们可能会一次性发布多个安装包,当然在网页上多加几个链接让用户逐个安装也是可取的。不过,也可以弄得更方便些,即用户先安装一个,作为一个"引导程序",然后通过这个程序去下载安装其他应用程序。 我们还是说说真实的例子,这样好理解一点。假设我开发了两个应用程序,一个叫App1,另一个叫App2。我把这两个应用程序同时发布。 我们可以在IIS服务器的根目录下新建两子目录,我们分别把这两个应有程序发布到这两个文件夹下,如下面两张截图所示。
第一个应用
第二个应用 最后,重点是如何做这个"引导"安装包,即我们通过这个应用程序来下载前面两个应用来安装。 别急,在开工之前,我想让大家背书,不多,小学生也能背下来的,总共就两句话: 第一句:凡是和ClickOnce部署有关的类都位于System.Deployment.Application命名空间下。 第二句:开菜单——做菜——试菜——开饭。 (责任编辑:admin) |









