从开始写VSTO的插件开始,安装部署一直就是一个很大的难题,其实难题的原因主要是针对XP+2007而言。在Win7上,由于基本上都预装了.net framework,所以安装起来其实问题不大。

主要需要解决的问题:

①.net环境(添加安装包)

②VSTOR(添加安装包)

③PIA(代码中引用两个DLL,在打包时加上)

解决方案步骤:

1、解决PIA的问题,是需要在代码中进行设置的,具体步骤如下:

步骤一:引用中的Office.dll,设置为复制本地(如果你不把嵌入互操作类型改成False,是没办法设置的哦)

步骤二:添加引用Microsoft.Vbe.Interop,记得要选择和你环境一致的版本哦(我默认添加的Excel 2010的Add-In中,引用列表里没有,所以需要添加)

步骤三:引用中的Microsoft.Vbe.Interop.dll设置为复制到本地(同样,嵌入互操作类型不设置为false,你是无法改变这个状态的哦)

步骤四:编译成Release吧

2、打包工具升级为10.0以上版本,笔者尝试使用Advanced Installer 10.0成功,之前用Advanced Installer 9.8,怎么打包都失败,所以打包工具的版本很重要。

3、软件选择OK之后,就开始我们的打包之旅,解决打包问题的三要素也会在这里体现哦:①.net环境②VSTOR③PIA

步骤一:如图所示,新建Office Add-In项目(此处是以Office Add-In程序为例哦)


步骤二:设置相关细节,单击下一步,到如下界面时,选择exe或者msi即可。

步骤三:设置保存位置及生成安装包名称,到如图所示,选择新建步骤的类型时,选择创建VSTO Office加载项

步骤四:如图所示,选择从Visual Studio项目中导入文件。

步骤五:配置当然选Release了,这个就不细说了,一般情况下,默认选项即可,如图,配置工程时的两个DLL,一定要勾选上哦(③PIA)。

步骤六:根据自己的情况,选择哦

步骤七:后面的设置随意,按照自己的情况来,到了设置配置加载项的启动条件这步了,啥都可以不用选哦

步骤八,.net framework一定要加,VSTOR一定要加,最后那个PIA呢,是前面的解决方案就不是这里啦

我的是.net 4.0,所以选了.net4.0哦(①.net②VSTOR)

注:关于.net framework,07默认是3.5, 10是4.0,13是4.5,需要兼容的话,必需选择4.0

最后,剩下的随意设置,然后就到了构建项目了

打开输出文件夹,可以看到如下内容:

最终,小程序完美地在Win7+2010还有Xp+2007的机器上安装成功,并且使用OK了哦。

在此,感觉车车和小铁匠赞助的思路。

