Clickonce无痛自动更新是我最喜欢使用VSTO开发并Clickonce部署的特性之一,但这个自动更新,通常会更新整个程序文件,包含所有的引用dll和一些资源文件等。...一般来说,我们更新的都是主程序,那些引用dll和资源文件,除非是发布时的版本的确更新了,才有必要更新到用户的机器上,不然动不动所有文件都一起更新,更新需要下载的文件数量也太大,等待时间也太长,最终反而变得用户体验不够完美...引用的dll文件,这个就比较难搞,经过网友师傅热心指点后,最终也实现了,此篇着重分享的也是引用dll与主程序分离,实现Clickonce自动更新时不重复下载这些未改变的dll文件。...True 强类型为false时示例 强类型为true时,在属性这里将复制本地改为false,发布时就不会复制到程序文件夹 强类型为true时的示例 可以来看最终的release文件夹中的文件 已经分离了大部分引用...,会发现,Excel催化剂每次自动更新,都只更新核心的程序dll,其他文件尽可能地放到手动更新上让用户按需更新,最终实现了ClickOnce的自动更新模式下的升级瘦身工作。
现在假如我们使用vsto开发,使用其中的clickonce的布署方式,又会有怎样的改进呢? ?...用户使用Excel就像使用一个网页浏览器一样,每次打开Excel,都能得到最新的功能,而整个升级过程,完全不需要用户做半点操作,一切都是自动完成,瞬间完成,代码和数据分离,整个更新过程只是代码部分,不需加载和传输用户的数据部分...现VSTO的程序为何能做到不需用户干预,直接就自动更新了呢,如果出现像传统VBA开发那样,更新的代码被篡改了,然后用户不知情下代码已经植入了用户的机器,这样的情况岂不是很可怕。...所以VSTO在做自动更新机制的过程中,有了两道验证保护, 1、验证程序是开发者开发的,用证书的方式来保证,证书是一一对应的,开发者给用户电脑分发证书,用户电脑安装了证书,就证明用户是信任开发者所开发的一切程序...,开发者因为是事先被用户所知的,也需要对自己所开发的程序负责,出现问题是不能抵赖的,因有证书为证,开发者发布的程序里带有一把钥匙,用户手里的证书是另一把钥匙,只有两把钥匙在一起,程序才能被解开使用,两把钥匙是一一对应的
VSTO项目开发完毕完,最终需要分发给用户,需要Excel催化剂用的是Clickonce发布方式,但也面临到部分用户环境要求太高,设置过程太繁锁,而要求有一些简单的安装方式,用打包工具将其打包为一个EXE...观察Advanced Installer的打包向导,也感觉是VSTO的程序只能安装给当前用户使用,界面上是变灰显示的。...选择vsto文件 想在用户安装过程中,同时运行其他程序 这里说的其他程序,并非指的是VSTO运行时、.Net Framework框架这些,而是可以运行其他命令。...使用自定义动作向导设置运行exe 将要运行的exe添加到程序文件夹中 设置好自定义动作的exe信息 打包成32位还是64位程序 因其他程序可能有区分32位和64位的区别,但感觉VSTO项目是不用太理会这些...打包选择的位数发布 结语 在VSTO项目打包过程中,使用Advanced Installer打包遇到的一些小坑小洼,在这里给大家作些简单说明,希望对后来者们可以避开一些坑,将精力聚焦在业务逻辑的实现上,
开发出来的程序,对用户机器要求高,要求.netFramwork4.0或以上的框架和VSTO运行时的环境。前者是win8之后的电脑系统已经自带了,但后者貌似都需要单独安装。 2.5....别小看这个条件,把很多企业级的用户给阻隔掉了,特别是一些生产型企业,它们对新事物接受往往较慢,安于现状的流程,同是节省表面的成本。...开发自定义函数的利器,VSTO开发自定义函数在发布给用户机器使用时麻烦,要对注册表注册,需要管理员权限,但Excel-DNA开发的完全没有这些烦恼,用户双击即可打开使或进行加载项载入,下次打开Excel...用户发布友好,直接一个xll文件发给用户,用户不需安装即可使用,无需管理员权限,无需访问注册表权限,和xlam加载宏的效果一样。 1.10....代码是二进制编译过的,运行速度更快,相对于VBA的解释型语言开发的自定义函数,Excel-DNA开发的自定义函数运行效率更高。 2. 缺点 2.1.
因Excel催化剂用了VSTO的开发技术,并且为了最好的用户体验,用了Clickonce的布署方式(无需人工干预自动更新,让用户使用如浏览器访问网站一般,永远是最新的内容和功能)。...仅以此文简单罗列一下,希望能够给广大用户一些实质性的指引(安装成功过Excel催化剂插件或安装成功过其他的VSTO开发的Excel插件,对另外安装其他类似的VSTO插件将会非常容易,所以很有必要一次艰难...Hosts的IP地址映射和信任证书安装 因自动更新机制要求用户电脑对开发者开发的程序完全信任,认可其不会对电脑产生危害,所以才可以在不用用户干预的情况下自动安装到用户电脑内,所以需要用户机器对开发者程序的下载地址信任...LiWeiJianWeb 运行【导入证书及设置EXCEL信任文件夹.exe】 让Excel对外部网络地址的程序信任,并且导入程序开发者的证书,让Excel信任日后存放在网络上的程序的版本更新,自动把新版本下载到本地使用...自定义函数加载失败处理方法.png 关于Excel催化剂 Excel催化剂先是一微信公众号的名称,后来顺其名称,正式推出了Excel插件,插件将持续性地更新,更新的周期视本人的时间而定争取一周能够上线一个大功能模块
【OFFICE插件管理工具】因用户需求而生,在1230版本再增加了修复VSTO插件安装过程高频出现的type属性错误的功能。...功能说明 OFFICE插件管理工具,由此名字可知,其针对的对象,已经不局限于Excel催化剂单款插件使用,乃是扩充至OFFICE大家族的所有成员,如Excel、Word、PowerPoint、Outlook...二、删除和卸载插件 上述选中某些插件后,可以对插件进行删除操作,一般来说,插件只需关闭即可,不会再影响OFFICE的打开速度和使用过程的速度。...使用【删除选中注册表记录】,程序会将注册表上的记录删除掉,使用【删除选中注册表记录+程序文件】,除了删除注册表记录,还会删除插件安装路径所在文件夹上的插件底层文件,在【控制面板】卸载插件不管用时,可以使用此功能来卸载插件...经过复制后,经反馈是有效的,一般VSTO技术开发的插件,都因为此项的修复得以改善,正常使用。
功能说明 OFFICE插件管理工具,由此名字可知,其针对的对象,已经不局限于Excel催化剂单款插件使用,乃是扩充至OFFICE大家族的所有成员,如Excel、Word、PowerPoint、Outlook...部分新电脑自带的微软OFFICE版本,多数属于ClickToRun模式安装和家庭学生版的OFFICE,是VSTO插件不能用的重灾区,后文也会谈到修复技术。 ? ?...二、删除和卸载插件 上述选中某些插件后,可以对插件进行删除操作,一般来说,插件只需关闭即可,不会再影响OFFICE的打开速度和使用过程的速度。...使用【删除选中注册表记录】,程序会将注册表上的记录删除掉,使用【删除选中注册表记录+程序文件】,除了删除注册表记录,还会删除插件安装路径所在文件夹上的插件底层文件,在【控制面板】卸载插件不管用时,可以使用此功能来卸载插件...经过复制后,经反馈是有效的,一般VSTO技术开发的插件,都因为此项的修复得以改善,正常使用。
也就是说,当框架使用者使用本框架时,得到的是已经通过ClickOnce发布好的文件夹,里面有应用程序的.exe和.dll文件,而他们只能在Library和Module文件夹中添加他们自己编写的业务模型类库...这样,在开始运行后,框架会自动加载指定的dll并运行客户程序的业务逻辑。(上图中的Module文件夹,也是类似功能,当框架使用者想扩展界面功能时,需要在这里放置自己的界面模块。) ...:) 其它问题 由于使用了ClickOnce来实现智能客户端,所以我们在每次发布框架的时候,都会直接对没有任何业务模型类库dll的程序进行发布。...文件中存储了所有发布的文件的清单和它们的的Hash值(本来还会有签名的信息,不过目前在框架中并没有使用。),这样可以防止恶意篡改发布后的程序。 ...当客户程序升级后,框架使用者把升级后的dll覆盖上个版本的dll,然后调用此exe实现更新,即可自动维护application文件清单并升级ClickOnce的版本。
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说WPF ClickOnce应用程序IIS部署发布攻略「建议收藏」,希望能够帮助大家进步!!!...优势也很明显,在客户端运行的是一个WinForm程序,自动下载,可以充分利用客户机的性能,而且是以当前的Windows用户权限运行,避免了权限带来的问题。而我觉得最大的益处还是可以自动更新!...这样就具备了CS程序功能强大速度快的优点,又有BS程序部署升级容易的优点。 本文要讨论的就是,WPF ClickOnce应用程序的发布,IIS设置,客户端使用的一系列过程。...注意:不是WPF浏览器应用程序。 重点是项目属性的设置。 安全性,启用ClickOnce安全设置 编译好,下一步就可以发布了。 选择iis_wpf_host下的WPFApp_01。...点"打开",系统会有一个对话框询问这是一个应用程序,是否打开?当然选是。 立即发布! 这时在物理路径下多了一些东西,这就是发布的内容。
如果说Office XP是我用得比较全的一个版本(除了Outlook没有怎么用,其他组件基本都对照帮助文档摸了一遍,还用FrontPage做出了人生第一个奇丑无比的网站,但其实对那些所谓的开发完全是一知半解...VBA代码的部署一般分为两种,它可以作为Office文档的一部分存在(例如只是某个文件的特定功能的话),也可以单独存在(假定是一个通用的功能,尤其是希望在应用程序启动的时候就自动加载的话)。...前者不消多说,现在一般就是通过带有m后缀的文件名保存即可(例如xlsm, docm等),后者有一个更加专用的格式(例如xlam)和叫法(加载宏)。...最新版本的Visual Studio 2017中,采用了模块化的安装体验,如果选择了Office 开发这个模块,那么就可以在项目模板中看到一大堆VSTO的模板(针对不同的应用程序,还会有不同的模板),如下图所示...必须提出的是,微软对于VBA和VSTO的支持将继续保留,它们有自己的优势,尤其是对于Office 应用程序自有功能的自动化、快速开发、在本地使用的场景。
此乃旧文,题目改一下,有点系统性,JSA助攻第一波:可以通过Application.Run接口,让外部程序或VSTO/ExcelDNA项目可以调用JSA的宏代码。...以下是历史内容: 昨天匆忙间发布了使用外部程序/VSTO插件执行JSA宏的推文,其实还有一些后续的更劲爆的效果,在某些场景上可以有很好的发挥。...『WPS二次开发最新成果』使用外部程序/VSTO插件执行JSA宏 外部程序/VSTO插件执行JSA宏,可以将JSA宏保存到xlsm文件里,但更好的方式是保存到xlam文件里,用户更无感它的存在。...可以在外部程序/VSTO插件里直接使用Application.Addins.Add,将xlam文件加载进来。当然也可以直接修改注册表,让WPS表格每次启动时自动加载。...使用xlam文件,将它变成普通加载项,不会出现一个新的工作薄的打开。使用体验更友好。 接着,如果用户想获得某个JSA宏嵌入到它的当下的工作薄里,这个又该如何处理。
昨天匆忙间发布了使用外部程序/VSTO插件执行JSA宏的推文,其实还有一些后续的更劲爆的效果,在某些场景上可以有很好的发挥。...『WPS二次开发最新成果』使用外部程序/VSTO插件执行JSA宏 外部程序/VSTO插件执行JSA宏,可以将JSA宏保存到xlsm文件里,但更好的方式是保存到xlam文件里,用户更无感它的存在。...可以在外部程序/VSTO插件里直接使用Application.Addins.Add,将xlam文件加载进来。当然也可以直接修改注册表,让WPS表格每次启动时自动加载。...使用xlam文件,将它变成普通加载项,不会出现一个新的工作薄的打开。使用体验更友好。 接着,如果用户想获得某个JSA宏嵌入到它的当下的工作薄里,这个又该如何处理。...有了本篇的进一步探索,也将JSA宏的应用场景,特别是第三方程序去调用、创建等环节,已经完全打通,接下来就是想象力的时间,一些特定场景,用上本篇的黑科技,产出的效果将是非常惊艳。
在用Word写技术文档的时候,免不了要在文档中插入一些源代码。为了使插入进来的源代码更可读,就需要使这些代码的关键字高亮显示。...如何开发Word的外接程序是需要解决的第一个问题,可以参考博客园的一个系列:我的VSTO之路,我就是参考着他这个系列做的这个插件,不过目前这个插件只支持Word 2010。 接下来,怎样实现代码高亮?...但就当我兴高采烈的用Word把这篇文章发布到博客园之后,才发现发布后的上述代码段出现了不同程度的变形,而且是无法接受的变形,如下图: ?...这个问题研究了很久和不知道该如何解决,可能Word在发布博文的时候对格式的改变太大,导致了变形。 那如果想把Word写的文章发布到博客上怎么办呢?...建议在Word里写好的文章后,把内容复制下来,然后在Windows live writer“选择性粘帖”进去,利用windows live writer来发布博客。 源代码下载
VBA的代码 这说明在Excel高级开发群体中,特别是VSTO、COM加载项开发群体中,还是守口如瓶的,仿佛越是高级的开发者,越对自己掌握的“核心”技术保密,希望Excel催化剂这一系列的开源文章对此风气有所好转...(在专业程序员圈子里,人家可以越是大神,越是不断地造轮子造福后来者和初级者,并且任性地开源)。...官方文档说明 此段代码是改造VBA的代码,用Excel对象的方法成功破解,速度还是秒级的,能够想出这种破解代码的人真的够神,或者是作者自己埋的后门了,不然怎么这么多次版本更新都没修复的bug。...,但VSTO仍是十分欠缺,但其实也不完成是欠缺,只要合理使用搜索引擎和官方帮助文档,还是可以找到够用的知识点使用的。...此篇简单地实现广大开发者广为熟知的功能,代码换成了C#的形式,可在VSTO上实现此功能,希望此代码段在愿意学习、查找的人手中能被找到并复用起来。
不知大家体验过微软的邮件服务没?Outlook.com已经完成了PWA版本,可以在浏览器里面像本地应用一样直接打开即用。...-服务器端渲染(SSR) 意味着网站每次都是在服务器上渲染,因此它提供了更快的首次加载,但是在页面之间跳转需要每次都下载所有内容,因而它的加载速度往往会比较慢。...-客户端渲染(CSR) 页面是在客户端(浏览器)渲染的,因而加载速度往往取决于浏览器的性能,访问速度会比较快,但是在开始时需要更多的初始下载(首次访问时网站速度较慢),以保证整个网站其他页面实现客户端渲染所需要的数据...App shell意图尽快加载最小的用户界面,然后缓存它,以便在后续访问时可以离线使用,然后加载应用程序的所有内容。...这样,下次有人从设备访问应用程序时,UI立即从缓存加载,并从服务器请求新内容(如果它已在缓存中不可用)。 一个App shell的代码结构如下: <!
最最突出的是此种VSTO方式开发的插件是Excel文档和实现功能的代码可以分离,对插件维护、升级、错误修复等等一些开发过程中不可避免的问题时,使用VSTO的数据和代码分离技术,数据保存在用户电脑,代码开发者开发好重新发布...两个底层组件分别为: 安装顺序一:.NET Framework 4.0.exe :先安装此组件,用于.net程序使用, Win8及以上系统自带可不必安装。...以上两组件微软官网下载的,放心安装。安装过程中可能需要重启和需要管理员权限才能安装,若没有管理员权限请咨询IT 部门协助安装。 插件安装 解压插件程序的文件夹到电脑某一位置 ?...点击完安装后,将加载代码,出现相应的功能,如未出现以下功能界面,可能系统的底层运行环境未安装好引起,可重新回到开头部分所说的,安装完两个底层环境,最好重启一下再运行插件。 ?...下载链接 百度云:http://pan.baidu.com/s/1i53PUXf 因底层组件较大,可根据自身电脑环境情况考虑是否下载插件底层组件(先下载检测windows环境安装与否.exe小程序作初步检测
因此,它不能用于通过 VSTO 插件或 Excel-DNA 将 Chromium 嵌入到 Office 应用程序中。...Office VSTO 将加载项加载到单独的 AppDomain 中[6]以进行隔离。 DotNetBrowser 在非默认 AppDomain 中运行。...事实上,可以在不同的 AppDomain 中创建多个 Chromium 引擎并同时使用它们。因此,DotNetBrowser 可用于创建 VSTO 加载项。...如果您发现错误或缺少功能,我们将应用修复程序,实施所需功能,并根据任务的复杂性在几天或几周内为您提供新版本的库。 几乎每个月都会发布一个新版本的 DotNetBrowser。...我们会在 Chromium 正式发布后的 3-4 周内将 Chromium 升级到最新的稳定版本(带有最新的安全补丁和修复的漏洞)。 概括 因为开源和免费,CefSharp 被广泛使用。
先说一下ClickOnce的使用方法: 先给一个要发布的工程设置安全和签名。然后发布到iis中。当用户访问该iis目录下的.application文件时,就会自动安装整个应用程序。...再说一下我们目前的应用程序。相对还是比较复杂的,分为框架部分和特定应用程序部分。其中的框架部分,以后会作为开源框架发布。由于是AutoUI,框架部分就包含了生成最后客户端运行的exe的工程。...而特定的应用程序只需要实现自己的类库和模块(Module)。...最后发布的时候,需要把生成好的类库和Module放到exe文件所在目录的子目录Library和Module当中,框架会自动寻找这两个目录中的文件,进行加载。 这时候,我们的发布就比较麻烦了。...这时候,如果其它使用这个框架的团队进行发布时,必须要把他们自己的类库和Module放入到已经打包好的程序当中。
领取专属 10元无门槛券
手把手带您无忧上云