Office 2007 AddIn的安装包的制作 http://www.cnblogs.com/yunhuasheng/archive/2008/01/05/1027115.html

Office 2007/2010专用修复安装文件ProPlusWW.msi下载 本文还有配套的精品资源,点击获取 简介:此标题指向一款用于修复Microsoft Office 2007和2010的专用安装文件ProPlusWW.msi。它是MSI格式的文件,包含所有必要的Office修复或重新安装组件。用户可以下载后直接点击或通过Office应用程序提示进行修复安装。该文件分为两个版本,分别对应Office 2007和Office 2010,用于解决安... 阅读详情

Office 2007 AddIn的安装包的制作

首先,明确要使AddIn能运行得前提条件:
1、.Net Framework 2.0
2、VSTO 2005 SE runtime
3、Visual Studio Tools for Office Language Pack 非英文版本需要安装
4、Primary interop assemblies redistributable package for the 2007 release of Office(一般安装Office 2007时已经安装了)

使用VSTO 2005 SE开发完Office 2007的AddIn后制作Windonws Installer安装包过程如下:

1、下载安装Visual Studio 2005 Tools for Office Second Edition Sample: Deploying Office Solutions Using Windows Installer;

2、下载VSTO 2005 SE runtime, 将vstor.exe拷贝到C:/Program Files/Microsoft Visual Studio 2005 Tools for Office SE Resources/VSTO2005SE Windows Installer Sample/Packages/VSTOSERuntime下;

3、安装Windows SDK,Vista和Win 2003的都可以。主要为了编译一个cpp文件,不需要全部安装;

4、运行VS2005的命令行工具,到Visual Studio 2005 Tools for Office Second Edition Sample安装目录下,默认是C:/Program Files/Microsoft Visual Studio 2005 Tools for Office SE Resources/VSTO2005SE Windows Installer Sample/projects/Checks,运行

cl.exe  - I  " D:/Program Files/Microsoft Platform SDK/Include "   / Oxs  / MT  / GS ComponentCheck.cpp


编译ComponentCheck.cpp生成一个exe文件,拷贝到Packages/Office2007PIA下。

Vista 的是Include路径是"D:/Program Files/Microsoft SDKs/Windows/v6.0/Include"

5、下载Primary interop assemblies redistributable package for the 2007 release of Office,下载安装后,将o2007pia.msi拷贝到Packages/Office2007PIA下;

6、需要的话就下载Visual Studio Tools for Office Language Pack,拷贝到Packages/VSTOLP;

7、将Packages下的所有内容拷贝到.Net Framwork 目录下Pagckages目录,默认位置C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/BootStrapper/Packages;

8、添加projects目录下的SetSecurity到自己的AddIn项目中,它的作用是在安装时为我们的程序集添加安全策略。如果不添加安全策略,我们的插件是不会被Office调用的;

9、添加所有的项目输出到安装项目中;


10、在安装项目的属性中添加运行的先决条件。如果不执行第7步,这里是不能选择这些先决条件的。添加以后,安装时会检查这些组件,如果未安装,安装程序会提示用户连接微软网站下载和安装;


11、为安装项目添加Custom Actions,注册表项已经由VSTO模板创建了,可以根据自己的需要再修改,比如添加到HLM下;

选择SetSecurity的主输出
在Install的CustomActionData中添加:

/ assemblyName = " OutlookAddin.dll "   / targetDir = " [TARGETDIR]/ "
   
/ solutionCodeGroupName = " MyCompanyName.OutlookAddin "
   
/ solutionCodeGroupDescription = " Code group for OutlookAddin "
   
/ assemblyCodeGroupName = " OutlookAddin "
   
/ assemblyCodeGroupDescription = " Code group for OutlookAddin "
   
/ allUsers = [ALLUSERS]


RollBack的CustomActionData中添加:

/ solutionCodeGroupName = " MyCompanyName.OutlookAddin "

Uninstall的CustomActionData中添加:

/ solutionCodeGroupName = " MyCompanyName.OutlookAddin "

Install时,如果只有一个dll,SetSecurity除外,这样设置就可以了,也不用修改代码,如果你有多个dll要为每个添加安全策略,这就要对这个参数和SetSecurity做一点修改:

/ assemblyName = " OutlookAddin.dll,2.dll,3.dll "   / targetDir = " [TARGETDIR]/ "
   
/ solutionCodeGroupName = " MyCompanyName.OutlookAddin "
   
/ solutionCodeGroupDescription = " Code group for OutlookAddin "
   
/ assemblyCodeGroupName = " OutlookAddin "
   
/ assemblyCodeGroupDescription = " Code group for OutlookAddin "
   
