从开始写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. [转]C#中的?和??

    原文链接:http://msdn.microsoft.com/zh-tw/library/2cf62fcy%28VS.80%29.aspx 使用可為 Null 的型別 (C# 程式設計手冊) Visu ...

  2. 使用Jekyll搭建博客

    最近闲来无事,捣鼓了一下Git以及Github,尝试了一下基于Jekyll搭建个人博客的方法,现在把整个过程进行一个总结(部分内容转自互联网): <img src="http://up ...

  3. Android中弹出输入法界面不影响app界面布局

    默认情况下,输入法弹出的时候,原来的view会被挤扁.有些应用不想被挤,它们可以接受被输入法view覆盖在上面.这时候需要在AndroidManifest.xml acitivty里面加上一句: an ...

  4. linux 开机自动运行

    1.开机启动时自动运行程序 Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init.init根据配置文件继续引导过程,启动其它进程.通常情况下,修改放置在 /etc/rc或 /et ...

  5. 利用ArcGIS Engine、VS .NET和Windows控件开发GIS应用

    Dixon 原文  用ArcGIS Engine.VS .NET和Windows控件开发GIS应用     此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署 ...

  6. Getting and installing the PEAR package manager

    Windows After you have downloaded and installed PHP, you have to manually execute the batch file loc ...

  7. IOS-多视图控制器之间的切换

    1. 创建个单视图应用程序 2. 在向Main.storyboard中拖一个ViewController控制器 3. 在第一个viewController中添加一个按钮 4. 按着control键,推 ...

  8. 使用ncc分析代码

    1 ncc是一个编译器, 用于输出程序的一些调用信息等, 可以查看函数调用关系, 支持函数指针, 查看数据结构和代码. 可以用来分析和理解代码. “" ... with ncc, in le ...

  9. (转)Spring中Bean的命名问题(id和name区别)及ref和idref之间的区别

    Spring中Bean的命名 1.每个Bean可以有一个id属性,并可以根据该id在IoC容器中查找该Bean,该id属性值必须在IoC容器中唯一: 2.可以不指定id属性,只指定全限定类名,如: & ...

  10. Android 订阅-发布者模式-详解

    1.概念简述 Android 简称观察者模式, GoF说道:Observer模式的意图是“定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新”. 有 ...