在没有签名证书的情况下在 Windows 8 上部署 VSTO 加载项

Deploying a VSTO add-in on Windows 8 without a signed certificate

我写了一个 Word VSTO 插件,想送给一些同事和朋友。我最初想使用 ClickOnce 进行部署,因为它对我来说很容易设置,也很容易安装。我的加载项部署在 Windows 7 上运行良好,但我在 Windows 8/8.1 上遇到了一些问题。 SmartScreen 筛选器抱怨我的加载项并完全阻止安装。 Here 我发现问题是我没有使用真实证书对加载项进行签名。唯一的解决方案似乎是让用户 "install the test certificate in the Trusted Publishers store" (他们强烈反对)或从权威机构获得证书,这对我来说不是一个选择,因为我只是一个业余开发者并且不想每年为证书支付数百 dollars/euros。

那么,有没有其他方法可以在没有证书的情况下部署加载项?我可以使用另一个不需要证书的安装程序吗?或者 SmartScreen 筛选器是否会始终阻止所有安装未使用 "real" 证书签名的 VSTO 加载项的尝试,无论安装程序如何?

在这方面我真的对微软有点恼火 - 为什么他们让小型和独立开发人员很难将他们的应用程序部署到他们的用户?

非常感谢任何帮助!

sr258

您可以选择 Visual Studio Setup ProjectsWix Based Setup 来部署您的 VSTO 加载项。

我已经分发了Signed as well as Unsigned VSTO based add-ins。我总是喜欢使用常规设置。 unsigned/Test-signed VSTO 加载项我面临的唯一问题是客户办公室的 Trust Center 设置在 Office 应用程序的第一个 运行 限制或警告用户。

出于安全原因,需要证书。您可以调整 PC 上的安全设置(至少关闭智能过滤器)并使用测试证书,而不是从受信任的供应商处购买证书。参见 Granting Trust to Office Solutions

MSDN 中的 Deploying an Office Solution 部分描述了所有 depolying Office 加载项所需的步骤。您也可以考虑改用 MSI 安装程序(InstallShield、WiX 等)。

最好的解决方案是分发一个包含 .vsto 的 zip 文件并告诉用户单击它而不是单击 setup.exe。