如何使用mage.exe来重新签名VSTO的清单?

时间:2016-05-10 14:20:29

标签: c# clickonce mage

我们有一个Excel插件作为Visual Studio解决方案的一部分。该插件只构建一次,然后部署到不同的环境(dev,uat,prod),作为CI / CD过程的一部分。

在部署期间,我们应用app config转换来使用正确的环境配置更新Excel插件配置。

因此,清单和VSTO需要辞职。我已浏览过多个SO帖子(Use mage.exe to create a ClickOnce deployment manifest for *.deploy filesResign manifest of click-once application change from 4.0 to 4.5Resign Clickonce manifest using mage.exe等)和MSDN帖子,无法找到正确的方法来为此调用mage.exe工作。

我尝试mage.exe -update ...mage.exe -sign ...以及其他一些组合,当我尝试启动VSTO时,这些组合都会导致代理或无效清单。

C:\Tools\mage.exe -update "$CodeBasePath\MyCompany.vsto" -certFile "$CertFile" -password "$CertPassword" -appManifest "$AppManifestPath"

在重新签署VSTO时,是否有任何事情知道正确的签名顺序和用于mage.exe的标记?

1 个答案:

答案 0 :(得分:3)

在更新VSTO文件之前,您需要先更新应用程序清单。

mage -update yourFile.dll.manifest -CertFile certificate.pfx -Password password

然后,您需要使用已更新的应用程序清单更新VSTO。

mage -update yourFile.vsto -appmanifest yourFile.dll.manifest -CertFile certificate.pfx -Password password