如何为我的 Excel 加载项安装程序创建信任提示

How to create a Trust Prompt for my Exel Add-In installer

我创建了一个 VSTO Excel 加载项功能区。我发布到 setup.exe。但是当最终用户尝试安装它时,安装失败并出现以下错误:

Customized functionality in this application will not work because the certificate used to sign the deployment manifests for [Add-In] or its location is not trusted. Contact your administrator for further assistance.

我可以通过执行以下操作来安装插件。

  1. 解压缩并右键单击“setup.exe”和 select 属性
  2. 单击“数字签名”选项卡
  3. Select [issuer] 从签名列表中单击详细信息按钮
  4. 出现“数字签名详细信息”对话框时,单击“查看证书”
  5. 出现“证书”对话框时,单击“安装证书”
  6. 应该会出现证书导入向导 window。选择以下内容: 一种。存储位置:当前用户,单击下一步按钮。 b.证书存储:将所有证书放在以下存储中,单击浏览,select 受信任的根证书颁发机构,单击下一步按钮。 C。单击完成按钮。 d.应该会出现一个安全警告,询问“……你想安装这个证书吗?”单击是。 e.单击确定。关于“导入成功”。对话。
  7. 单击确定退出证书对话框
  8. 单击“确定”退出“数字签名详细信息”对话框。
  9. 单击确定退出设置属性对话框。

然后我 运行 设置和所有工作。问题是我们必须将此安装文件发送给许多用户。没有人愿意这样做。我一直在弄乱解决方案属性 -> 签名 -> 签署 ClickOnce 清单,但我似乎无法在我更改的任何内容上显示信任提示。我没有付费证书,我只需要出现提示让用户选择信任它。我还没有在网上找到关于如何让这个提示出现的答案。非常感谢任何帮助。

您可以将 VSTO 部署到 Program Files 目录。您的加载项将被视为安全的,因为在此目录中安装需要管理员权限。我相信这是最简单的方法。

Granting Trust when using Windows Installer You can use Windows Installer to create an MSI file to install Office solutions into the Program Files directory, which requires administrator rights. For Office solutions in the Program Files directory, the Visual Studio 2010 Tools for Office Runtime considers these Office solutions to be trusted and does not show the ClickOnce trust prompt. source msdn

如果您再考虑一下,此功能(证书签名)旨在专门禁用您的方案。也就是说,它是为了防止用户安装从 Internet 下载的未签名的加载项而构建的。

我认为,如果您有这么多用户不在您的组织中(因此 "correct" 证书无法集中安装),唯一合理的解决方法是从某个权威机构购买证书(通过组织或身份验证)。它并不昂贵,并且可以确保您的用户他们正在安装的东西真的来自您。