单击一次或MSI安装

本文关键字:MSI 安装 一次 单击 | 更新日期: 2023-09-27 18:29:23

我有一个运行良好的Excel加载项。现在,我的公司对信托中心进行了更改,以及他们将允许的内容。他们给了我以下选择:

我可以对证书进行自签名,也可以将外接程序安装在受信任的特定目录中。考虑到这些选项,以下是我的问题:

  1. 如果我使用自签名证书,我不需要在每个用户的机器上手动安装它吗
  2. 如果我使用MSI安装包,我可以指定安装外接程序的目录,但我不会失去对外接程序自动更新的能力吗

你认为我最好的选择是什么?还有其他选择吗?

谢谢。

单击一次或MSI安装

如果我使用自签名证书,我不需要在每个用户的机器上手动安装它吗?

是的。除非该证书在信任存储中,否则由该证书签名的任何内容都将没有有效签名。如果你的公司有某种PKI基础设施,比如ADCS,你可能会从他们那里获得代码签名证书(假设你想使用VSTO加载项的地方信任权威机构的根)。

如果我使用MSI安装包,我可以指定安装外接程序的目录,但我不会失去对外接程序自动更新的能力吗?

ClickOnce有一个自动更新功能,但我从未将其与VSTO一起使用过,所以这可能会起作用。MSI本身不会自动更新你的安装,但有很多框架可以让它更容易,比如Squirrel。

对于自签名证书,是的,您必须在每个人的系统上安装它
您可以使用Active Directory中的组策略来推出您的证书。请参阅下面来自Microsoft的链接:http://technet.microsoft.com/en-us/library/cc782744(v=ws.10).aspx

至于MSI包的自动更新,这肯定是可能的,它不会像ClickOnce发布它并从VS中捆绑它一样。

作为ClickOnce的替代方案,您可以使用DDayUpdate,然后使用InnoSetup对其进行打包。

DDayUpdate:http://www.ddaysoftware.com/Pages/Projects/DDay.Update/
InnoSetup:http://www.jrsoftware.org/isinfo.php

  1. 是的,当使用点击一次设置时,您需要为每个用户单独安装它(在同一台机器/不同的机器上)
  2. 使用msi,每次有更新时,用户都必须卸载并重新安装外接程序