简体   繁体   English

单击一次或 MSI 安装

[英]Click-Once or MSI Install

I have an Excel add-in that was working fine.我有一个工作正常的 Excel 加载项。 Now my company made changes to the Trust Center and what they will allow.现在,我的公司对信任中心及其允许的内容进行了更改。 They gave me the following options:他们给了我以下选项:

I can self-sign a certificate or install the add-in in a specific directory that is trusted.我可以自行签署证书或将加载项安装在受信任的特定目录中。 Given these options, here are my questions:鉴于这些选项,这是我的问题:

  1. If I use a self-signed certificate don't I need to manually install it on each user's machine?如果我使用自签名证书,我不需要在每个用户的机器上手动安装它吗?
  2. If I use an MSI Install package, I can then designate which directory the add-in is installed, but then don't I lose the ability for automatic updates to the add-in?如果我使用 MSI Install package,我可以指定加载项的安装目录,但我不会失去自动更新加载项的能力吗?

What do you think are my best options and/or are there any other options?您认为我最好的选择是什么和/或还有其他选择吗?

Thank you.谢谢你。

If I use a self-signed certificate don't I need to manually install it on each user's machine? 如果我使用自签名证书,是否不需要在每个用户的计算机上手动安装它?

Yes. 是。 Anything signed by that certificate will not have a valid signature unless the certificate is in the trust store. 除非证书位于信任存储中,否则该证书签名的任何内容都不会具有有效的签名。 If you have some kind of PKI infrastructure at your company, like ADCS, you can probably get a code signing certificate from them (assuming that the place you want to use the VSTO add on trusts the authority's root). 如果您的公司拥有某种PKI基础结构(例如ADCS),则可能会从它们那里获得代码签名证书(假设您要使用VSTO附加的位置信任机构的根)。

If I use an MSI Install package, I can then designate which directory the add-in is installed, but then don't I lose the ability for automatic updates to the add-in? 如果我使用MSI Install软件包,则可以指定该外接程序的安装目录,但是我不会失去对该外接程序自动更新的功能吗?

ClickOnce has an auto-updating functionality, but I've never used it with VSTO, so that might work. ClickOnce具有自动更新功能,但我从未将它与VSTO一起使用,因此可能可行。 An MSI by itself is not going to automatically update your installation, but there are plenty of frameworks to make that easier, like Squirrel . MSI本身不会自动更新您的安装,但是有很多框架可以使安装变得更容易,例如Squirrel

With regards to a self-signed cert, yes you'll have to install it on everyone's system. 关于自签名证书,是的,您必须将其安装在每个人的系统上。
You can use a Group Policy in Active Directory to push out your cert. 您可以在Active Directory中使用组策略来推出您的证书。 See link below from Microsoft: http://technet.microsoft.com/en-us/library/cc782744(v=ws.10).aspx 请参阅下面的Microsoft链接: http : //technet.microsoft.com/zh-cn/library/cc782744(v=ws.10).aspx

As for the automatic updates with an MSI package it is definitely possible, it won't be the same as how ClickOnce publishes it and bundles it from within VS. 至于使用MSI软件包进行自动更新,这绝对有可能,这与ClickOnce在VS中发布并捆绑它的方式不同。

As an alternative to ClickOnce, you can use DDayUpdate and then package it using InnoSetup. 作为ClickOnce的替代方法,您可以使用DDayUpdate,然后使用InnoSetup对其进行打包。

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

  1. Yes, when using the click-once setup you will need to install it separately for each user (on the same machine/ separate machines)是的,当使用点击一次设置时,您需要为每个用户单独安装它(在同一台机器/不同的机器上)
  2. using the msi the users will have to uninstall and reinstall the add-in everytime there is an update.使用 msi 时,用户必须在每次有更新时卸载并重新安装插件。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM