如何正确签署 VSTO 应用程序?

How to correctly sign VSTO app?

我有一个与代码签名相关的问题。

我有EV代码签名证书和加密卡。通常当我签署 exe 或 msi 时,我使用 VS 命令提示符和 SignTool,但如果 VSTO SignTool 无法识别文件格式。

我创建了 VSTO Excel 2010 插件(与 Office 2010、2013 和 2016 兼容)并将整个应用打包到 Windows 安装项目 => msi。

我可以使用 SignTool 对 msi 进行签名,因此在安装过程中发布者 Windows 提示 safe/known。但是当我开始 Excel 时,会提示我安装来自未知发布者的插件...

我尝试使用 mage 更新 .vsto 和 .manifest 文件但没有成功 -> mage 无法使用此证书来签署错误,没有别的...

提前感谢您提供有关如何使用带密码的 EV 代码签名对 vsto 进行签名的任何提示。

好的,所以我找到问题了...

部署机器 - Windows 10 build 15063.296(64 位) Visual Studio 2017 EV 代码签名证书

要执行的步骤:

  1. 更新 Visual Studio 至版本 15.5。

  2. 打开解决方案。

  3. 清洁溶液。

  4. 关闭 USB 端口的所有设备...

  5. 打开加密卡USB。

  6. 右键单击项目。

  7. 在签名中检查签署 ClicOnce 清单。

  8. Select 来自商店和 select 您的 EV 证书。

  9. 构建解决方案 - 您应该会收到输入加密卡密码的提示。

在我的案例中,解决方案是使用 Windows 安装项目部署的。 所以:

  1. 构建安装项目 - 您还应该得到输入加密卡密码的提示。

  2. 打开 Developers 命令提示符并使用 SignTool.exe 使用 EV 证书对 .msi 进行签名。

因此,您的安装程序已签名,您是受信任的发布者。当您打开 Office 时,您的加载项也来自受信任的发布者。