/ allUsers = [ALLUSERS]

在SetSecurity.cs中以下这短代码:

                 bool  allUsers  =  String.Equals(allUsersString,  " 1 " );
                
string  assemblyPath  =  Path.Combine(targetDir, assemblyName);

                
//  Note that Install method may be invoked during Repair mode and the code group 
                
//  may already exist.
                
//  To prevent adding of another code group, remove the code group if it exists.
                 try
                
{
                    
// The solutionCodeGroupName must be a unique name; otherwise, the method might delete wrong code group.
                    CaspolSecurityPolicyCreator.RemoveSecurityPolicy(allUsers, solutionCodeGroupName);
                }

                
catch   {}

                CaspolSecurityPolicyCreator.AddSecurityPolicy(
                    allUsers,
                    solutionCodeGroupName,
                    solutionCodeGroupDescription,
                    assemblyPath,
                    assemblyCodeGroupName,
                    assemblyCodeGroupDescription);
                stateSaver.Add(
" allUsers " , allUsers);

修改为:

                 bool  allUsers  =  String.Equals(allUsersString,  " 1 " );

                
//  Note that Install method may be invoked during Repair mode and the code group 
                
//  may already exist.
                
//  To prevent adding of another code group, remove the code group if it exists.
                 try
                
{
                    
// The solutionCodeGroupName must be a unique name; otherwise, the method might delete wrong code group.
                    CaspolSecurityPolicyCreator.RemoveSecurityPolicy(allUsers, solutionCodeGroupName);
                }

                
catch   {}

                
string [] assemblys  =  assemblyName.Split( ' , ' );
                
foreach  ( string  assembly  in  assemblys)
                
{
                    
string assemblyPath = Path.Combine(targetDir, assembly);
                    CaspolSecurityPolicyCreator.AddSecurityPolicy(
                        allUsers,
                        solutionCodeGroupName,
                        solutionCodeGroupDescription,
                        assemblyPath,
                        assemblyCodeGroupName,
                        assemblyCodeGroupDescription);
                }


                stateSaver.Add(
" allUsers " , allUsers);

 

很笨的方法。:-)(前两天正是这个符号诞生25周年)

12、编译我们的安装项目,这样我的AddIn就可以安装到装有Office 2007的系统上了。

我们会得到一个警告:
WARNING: No 'HomeSite' attribute has been provided for '2007 Microsoft Office Primary Interop Assemblies', so the package will be published to the same location as the bootstrapper.
看安装项目的Debug目录

这个是因为安装程序不能通过微软网站下载2007 Microsoft Office Primary Interop Assemblies(微软未提供),所以将安装包一起发布,我们的安装程序会直接从本地运行这个msi。
这些运行的先决条件,也可以同我们的安装包一起发布。特别是在目标主机无外网连接的情况下。


编译后如下:

当然,我们可以自己去实现这些检测和安装,添加一个Register search和lunch condition,
Register Search属性如下:


Lunch Condition属性如下:


这样我们的安装包一样可以从本地安装VSTO运行时。

这样安装包比较大,我们可以发布两个版本,视具体情况而定。

现在AddIn的安装包基本完成了,其他的一些东西:安装界面,版本...我在这里就不介绍了,现在想说的是这个安装包还不够完美,没有检测是否安装Office 2007,我们也可以通过注册表来实现。

其实,要做出比较好的安装包还是要用Installshiled,但是俺好久没用它了,也不知道如何用它去做Office AddIn的安装包,并且它需要付费,因此,还是用了Windows Installer。

o2007pia.msi o2007pia.msi 开发使用就靠它了 立即下载

相关推荐

OfficePIA开发库14(支持Office2010)

OfficeRIA开发库14(支持Office2010)

Office 2007 AddIn的安装包的制作

首先,明确要使AddIn能运行得前提条件: 1、.Net Framework 2.0 2、VSTO 2005 SE runtime 3、Visual Studio Tools for Office Language Pack 非英文版本需要安装 4、Primary interop assemblies redistributable package for the 2007 release...

weixin_34015336的博客 352

offiec2007开发必备o2007pia

安装后解决出现错误:未能加载文件或程序集“Microsoft.Office.Interop.Excel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”或它的某一个依赖项

安装Office2007主互操作程序集

可以采用两种方式在全局程序集缓存中安装主互操作程序集的完整集合:执行 Microsoft Office 的完全安装。从可再发行主互操作程序集程序包安装主互操作程序集。方法1:完全安装安装 Microsoft .NET Framework 3.5 或更高版本。必须安装 .NET Framework,然后在下一步中将主互操作程序集安装到全局程序集缓存