VSTO安装部署(完美解决XP+2007)的更多相关文章

  1. Myeclipse10安装git 完美解决-费元星

    1. 拥有自己的github版本库 这年头,不在GitHub上弄几个项目都不好意思跟人家打招呼. 首先,进入GitHub注册账号,话说人家这页面做的那叫一个舒服啊. 然后,登陆并创建自己的版本库(Re ...

  2. win10想说爱你不容易——安装.net3.5也是一个坑(已有完美解决方法)

    最终完美解决方法:经过多次波折,终于找到无法正常安装.net3.5的原因了,是因为已删除的用户还有注册表残留导致的,而且这个问题还会影响一个win10更新的安装,导致每天更新失败,撤销更新... 详见 ...

  3. Linux安装软件时缺少依赖包的简单较完美解决方法!

    大家在linux下源码安装时,有木有经常碰到缺少这个包那个包的,然后不知所措?看到最近有几个筒子安装thrift,安装python因缺少依赖包而进行不下去了.我用的是红帽,装系统的时候习惯把所有的有的 ...

  4. Installshield更新时,新加dll未拷贝至安装目录问题完美解决【原创】

    最近在发现在开发过程中新增的目录或文件(特别是dll\ocx\exe等二进制文件),在升级安装时拷贝失败. 经过一周的研究,完美解决办法: 对于新增的文件或目录,放到一个新的component中,并且 ...

  5. Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)

    Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本) Hive 安装依赖 Hadoop 的集群,它是运行在 Hadoop 的基础上. 所以在安装 Hive 之 ...

  6. .net安装部署“Error 1001 在初始化安装时发生异常” 的解决方法

    状况描述:打包安装后,如果删除安装目录中的某个文件,这时从桌面快捷方式启动软件系统会自动运行修复程序,此时因为路径问题会报出“错误 1001 在初始化安装时发生异常xxx”的异常.(前提是你的安装部署 ...

  7. .net应用程序安装部署时异常 Error 1001. 在初始化安装时发生异常 System.BadImageFormatException:未能加载文件或程序集 的解决办法【成功解决】

    采用.net 4.0框架开发的一个桌面应用程序在某学校的一体机(Windows7的32位操作系统)上做安装部署时抛出异常,安装程序回滚,多次尝试仍不成功. Error 1001. 在初始化安装时发生异 ...

  8. 虚拟机安装win7 64位-完美解决-费元星

    安装虚拟机是为了安装一个oracle ,在本机安装 ,本机会卡死,不是每次启动电脑都用oralce,而且有时候服务是关不干净的,所以安装在虚拟机里,需要的时候在开启,特做此记录! 费元星版权Q[971 ...

  9. 完美解决win10系统无法安装.NET Framework问题

    今天在安装willow插件的时候系统提示需要安装.NET Framework3.5的问题,当点击系统自动解决的时候,Windows系统又会提示错误,其实这也见怪不怪了,如果能自动解决的话也不会出现这种 ...

随机推荐

  1. 安装rlwrap错误的问题解决方法

     You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build this program.如果安装rlwra ...

  2. 【解题报告】[动态规划] RQNOJ PID5 / 能量项链

    原题地址:http://www.rqnoj.cn/problem/5 解题思路: 今天刚刚才知道了区间DP..Orz..本来以为是状态压缩DP,后来看到数据量才发现原来不是.后来参考了别人的题解.自己 ...

  3. JS面向对象组件(三)--面向对象中的常用属性和方法

    图片的由来看下面: 1.hasOwnProperty:看是不是对象自身下面的属性 var arr = []; arr.num = ; Array.prototype.num2 = ; //所有的数组对 ...

  4. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.2.Oracleasm Createdisk ASM磁盘失败:Instantiating disk: failed

    1.错误信息:Instantiating disk: failed [root@linuxrac1 /]# /usr/sbin/oracleasm createdisk OCR_VOTE /dev/s ...

  5. 0bjective-c 之 NSString 使用详解

    查找资料的时候发现不错的文章,自己翻译之后分享给大家! 一个基本的该类型字符串例子: @"This is a constant character string object"; ...

  6. 嵌入式 使用udev高效、动态地管理Linux 设备文件

    本文以通俗的方法阐述 udev 及相关术语的概念.udev 的配置文件和规则文件,然后以 Red Hat Enterprise Server 为平台演示一些管理设备文件和查询设备信息的实例.本文会使那 ...

  7. 关于浮动-float

    1.存在浏览器兼容问题:js代码 2.对于这种存在浏览器兼容问题的问题,我们可以绕开兼容性问题,先在css样式写好,然后通过该变className 3.学习的博客 https://paran.io/c ...

  8. DataTable添加列和行的三种方法

    JRoger 原文 #region 方法一: DataTable tblDatas =new DataTable("Datas"); DataColumn dc =null; dc ...

  9. C#中实现对Excel特定文本的搜索

    打开Excel的VBA帮助,查看Excel的对象模型,很容易找到完成这个功能需要的几个集合和对象: Application.Workbooks. Workbook.Worksheets还有Worksh ...

  10. 提高zxing生成二维码的容错率及zxing生成二维码的边框设置

    最近做了一个项目要生成二维码,跟几年前不同,最近大家都喜欢在二维码中间加logo. 加logo倒是不难,两个图片叠一起就是了,但是遇到一个新问题,logo加得太大的话,会导致二维码扫描不出来;加的太小 ...