将ClickOnce部署的VSTO迁移至新服务器的无操作更新方案咨询
VSTO ClickOnce 迁移至新服务器的自动更新方案
关于更新检查替代位置的功能
Visual Studio针对VSTO项目的可视化发布界面中,确实没有直接设置ClickOnce更新检查替代位置的选项——这是VSTO与普通ClickOnce项目的配置绑定差异导致的。
可行解决方案
1. 手动修改发布清单实现过渡
这是最贴近你之前非VSTO项目思路的方案:
- 在ServerA正常发布一个新版本,找到生成的
.vsto文件(本质是XML格式的应用清单) - 编辑该文件,找到
<deploymentProvider>节点,将其codebase属性值修改为ServerB的发布路径(例如\\ServerB\MyTool\install\YourTool.vsto) - 将修改后的文件重新部署到ServerA的原发布目录,用户下次启动VSTO插件时,会自动识别新的更新源,后续更新将从ServerB获取
- 过渡完成后,直接在Visual Studio中将发布目标改为ServerB,正常发布后续版本即可
2. 批量修改客户端配置(适用于大量客户端)
如果客户端数量较多,可以通过脚本或组策略批量更新本地缓存的配置:
- 客户端的ClickOnce配置缓存位于
%USERPROFILE%\AppData\Local\Apps\2.0目录下,找到对应VSTO应用的缓存清单文件 - 编写PowerShell脚本,批量替换清单中的更新源地址,通过组策略或远程执行工具推送给所有客户端
3. 服务器端重定向
无需修改客户端或发布文件,直接在ServerA做重定向:
- 若使用文件共享发布,可创建NTFS junction点,将
\\ServerA\MyTool\install链接到\\ServerB\MyTool\install - 若使用Web发布,在ServerA的Web服务器(如IIS)上配置URL重定向,将原更新地址指向ServerB的对应地址
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