光脚丫思考的专栏 4899

Office 2007 PIA Demo

Office 2007 PIA 操作Word\Excel的例子

Silvaco TCAD | GaN HEMT器件仿真与高频功率应用实战

本文详细介绍了使用Silvaco TCAD进行GaN HEMT器件仿真的全流程,涵盖器件结构设计、极化效应建模、高频特性分析及功率损耗优化。通过实战案例展示了GaN HEMT在电动汽车电驱和快充模块等高频功率应用中的性能优势与效率提升策略,为工程师提供可靠的仿真方法与设计验证手段。

desk3的博客 183

Office Primary Interop Assemblies

isual Studio Tools for the Microsoft Office System Office Primary Interop Assemblies When you create a new Visual Studio Tools for Office project, a reference to the correct primary interop assem...

weixin_34110749的博客 916

Nginx源码安装和基础配置

Nginx简介 nginx: 世界第二大web服务器软件,以高并发、低消耗著称,源自于俄罗斯,创建者 Igor(伊戈尔),2004年开源,最早以代理服务器的身份出现,2015成立nginx公司,2019年以6.7亿被F5 Networks公司收购。 代理服务器: 正向:squid 反向: squid:最古老的代理服务器 LVS: 优点: 1.抗负载能力强、是工作在网络4层之上仅作分发之用 2.配置性比较低,这是一个缺点也是一个优点,简单不易出错 3.工作稳定,抗负载能力很强,有完整的双机热备方案

hjyhjy0的博客 500

office2007加载项_通过安装加载项向Office 2007添加更多功能

office2007加载项Sometimes in your daily work routine you might need some extra features from the Microsoft Office Suite. One way to get extra functionality is through Office Add-Ins. Sometimes these ar...

culunxun2863的博客 1328

手把手教你用TiggerRamDisk绕过iPhone/iPad激活锁(支持iOS16.3,Win/Mac双平台保姆级教程)

本文详细介绍了如何使用TiggerRamDisk工具绕过iPhone/iPad的激活锁,支持iOS16.3系统,并提供Windows和Mac双平台的保姆级教程。从工具准备、设备连接到核心解锁流程,一步步指导用户完成操作,帮助二手设备或旧设备重获新生。

weixin_29323493的博客 916

Android手机免root玩转Kali NetHunter:Termux保姆级安装指南(附Kex VNC配置)

本文提供了一份详细的Android手机免root安装Kali NetHunter的保姆级指南。通过使用Termux终端模拟器,用户无需解锁Bootloader或获取root权限,即可在普通安卓设备上部署完整的Kali Linux渗透测试环境。教程涵盖了从环境准备、NetHunter核心安装到配置Kex VNC实现图形桌面访问的全过程,并附带了电脑投屏与常见问题解决方案,旨在打造一个便携的移动安全学习与测试平台。

weixin_29208327的博客 302

Microsoft Visual Studio 2005 Tools for the Microsoft Office System (VSTO 2005) 可再发行组件包

http://blog.donews.com/ligongda/archive/2006/01/23/705848.aspxMicrosoft Visual Studio 2005 Tools for the Microsoft Office System (VSTO 2005) 可再发行组件包Microsoft Visual Studio 2005 Tools for the Mic

danielcheng的专栏 2050

AMD锐龙笔记本隐藏玩法:分核降压+ PBO2超频全攻略(以5900HX/6900HX为例)

本文详细解析了AMD锐龙笔记本(以5900HX/6900HX为例)的分核降压与PBO2超频技术,帮助用户释放处理器隐藏性能。通过BIOS设置、Curve Optimizer参数调整及稳定性测试,实现性能提升与温度控制的完美平衡,适合硬件爱好者进阶调校。

weixin_30617737的博客 346

Office PIA:关于Office PIA应用程序的部署

基于Office PIA的应用程序,要想在客户的电脑上顺利地运行起来,可以有这几种办法: 方法一:让客户在安装Office的时候顺便安装“.Net可编程性支持”(.Net Programmability Support) 看截图,不解释: 方法二:让客户安装Office PIA 比如说Office 2007的PIA:在微软网站的下载频道搜索“Office 2007

辛亚平的专栏 1万+

汇川H5U搭配步进伺服电机使用CANopen通讯控制电机案例

摘要:本文介绍了基于汇川H5U PLC和STM4260B-CANopen-M步进伺服电机的控制系统搭建流程。主要内容包括:硬件准备(PLC、伺服电机、24V电源)、电机参数默认设置(地址1号、1M波特率)、使用AutoShop软件编写程序(配置CANopen参数、导入电机描述文件、设置PDO参数)以及功能块编程(使能控制、速度控制、绝对位置控制等)。通过查阅通讯手册完成各功能块参数配置,最终在主程序中调用功能块实现控制系统开发。该方案适用于需要精确运动控制的工业自动化场景。

