首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Windows 7下的ClickOnce/Excel

Windows 7下的ClickOnce/Excel
EN

Stack Overflow用户
提问于 2013-03-24 16:39:23
回答 3查看 2.4K关注 0票数 2

我们已经开发了一个.Net 4.0VSTO Excel AddIn在VS2010中,我们正在通过ClickOnce进行部署。我们的部署在Windows上似乎很好,但在Windows7上安装时却是非常麻烦的。所有问题似乎都与需要通过Excel删除AddIn (即它被Excel软删除)有关。由于失败,等等,然后它将被‘删除’由用户通过AddIns的\、\

上述情况导致了一种情况,即在发生上述情况后重新安装一个AddIn,它不会在Excel中公开,即Excel选项卡(如果安装了一个或多个AddIns通常会出现)将永远消失。当我们正在开发/调试时,这就成了一个更大的问题,因为我们正在动态地重命名/删除AddIn实例,以至于在Windows 7上开发VSTO不再可行。

注意,AddIn不在硬删除(禁用)列表中-它已被删除。我尝试过安装/重新安装/卸载、重新启动、删除注册表项(清理缓存/卸载后)、从C:\Documents和Settings\Local \Apps\2.0中删除文件系统文件、清除缓存(根据清除.NET下载的不带Mage的应用程序缓存?通过mage和/或清除.NET下载的不带Mage的应用程序缓存?)。XP和Windows 7的行为似乎有明显的区别。

有没有人遇到过类似的问题?

我所能看到的唯一的选择是一个部署项目,它有一个完全成熟的MSI,但是这里并不像这里那么整洁,需要本地管理访问,等等。

非常感谢

特拉维斯

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-21 22:51:59

我们发现让ClickOnce在Windows 7上为VSTO工作的方法是在Excel中这样做。

  • 添加/删除程序:卸载
  • Excel / Options / AddIns / COM / Go
  • 添加并浏览到ClickOnce,setup.exe,setup.exe,确认,OK,,等等
  • 关闭Excel
  • 进入Excel
  • AddIn出现

我确信您可以使用添加/删除程序卸载(版本控制),这样用户就不必手动卸载

ClickOnce是gr8,当它工作-它的旅程到那里,所以,需要加强大风格

票数 0
EN

Stack Overflow用户

发布于 2013-03-24 17:03:29

根据我的经验,在我的一个生产项目中,我们也使用了MSI。并避免了点击一次的问题。所以我的回答是-是的,你需要有MSI项目或MSI安装。对于MSI安装,您可以使用默认的MSI项目,也可以使用外部的,例如Wix或Wise安装程序等。第二种使用自定义安装程序的方法要困难得多。

对于删除的情况,我使用了mage和手动删除缓存和注册表中的外接程序。很有帮助,但看起来像黑客。

此外,每次处理VSTO ClickOnce不清楚时,我都会考虑使用一些外部库。不幸的是,由于对项目的需求,我没有这样的机会使用第三方来使我的工作更容易。但你可以检查并尝试。可能是外接快递库会帮助您,特别是当它们有良好的技术支持时。

票数 1
EN

Stack Overflow用户

发布于 2013-03-25 06:50:36

不确定是否读过有关使用Clickonce发布Office解决方案的教程。如果你没有,你可以通过下面的链接找到他们。值得一读。

http://msdn.microsoft.com/en-us/library/vstudio/bb772100(v=vs.100).aspx

http://msdn.microsoft.com/en-us/library/vstudio/bb608591(v=vs.100).aspx

关于使用windows安装程序,这并不难,特别是在Visual 2010安装项目中。这里有一个非常详细的教程,可以指导您完成所有这些。当我尝试部署Excel外接程序时,它帮了我很大的忙,我希望它也能在某种程度上帮助你。

http://msdn.microsoft.com/en-us/library/ff937654.aspx

此外,您可能需要问自己这些问题,以确定是否使用Clickonce/Windows安装程序是正确的选择。

当涉及到您在部署技术方面的选择时,您不需要仅局限于一个选项。关键是为正确的工作选择合适的工具。虽然没有单一的规则或简单的答案,但您可以使用一些通用的准则来帮助您根据特定的需要做出最佳的决定。

  • 应用程序是否安装任何COM组件?
  • 应用程序是否需要注册COM-Interop的任何组件?
  • 应用程序是否安装任何服务?应用程序是否必须安装到特定位置或全局程序集缓存(GAC)?
  • 应用程序是否有根据操作系统或运行时环境有条件安装的组件?
  • 应用程序在安装时需要用户输入吗?
  • 应用程序是否需要配置系统级服务,如Active或COM+?
  • 安装应用程序后,它是创建文件、写入注册表,还是以某种方式影响系统,以便在删除应用程序时留下资源?

如果您回答了这些问题中的任何一个,那么是满足您需求的最佳选择。但是,如果您不需要处理上面列表中描述的场景,那么ClickOnce是您的部署解决方案的最佳选择。如果您想利用ClickOnce提供的独特优势,那么了解ClickOnce在应用程序设计过程中的早期功能是至关重要的。使用ClickOnce部署早期版本的应用程序,但后来意识到需要迁移到Windows,将创建一个困难的升级路径,可以通过仔细的前期规划来避免。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15601092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档