1

我想为我创建的单词更新一个 VSTO 插件,而不让 VSTO 自动更新启动。事实上,我的最终用户没有足够的安装权限。

我只想更新它,而不是安装,因为第一次安装将通过具有管理员权限的 VS 发布文件夹中的 vsto 安装来完成。

要更新,我复制

MyWordAddIn.dll  
MyWordAddin.dll.manifest

从发布文件夹到安装了我的插件的 appData 文件夹。

当我启动与我的 VSTO 文件链接的 word 文档时。我有一个错误

在此处输入图像描述

对不起法语,它说已经安装了另一个版本。

但是当我第二次,第三次启动它时,我没有错误。

4

3 回答 3

3

您似乎没有禁用 ClickOnce 在应用程序启动时自动安装更新。这可以解释为什么您的应用程序检测到发布文件夹中有新版本并尝试安装更新。然后,发生错误是因为您已经手动更新了 appData 文件夹中的 DLL,所以当它看到发布文件夹包含具有相同版本号的 DLL 时,它会给出错误说明它已经安装。

您可以通过进入 VS 中启动项目的设置,单击发布选项卡,然后按更新按钮并将其设置为从不检查更新来禁用自动更新。

于 2012-07-03T19:50:49.660 回答
2

仅供参考,ClickOnce 安装本身不需要管理权限。先决条件可能,但实际 ClickOnce 应用程序的安装没有。这就是它安装在用户配置文件下的原因。因此,一旦用户安装了先决条件,您就可以使用自动更新,除非在您的情况下,用户甚至无法写入自己的配置文件文件夹。

于 2012-07-04T23:45:15.297 回答
0

您也可以从命令提示符处运行以下命令:

rundll32 dfshim CleanOnlineAppCache

您无需更改任何更新设置。在指定的更新间隔内找到任何较新的版本时,都会从指定的位置进行更新。

于 2012-08-21T13:19:43.853 回答