locked
FAQs: 为什么,一旦VSTO v3外接程序或者文档被安装后,就不能改变安装位置? RRS feed

  • 问题

  • 为了帮助大家更好地学习 VSTO 技术,微软论坛技术支持团队编辑了一些列的 "VSTO 常见问题及解答" 精华帖。

    本帖的主题是:为什么,一旦VSTO v3外接程序或者文档被安装后,就不能改变安装位置?

    如果您觉得这个帖子对您的学习、工作有所帮助,请再把这个帖子分享给你的同学、同事和朋友。

    如果您想阅读更多的 "VSTO 常见问题及解答",请打开索引页面:
    http://social.msdn.microsoft.com/Forums/zh-CN/vstudiozhchs/thread/ed10f3de-40bb-4f16-81f9-25ace1f152ba

     


    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    MSDN 论坛好帮手 立刻免费下载  MSDN 论坛好帮手
    2011年2月28日 9:55

答案

  • 部署清单的路径被用作外接程序标识的一部分。在外接程序或文档安装过程中,通过VSTO Runtime为客户端设置和保存完整路径。一旦外接程序已被安装,在注册表中修改路径将导致外接程序抛出错误。一旦自定义的文档被安装,后台代码将只检查原来的地址,保存在文档中被修改的路径将被忽视(允许从远程位置复制自定义文档的本地版本)。为了修改外接程序或者文档检查更新的地址,你必须从已安装的客户端卸载掉旧版本,再 从新位置安装新的版本。

    当存储解决方案到ClickOnce缓存,ClickOnce使用解决方案路径作为标识的一部分。在Windows 应用程序的部署中,也有类似的行为,除非你使用部署提供程序URL (DPURL) 。设置DPURL可以允许WinForms应用程序修改输出更新的地址,以便于服务器A(最初安装解决方案的地址)能够被关闭,能够从服务器B获取更新。VSTO不支持DPURL。当时在Visual Studio 2008的开发中考虑过它,所需要的开发时间超过我们所剩的时间 (比如,DPURL蕴含数据从旧到新的解决方案的迁移) 。经过讨论,我们决定让ClickOnce团队 VSTO解决方案抛出DPURL异常。在Visual Studio 2010开发开始阶段,我们再次考虑到这个特性,但仍没有被添加到最高优先权部署特性列表中。我们正在为Visual Studio 2010实现许多新的部署特性。

    更多的有关VSTOFAQ,请看:

    http://social.msdn.microsoft.com/Forums/zh-CN/vstudiozhchs/thread/ed10f3de-40bb-4f16-81f9-25ace1f152ba


    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    MSDN 论坛好帮手 立刻免费下载  MSDN 论坛好帮手
    2011年2月28日 9:55