在使用TFS在线服务构建时,有没有办法签署Clickonce应用程序?

时间:2013-12-15 00:59:21

标签: tfs azure-devops

我已启用一次点击申请。

但构建服务器(TFS在线服务)没有证书。有没有什么办法可以将证书包含在存储库中并让构建服务器对其进行签名,还是必须禁用签名并在之后手动执行?

我没有从商店挑选证书,而是检查了文件并从文件中挑选。

构建服务器然后给我:

C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Microsoft.Common.targets(2482):无法导入以下密钥文件:。密钥文件可能受密码保护。要更正此问题,请尝试再次导入证书或手动将证书导入当前用户的个人证书存储区。

(是否打算在没有密码的情况下检查一个,并且是其他人做的?在没有密码的情况下使用私钥是没有危险的。)

2 个答案:

答案 0 :(得分:2)

我在存储库中创建了以下powershell脚本:

 [CmdletBinding()]
 param(
     [Parameter(Mandatory=$True)]
     [string]$signCertPassword
    )

$SecurePassword = $signCertPassword | ConvertTo-SecureString -AsPlainText -Force
Write-Output "Importing pfx"

Import-PfxCertificate -FilePath "YourPfxFile.pfx" -Password $SecurePassword Cert:\CurrentUser\My

并将密码作为变量传递(已锁定)

答案 1 :(得分:-1)

我使用Mage.exe和Signtool.exe创建了CodeActivites,并将签名构建到我的构建模板中。

从/ t:发布所有文件都有.deploy扩展名,我必须创建一个更新清单xml的XML任务来支持这个。