copy the latest version of CAPICOM.dll into the directory that contains
SignTool.exe. If CAPICOM.dll exists, you may not have proper
permissions to install CAPICOM.
'.
clickonce 发布时出现的问题,出现这个问题是应为机器上的CAPICOM.dll的版本太低,去微软中国的网站上下载capicom_dc_sdk.msi,安装后在C:\Program Files\Microsoft CAPICOM 2.1.0.2 SDK\Lib\X86下可以找到CAPICOM.dll这个文件,使用regsvr32.exe注册后,再分别拷贝到C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin;C:\WINDOWS\system32目录下,发布一般就没问题了
使用vs2005默认测试证书,证书有效期时间太短的问题
默认证书的有效期只有一年,如要延长时间,网上已有解决办法
摘录自http://www.cnblogs.com/cncxz/archive/2007/03/15/675937.html
使用vs2005自动创建的.pfx数字证书默认有效期只有一年,并且“颁发者”、“颁发给”均为当前机器名和当前登陆用户名的组合,其实我们完全可以创建更友好的.pfx数字证书。
打开Microsoft .NET Framework 的SDK命令提示,按以下步骤操作:
1、创建一个自我签署的X.509证书(.cer)和一个.pvk私钥文件,用到makecert工具,命令如下:
makecert -r -n "CN= cncxz " -b 01/01/2005 -e 01/01/2018 -sv myselfName.pvk myselfName.cer
按提示设置私钥密码(也可以不使用密码)即可在当前目录生成相关文件
2、利用X.509证书(.cer)创建发行者证书 (.spc),用到cert2spc工具,命令如下:
cert2spc myselfName.cer myselfName.spc
3、从.pvk和.spc格式转换成.pfx格式,用到pvkimprt工具,命令如下:
pvkimprt -pfx myselfName.spc myselfName.pvk
按提示操作可导出.pfx证书,若第1步设置了私钥密码,此处需要输入验证
4、在vs项目的ClickOnce清单签名的证书设置处点击“从文件选择”浏览定位到第3步导出的.pfx证书,此处需要验证第3步中设置的证书私钥密码。
=================================================
makecert工具和cert2spc工具.NET Framework自带,pvkimprt工具下载地址如下
http://download.microsoft.com/download/vba50/Utility/1.0/NT5/EN-US/pvkimprt.exe
只是导出时要选择导出密钥,这样导出为pfx文件的选项才能够选择