0


我想使用 Microsoft 的 Click-Once 技术部署一个 Visual Studio 2012 项目。对于开发,我使用 Windows 7 机器并以普通用户(而不是 root)身份运行 Visual Studio。对于部署,我也使用 Visual Studio 2012。

我的问题是当用户执行 Click Once Deployment File 时,PC 上的安全软件会将我的软件标记为未知,并要求用户停止执行。为了避免这种情况,我订购了一个 Trustcenter 证书并将其用于签署 Click Once 部署文件,效果很好。直到在安装过程中下载程序集。Visual Studio 也有一个用于签署程序集的选项,但起初它给出了一个导入错误。在我修复它在编译过程中给我一个错误之后,它无法签署程序集。因此我使用了构建后选项。在那里我插入了一个 signtool 命令,效果很好。但是在部署时,签名丢失了。

我已经给 Trustcenter Support 打了 3 次电话,他们在对证书进行分析后对我说,这看起来相当不错。但是,当我想将它导入 Visual Studio 时,由于程序集签名选项,Visual Studio 会发出警报,即无法找到证书。

有谁知道,如何部署带有签名程序集的 Click Once 应用程序?(Visual Studio 2012 的最佳案例)

最好的问候,
Clemens

4

1 回答 1

0

好吧,经过几个小时的尝试错误方法,我解决了这个问题。基本上不应设置“导出路径中的所有证书”选项(就像 Trustcenter 支持告诉我的那样)。如果没有这个选项,我会收到来自 Visual Studio 的错误,这可以通过一些 OpenSSL 命令解决:
openssl pkcs12 -in cert.pfx -out backup.key
openssl pkcs12 -export -out out.pfx -keysig -in backup.key
out.pfx 可以毫无问题地使用。

于 2013-02-18T10:21:37.590 回答