m0_46512607的博客 1596

58.Sobel边缘检测算子

注:在梯度运算中,很可能会出现负的灰度值,我们不能再采用uint8类型作为像素的数据类型,而是采用了CV_16S或者CV_32F这种有负数范围的类型,运算结果里的负数也不能不处理,否则在显示的时候就会被截断为0,这样就会丢失边界信息。如下图所示,对中心像素Z5求取多个方向的灰度差分,对于Z5的8邻域,分为4个方向,即对角线和水平垂直4个方向对:(z1, z9) ,(z2, z8), (z3, z7), (z6, z4) 给定邻域方向梯度矢量g的幅度为:|g| = <像素灰度差分>/<相邻像素的距离>。

twnkie的博客 4884

配置和安装PIA过程中的常见问题

原文作者:Mary Lee 原文链接: http://blogs.msdn.com/vsto/archive/2008/05/20/common-pitfalls-during-pia-deployment-and-installation.aspx 发布时间: 2008年5月20日 配置或安装PIA(office 主互操作程序集)时经常会遇到一些问题。当你试图配置或安装PIA时有...

weixin_30344131的博客 808

2025华为od面试手撕代码【求字符串表达式结果】

2025华为od面试手撕代码【求字符串表达式结果】

MISAYAONE的博客 1353

如何卸载或删除 Microsoft Office 2007 套件

如何卸载或删除 Microsoft Office 2007 套件 方法 1:从“控制面板”卸载 Microsoft Office 2007 套件 单击此处显示有关如何从“控制面板”卸载 Microsoft Office 套件的信息 若要从“控制面板”删除 Microsoft Office 2007,请执行以下步骤: 单击“开始”。单击“所有程序”,然后打开“附件

不了了之之了之 2097

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

office2007加载项_Office 2007安装加载项

office2007加载项You can install Add-In software to most Office 2007 applications. Microsoft bundled add-in software with this release of Office. The software is included with 2007 but is not automatica...

culiuman3228的博客 1451

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

从Microsoft Office 2007应用程序保存为PDF

In continuing with my apparent PDF theme this week, I thought it would be good to point out a nice Add-In for Microsoft Office 2007 which allows you to save or email documents in PDF format. Just dow...

cum88284的博客 986

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

word中将空格替换为_如何在Office 2007中将Word保存为PDF

word中将空格替换为How to save a Word document to be a PDF in Office 2007? 如何在Office 2007中将Word 文档保存为PDF? I find this add-on for Office 2007 from Microsoft: 我从Microsoft找到了适用于Office 2007的附加组件: 2007 Microsoft...

cuma2369的博客 222

使用Microsoft Office 2007将文档转换为PDF

点击帮助 输入关键词PDF后搜索 点击进入Save or convert to PDF or XPS 点击进入2007 Microsoft Office Add-in: Microsoft Save as PDF or XPS Download No thanks and continue 下载完毕后安装 试试效果如何^_^ 转载于:https://ww...

weixin_34345753的博客 508

blend3中导入ppt

今天尝试了一下再Blend3中导入 ppt文件,发现只有在创建SketchFlow project才能导入pptx文件。导入的其实就是一张png的图片,我在ppt中创建的动画效果都没有导入进来。 在blend3中导入的时候,需要先安装一个名为o2007pia.msi插件(http://www.microsoft.com/downloads/details.aspx?familyid=59DAEB...

weixin_33958585的博客 268

o

o

CrazyGou的专栏 888

微软技术日报 11-09:.NET 8 与 9 明日同时停止支持,注册表编辑器出了 WinUI 3 版

今天这四条消息的共同点是收口。.NET 8 和 9 的支持期到点,注册表编辑器的新界面只放在仓库里给人看,GitHub 把一类危险触发器按住默认,微软在安全报告里把防线从地址黑名单挪到行为。收口并不等于关门。.NET 10 还在支持期里,被按住的触发器可以用策略按文件放回来,实验室里的样例随时可能变成产品。区别在于这些动作要有人签字,不再是默认开着。如果今天只做一件事,去看一眼构建机上的 .NET 版本。明天之后,8 和 9 的漏洞补丁不会再来了。

海盗Sharp的博客 341
下一篇: OL 2000: 如何以编程方式创建一个窗体 http://support.microsoft.com/kb/238755/zh-cn
danielcheng
博客等级 码龄19年 0粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值