rfr*_*tag 13 vsto add-in oneclick
我有一个OneClick部署的VSTO Addin,我已使用最新的Verisign代码签名证书(PFX)签名.我已经确认我正在通过电话正确签署Verisign支持 - 他们同意.我正在使用VS2010构建.尽管如此,当我尝试安装时,Addin会显示"未知发布者".
为什么?
如何在PFX证书上将"Unknown Publisher"替换为发布者的名称?
这就是我迄今为止尝试解决问题所做的工作:
在Addins上找到关于"Unknown Publisher"问题的这个问题.该问题的已接受答案讨论了使用mage.exe签署部署和应用程序清单的问题.
我mage.exe以前将PFX签名应用于应用程序和部署清单都无济于事; 我安装Addin时仍会显示"Unknown Publisher".只有在那时我才看到MS程序经理在最后一个链接的页面上发表了评论,VSTO Addin在2008或更早版本中构建的不会读取应用程序或部署清单.
然后我在底部链接到此页面时看到了相同的MS程序管理员的注释,并断言从VS2010开始,链接页面中指定的VSTO Addin与发布者指定的现在将在Addin安装时显示其清单并显示正确的Publisher名称.
我已经完成了所有这些,我正确的代码签名的OneClick部署上的发布者仍然显示"未知的发布者" - 为什么?
在本地计算机上安装证书.在Windows资源管理器中,右键单击证书文件,选择" 安装PFX",然后按照说明进行操作.
确保已签署VSTO项目清单和程序集.在签名选项卡上的VSTO项目属性中,应选中"签署ClickOnce清单"(如果没有,请选择您的PFX文件).还应检查"签署程序集"并使用相同的PFX文件.
发布VSTO后,您需要从命令行对清单和已发布的.vsto文件进行签名.在运行mage.exe之前,您还需要将.dll从bin复制到已发布的文件夹(以避免"找不到文件"错误).请遵循以下语法,我强烈建议您出于安全考虑同时签署.vsto.
.
set AppPublishPath=bin\Release\app.publish
set AppPublishVersionPath=bin\Release\app.publish\Application Files\MyProjectName_1_0_0_0
set CertificatePath=C:\SignedCertificate.pfx
set CertificatePassword=password
copy bin\*.dll "%AppPublishVersionPath%"
mage -update "%AppPublishVersionPath%\MyProjectName.dll.manifest"  -certfile "%CertificatePath%"  -Password %CertificatePassword%
mage -update "%AppPublishVersionPath%\MyProjectName.vsto"  -appmanifest "%AppPublishVersionPath%\MyProjectName.dll.manifest" -certfile "%CertificatePath%"  -Password %CertificatePassword%
mage -update "%AppPublishPath%\MyProjectName.vsto"  -appmanifest "%AppPublishVersionPath%\MyProjectName.dll.manifest"  -certfile "%CertificatePath%"  -Password %CertificatePassword%
(对不起,如果语法没有点.我从我自己的代码库复制它并为简单起见修改它.)