如何简单部署用VSTO SE 2005开发Excel,Word插件 收藏.doc_第1页
如何简单部署用VSTO SE 2005开发Excel,Word插件 收藏.doc_第2页
如何简单部署用VSTO SE 2005开发Excel,Word插件 收藏.doc_第3页
如何简单部署用VSTO SE 2005开发Excel,Word插件 收藏.doc_第4页
如何简单部署用VSTO SE 2005开发Excel,Word插件 收藏.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何简单部署用VSTO SE 2005开发的Excel,Word插件 收藏 如何简单部署用VSTO SE 2005开发的Excel,Word插件本文标题之所以要加上简单二字,是为了区别于msdn上的 两篇讲述VSTO部署的经典长文。/en-us/library/bb332051.aspx /en-us/library/bb332052.aspx 其实VSTO插件的部署无非就是Prerequisites和grant full trust (因为注册表是模板帮我们处理好的,我们不需要去关心,下文有详述)。上面的 两篇文章为了一步到位的解决好以上两个问题,并打包.msi文件,用了一些技术。一,给Setup项 目添加prerequisites,并且使用launch condition来要求用户在安装setup.exe前必须保证所有的prerequisites都已经安装在目标机器上;二,利用Custom Action在安装过程完成后,调用caspol工具来设置程序集的权限。第一篇文章讲解了各个技术点,第二篇文章通过具体的例子来完成两种类型项 目的部署,并且提供了一个Sample,里面包含了要用到一些工程,如SetSecurity。例子就是引用这个工程做为Custom Action来设置权限的。与上两者不同的是,本文抛开所有这些技术不看,仅仅打包一个最最简单的.msi文 件,把prerequisites和grant trust的事情,留待插件安装完再去人工 做。希望如此,能给在VSTO项目部署时遇到困难的人一个直观的印象,让大家看到VSTO项 目要运行,其实就是这么几个东西。然后回头再看Microsoft提供的这两篇文章,幸许又会有另外的收获。一概述如果你的VSTO SE插 件在开发机器上工作良好,一旦装到客户机上,就不再装载了。可能的原因无非就是一下几种:(在此排除了软禁用,硬禁用的情况)1.一些prerequisites没有装:a. .NET Framework (这是所有.NET应用程序运行的必备,没有什么好说的。如果我们用VSTO SE开发的插件,我们应该在客户机上装上.NET 2.0以上的版本)b. Office PIAs(这是连接.NET和Office COM的桥梁,CLR通过它 来操作Office的COM对象,没有它,你的程序一样不能跑)c. VSTO Runtime(这是所有用VSTO开发出来的软件,运行时必备的,目前有三个主本版,第三个版本用来支持ClickOnce部署,本文中不涉及。本文只用到第二个主版本的升级版)2. 注册表,任何一个VSTO SE插件程序要运行,都是Office启 动的时候先从注册表中找到插件的相关信息,主要是LoadBehavior和Manifest的地址,然后根据Manifest的地址,找到manifest文件,manifest文件中记录了dll的地址和一些配置信息 (manifest文件可以用notepad打开) ,根据manifest来装载程序集。我们用VSTO SE新 建一个插件项目的时候,Microsoft提供给我们的模板会帮我们自动添加一个Setup项 目。这个项目中已经默认地帮我们把要写入的注册表键值写好,无须我们多费心思。当然如果你把默认的Setup项 目删掉了 (我经常这么干,因为看着碍眼,并且我一般只要Debug,不要Deploy),自己再添加一个新的Setup项 目,这时候,新项目中,系统不会帮你写好注册表的键值。关于注册表,下面是默认Setup项目的注册表视图的截图:3. 权限的设置问题,Office装载任何VSTO SE开发出来的.NET插件 时,都需要这个插件被完全信任。有两种方法完成这个任务:a. 用Microsoft .NET Framework Wizard (图形化界面)b. 用Caspol.exe (命令行,本文采用这种方式,原因是好表 述,不要图)二部署案例 下面我们动手,用VSTO SE创 建一个Excel 2007的插件(2003也是一样的,只不过客户机要装Excel 2003和Excel 2003 PIA,还有不要在同一台机器上同时安装Office 2003和2007),并且将它部署到一个客户机上。(由于手头只 有英文版VS,菜单名都是英文的,大家自己对应看看吧)1. 打开Visual Studio 2005,新建项目,在左边 的导航板块中,选中C#-Office-2007 Add-ins,在右边选中Excel Add-in。取名ExcelAddIn,点OK。然后系统会在solution中默认的创建两个项目,一个是插件项目,一个是Setup项目,如图:2. 在ThisAddIn.cs文件中的ThisAddIn_Startup函数里加一句代码,以供回头测试是否部署成功。修改后的代码如下:private void ThisAddIn_Startup(object sender, System.EventArgs e) #region VSTO generated code this.Application = (Excel.Application)Microsoft.Office.Tools.Excel.ExcelLocale1033Proxy.Wrap(typeof(Excel.Application), this.Application); #endregion MessageBox.Show(Deploy successfully);3. 在Solution Expolrer里面,右击ExcelAddInSetup项目,点击Build。4. 到Setup项目文件夹中的debug目 录下找到ExcelAddInSetup.msi文件,拷贝到目标机器上。5. 在目标机器上,安装:.Net Framework 2.0 /downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en Office 2007 PIAs: (运行完下载文件后,还要点击得到的o2007PIA.msi才是安装PIAs)/downloads/details.aspx?familyid=59DAEBAA-BED4-4282-A28C-B864D8BFA513&displaylang=en VSTO Runtime2.0:/downloads/details.aspx?FamilyId=4468D8CB-B43E-4B09-82F6-8BA3F7B5E935&displaylang=en#filelist 还有目标机上要有对应的Office程 序,比如这里就需要Excel 2007!6. 双击刚刚拷贝到目标机器上的ExcelAddInSetup.msi,选择安装目录并安装,假设安装到了C:Test目录下。安装完,该目录下会出现两个文件:ExcelAddIn.dll,ExcelAddIn.dll.manifest,其中的.dll文件就是我们下面要设置权限的程序集7. 回到桌面,点击开始-运 行,输入cmd,在命令行提示下,输入cd C:WINDOWSMicrosoft.NETFrameworkv2.0.50727,回车然后输入下面命令:Caspol u ag All_Code url “C:TestExcelAddIn.dll” FullTrust n “Test”回车输入yes回车 (请勿直接拷贝这段命令行,因为Word好像 改变了字体,大家还是自己敲一下,顺带加深一下印象)8. 打开Excel,MessageBox对话框跳出。发表于 2007年12月19日22:08:00| 评论( 1 ) | 编辑| 举报| 收藏 旧一篇:如 何给Excel添加用户自定义的公式|新一篇:用 Windbg调试一个Windows自带扫雷程序的逻辑bug查看最新精华文章 请访问博客首页相关文章如何使用.net来部署使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论