从开始写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. toB的产品经理和toc产品经理区别

    腾讯产品经理现身说法 曾经在UC做过2年to c的app,现在在腾讯做to b的产品. 做to c产品的时候,我很瞧不起做to b产品的同学,认为他们不过是做支撑的. 后来,我参与了一个to b平台级 ...

  2. (转)gLFlush()和gLFinish()

    笔者初使用OpenGL之时,所遇到的命令不能生效的问题:比如开始想用gLClearColor来设置背景色为红色,结果执行后背景还是默认的黑色.后来查阅资料,才知道这与OpenGL的指令执行流程有关,要 ...

  3. Python 删除 数组

    numpy删除一列 从0开始,第三个参数是第几个维度  可以多删几个 

  4. list() and tuple()

    >>> l = list('sdfsdf') >>> l ['s', 'd', 'f', 's', 'd', 'f'] >>> t = tuple ...

  5. Comparator与Comparable的异同

    同 它们都是Java的一个接口,都是用来实现集合中元素的比较.排序. 异 Comparator位于java.util下: Comparable位于java.lang下: Comparable(可比较的 ...

  6. 【转】itunes connect 如何修改主要语言

    原文网址:http://blog.csdn.net/yuedong56/article/details/50662181 刚开始提交app,没有做国际化(本地化),提交的app只有简体中文一种语言,第 ...

  7. http报头正文开头会有一个整数的问题

    HTTP/.0 200 OK (省略一些东西...) Content-type:text/html 正文内容 这是我用Arduino访问某个php得到的结果 如果我在php里头输出1000个字符或更少 ...

  8. 利用命令控制台cmd进入某个硬盘的某个文件夹的命令是什么?

    在命令行窗口中输入F:后回车就可以切换到F盘,如果想查看F盘的内容,可以再输入dir后回车 (输入“F”后要再输入一个“ :”再回车才行哦)

  9. Java读取excel指定sheet中的各行数据,存入二维数组,包括首行,并打印

    1. 读取 //读取excel指定sheet中的各行数据,存入二维数组,包括首行 public static String[][] getSheetData(XSSFSheet sheet) thro ...

  10. Laravel不同数据库的模型之间关联

    假设ModelA和ModelB之间是BelongsTo的关系 如果同属于一个数据库连接 那么 public function a(){ return $this->belongsTo(" ...