VSTO addin刚接触,对于此类部署没有做过,好在找到一篇很全面的文章。 http://www.cnblogs.com/brooks-dotnet/archive/2011/11/04/2236609.html VSTO addin 部署大致归纳一下,主要有以下一些情况: 1、Office版本不同 目前主要有Office 2003、Office 2007、Office 2010。 2、32位与64位的Office 目前只有Office 2010提供64位版本。 3、64位操作系统安装32位的Office 目前多出现在新上市的笔记本,很多都是Win7 64位,安装了Office 2007、2010 32位。 此外,不同VSTO项目的部署方式也不相同。主要有如下一些VSTO项目类型: 1、文档类型 如Word Document、Excel Workbook 2、AddIn类型 如Word AddIn、Excel AddIn 3、Shared AddIn类型 4、Excel自定义公式类型
下面我们就来逐个探讨一下相应的部署方案。 注意VS2010 只支持Office 2007、Office 2010,若要开发基于Office 2003的VSTO项目,请使用VS2005、VS2008。 一、待部署的项目是文档类型 1.1、使用VS 2010创建一个Excel Workbook项目:
1.2、选择Office 2007格式.xlsx:
1.3、在一个工作表中放置一个按钮:
1.4、在其单击事件中弹出一个对话框:
1.5、F5运行,会打开Excel,点击按钮弹出我们希望看到的信息:
1.6、在Debug目录下会发现生成了如下这些文件: 由于是文档类型,因此生成一个Excel工作簿很正常。有一个.vsto格式的文件很少见,它就是VSTO项目部署时的安装文件。 .vsto文件其实是一个XML文件,用文本编辑器打开可以看到具体内容: 包含了VSTO项目的具体信息,如.NET运行时版本,依赖的程序集,数字签名等信息,不要手动修改这个文件。 .NET运行时为4.0,所以客户端首先要安装.NET Framework 4.0。 .vsto的默认打开方式是Visual Studio Tools For Office Execution Engine: 该组件包含于Visual Studio Tools For Office 运行时,因此客户端若要运行VSTO程序,还需要安装Visual Studio Tools For Office 运行时。 Visual Studio 2010 Tools for Office Runtime 可以在这里下载。
1.7、我用了一个虚拟机模拟客户端,安装了.NET 4.0和Office 2010后就可以打开.vsto了:
1.8、安装成功后就可以打开Debug中的Excel文件了: 注意文档类型的VSTO项目安装后只对发布的一个文档有效(只对Debug中的Excel有效),不影响用户其他的Office文件,即文档类型项目不是全局性的。
1.9、在控制面板中可以将该VSTO项目卸载:
二、待部署的项目是Add In类型 2.1、新建一个Word Add In项目:
2.2、添加一个可视化Ribbon:
2.3、Ribbon中添加一个按钮:
2.4、单击弹出对话框:
2.5、F5运行后会打开Word:
2.6、在Debug目录中会生成一些文件:
2.7、客户端依旧需要安装.NET 4.0、Visual Studio 2010 Tools For Office Runtime才能运行该VSTO项目: 注意Add In 类型是全局性的,只要安装,用户随便打开一个Office文档都会包含该Add In。
三、Shared AddIn类型 所谓Shared AddIn,就是该插件可以被多种Office文档共用,但是一般都是针对一种Office文档开发。 3.1、创建一个Shared AddIn项目:
3.2、这里我选择只针对Excel:
3.3、设置加载属性:
3.4、默认有两个项目,一个是插件,另一个是MSI安装项目: 这里我们只谈部署,关于如何开发相关的项目请参考其他资料。 添加System.Windows.Forms的引用,然后在Connect.cs中的OnStartupComplete事件中弹出一个对话框:
3.5、设置安装项目属性: 注意TargetPlatform没有AnyCPU,故需要针对x86、x64分别编译一份MSI安装文件。
3.6、设置安装项目运行依赖组件: 这里可以设置需要.NET Framework 4.0:
在安装项目属性页中的【Prerequisites】中可以设置更多的运行依赖组件:
3.7、设置完成后编译安装项目,会生成相应的MSI安装包:
3.8、直接在安装项目右击àInstall即可以安装: 安装完后打开一个Excel就会看到我们的对话框:
四、Excel自定义公式类型 之所以把Excel自定义公式类型单独拿出来说,是因为Excel自定义公式的注册有些特殊,尤其是Excel 2010 x64。 4.1、创建一个类库项目:
4.2、写加减乘除四个函数和COM注册、反注册函数: View Code using System;
4.3、我安装的是Excel x64,需要手动注册自定义公式的程序集,为此在项目属性中的Build Events中写入批处理脚本来自动注册: %windir%\Microsoft.NET\Framework64\v4.0.30319\regasm /codebase "$(TargetPath)" 如果是Excel x86,这样注册: %windir%\Microsoft.NET\Framework\v4.0.30319\regasm /codebase "$(TargetPath)" 部署到客户端时需要执行这个批处理脚本。
这样在每次编译成功后就会自动注册该自定义公式。
4.4、在生成管理器中配置为 x64:
4.5、在Ribbon项目中添加调用自定义公式的代码: using Microsoft.Office.Tools.Ribbon; 4.6、修改Ribbon项目属性,将 Excel设置为启动的扩展程序:
4.7、编译、运行,会调用Excel来打开,自动加载我们的插件ExcelAddIn:
4.8、激活自定义公式: 在【Developer】选项卡中点击【Add-Ins】,再点击【Automation】找到我们编写的自定义公式,【OK】。
4.9、此时在Excel中就可以使用我们的公式了;
小结: 1、若客户使用的主要是Office 2003,则使用VS2008开发(.NET 3.5);若客户使用Office 2007或更新版本,则使用VS2010来开发。(.NET 4.0) 2、一般的安装顺序为: .NET Framework –> Visual Studio Tools For Office Runtime à MSI或.vsto 3、安装之前最好将原来版本卸载,若.vsto出现无法安装的情况,则可以使用Mage.exe清理一下缓存再尝试安装。 命令行下执行:mage -cc
Mage.exe是Windows SDK中的一个小工具,安装完Windows SDK后默认位于: C:\Program Files (x86)\Microsoft SDKs\Windows\xx\Bin àWindows x64 C:\Program Files\Microsoft SDKs\Windows\xx\Bin àWindows x86 其中xx是Windows SDK的版本号,如v6.0A、v7.0A、v7.1等。 ******************** 这个Mage命令真的很有用,忽略了这点需要花很多时间去折腾!!!
********************** 使用VSTO开发建议客户端安装Office 2007或更新版本,因为VSTO本身就是对Office 2007或更新版本量身定制的。Office 2003由于历史遗留问题,难以适应新架构。 对此需要引导客户,虽然客户是上帝,但是如果能说服客户升级Office,则对用户体验和项目后期的升级维护有显著的好处。
-------------------------------------------------------------------------------------------------------------------------------------------------- 看着这篇十全大补文章,收获颇丰,准备打包完毕收工,无意间又看到另外一篇文章: http://www.cnblogs.com/allenlooplee/archive/2007/10/07/915821.html 使用ClickOnce发布插件部署包 我不知道你是如何看待VSTO/VSTO 2005 SE项目的部署过程,我个人觉得很繁琐复杂,每当想到这个令人厌烦的过程,使用VSTO/VSTO 2005 SE进行开发的兴致就大为减弱了。现在好了,VSTO Orcas支持使用ClickOnce进行部署,整个过程就像你部署其它应用程序那么简单。 首先,右键点击项目图标,选择Publish菜单项: Figure 1 接着,指定插件的发布位置: Figure 2 然后,指定插件的默认安装路径: Figure 3 最后,点击完成生成部署包: Figure 4 此外,通过项目的属性窗口,你可以对部署包的生成进行更多的设置: Figure 5 你可以在Prerequisites对话框中指定运行该插件所需的软件/组件: Figure 6 从上图可以看出,运行这个插件需要:
值得提醒的是,VSTO Runtime 3.0的安装文件也随部署包一起发布了: Figure 7
安装/卸载插件 运行setup.exe,你会看到如下所示的对话框: Figure 8 如果你不希望你的用户看到这个对话框,可以为项目进行强签名。点击Install按钮,安装程序将继续: Figure 9 安装完毕后点击Close按钮退出: Figure 10 如果你想卸载这个插件,可以在添加/删除程序对话框里找到它的卸载程序: Figure 11
------------------------------------------------------------------------------------------------------------------------------- 参考文章3: 对于程序依赖的文件,例如库文件,非托管dll,clickonce发布后,并不能自动打包。 解决办法: http://blog.csdn.net/isyxp/article/details/4988095 1、在项目上右键—>添加—>添加现在项 将自已需要的文件添加进来。 2、选中刚添加进来的文件,在属性窗口将“复制到输出目录”的值选为“始终复制”;将“生成操作”的值选为“内容”。 3、在“发布”页面,“应用程序文件”窗口中就可以看到刚加入的文件了。 // vs2010中找不到“应用程序文件”,但不影响使用 4、重新“发布”问题解决。 ------------------------------------------------------------------------------------------------------------------------------------ 后续问题: 经测试及查找文档发现,Excel Addin的部署卸载存在一定缺陷,在很多情况下会出现“僵尸”程序,无法卸载干净。暂没有好的办法。 clickonce部署简单,但是clickonce也不是没有问题,因为clickonce的安装目录无法指定,一般是放在系统指定的目录下,对于有定制目录要求的 就没有办法了。
|
|
来自: lihaohello > 《待分类》