- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于在VS205下编写CAB包无法正常安装的解决方法
虽然微软对ActiveX越来越不信任,但是这个技术还是很多人喜欢用的,这个博客的编辑器貌似就用到了ActiveX。
在我们编写好ocx控件后只有在打包成CAB文件加入数字签名后才能正常发布,如果你用的是vc6,那么问题简单了,打包完成后不用考虑控件的运行库问题,现在的XP系统和将要淘汰的2kpro都已经有了这样的运行库。但是如果使用的是.net2005就会遇到有关运行库的问题,这些问题只能依靠CAB压缩包中的安装文件?.inf来解决。
首先看看基本的inf文件格式
[version];区域设置signature=$CHICAGO$AdvancedINF=2.0?[Add.Code];该项会指明该安装包中有哪些项,这里说明包中有ActiveX.ocx、msvcr80.dll、mfc80u.dll、msvcp80.dll?四个项;这里一般会使用文件名和项名相同的方法,主要是便于维护ActiveX.ocx=ActiveX.ocxmsvcr80.dll=msvcr80.dllmfc80u.dll=mfc80u.dllmsvcp80.dll=msvcp80.dll[ActiveX.ocx];这就是Activex控件文件了file-win32-x86=thiscab?;表示所需要的这个文件就在当前的安装包中,file-win32-x86表示该文件是一个win32系统下的文件clsid={A3B4C60F-24A7-40E8-A06B-1A5EFE5F0A43};这里是这个安装包的GUID这个值是在创建项目的时候系统生成在,一般存放在以项目名命名的idl文件中,使用项目的类信息的GUIDRegisterServer=yes;说明这个控件是需要注册的,;一般情况下只有编写的文件是需要注册的,运行库文件和系统中可能存在的DLL文件是不用注册的,如MFC70.dll等FileVersion=1,0,0,1;这个文件的版本,注意要用逗号隔开[msvcr80.dll];这是ocx控件的第一个依赖文件,有的地方说明依赖文件必须按照依赖顺序安装,可以用所剩dll都依赖的文件最先安装”的规则来进行,但是我并没有在MSDN上看到什么地方有很明确的说明,并且在我自己的测试中也没有发现有关顺序的问题,并且很多地方都是将ocx控件写在最前面的,但是ocx文件是最依赖其他文件的,貌似按顺序写的做法有点“迷信”FileVersion=8,00,50727,42;这里是该dll文件的版本,这里注意下,这个版本可以在文件属性的版本选项卡中看到,不知道为什么这里显示的版本号有时会比最外面显示的版本号多一个0,注意,复制到inf文件后要将点分隔符改成逗号分隔符hook=mfc80installer;这个hook是个保留字,说明该项目被挂接到哪里,如果有则表示被挂接到目标项,hook不是一个必填项,这里表示该文件将被挂接到mfc80installer项[mfc80u.dll]FileVersion=8,00,50727,42hook=mfc80installer?[msvcp80.dll]FileVersion=8,00,50727,42hook=mfc80installer;上面两项都跟[msvcr80.dll]一样,这里就不解释了[mfc80installer];挂接项file-win32-x86=17/helloactivex/mfc80.cab;这里表示这个被挂接的文件的位置在一个地址run=%EXTRACT_DIR%vcredist_x86.exe;这里表示从这个地址下载到cab包后执行包里面的vcredist_x86.exe文件,%EXTRACT_DIR%表示下载后的解压目录
上面有一点没有说明白,就是“为什么会出现hook这个东西?”,很多的inf文件是这样写的
[Add.Code]msvcr80.dll=msvcr80.dllmfc80u.dll=mfc80u.dllmsvcp80.dll=msvcp80.dllActiveX.ocx=ActiveX.ocx[msvcr80.dll]file-win32-x86=thiscab;该文件在当前安装包中FileVersion=8,00,50727,42RegisterServer=no?;不需要注册destdir=11;该文件将被安装到系统所在目录的system32下;........
我使用这样的方法在没有安装过任何软件的2kpro和XP下测试过,均安装失败,其原因就是运行库不匹配,如果你的控件是用VS2005的MFC开发的话,使用这样的方法无法将msvcr80.dll,mfc80u.dl
您可能关注的文档
- 关于“一关于“事不再罚”原则在税务行政处罚中的运用的应用.doc
- 关于“亦师亦生的思考.doc
- 关于“反射隔热料”相关的标准问题.doc
- 关于“唾液多淀消化作用”的实验专题检测.doc
- 关于□□社区规化建设的自查报告.doc
- 关于《美容保健术教学大纲》.doc
- 关于三农的社会践报告.doc
- 关于上行网状激系统的叙述.doc
- 关于三林北蔡垃焚烧厂的论文.doc
- 关于严重心理问的案例咨询报告.doc
- 制动系统的特点项目一58课件.pptx
- 直接工程费价外运杂费填料费铁路工程施工组织与概预算78课件.pptx
- 主备用控制中心的切换LCF300型25课件.pptx
- 智能交通系统的相关技术任务三车辆自动驾驶技术王怡安徽交通6.pptx
- 智能交通监控系统任务三城市交通诱导系统诱导系统的组成王怡安.pptx
- 智能交通监控系统任务二城市交通监控系统王怡安徽交通67课件.pptx
- 直升机的特点和分类空气动力学基础与飞行原理86课件.ppt
- 直升机的飞行性能空气动力学基础与飞行原理67课件.ppt
- 职业形象塑造3职业教育国际邮轮乘务管理专业教学化妆与形象设.pptx
- 轴向拉压杆件的线应变和胡克定律张亚琴河北交通52课件.pptx
最近下载
- 混凝土结构设计原理-国家开放大学电大学习网形考作业题目答案.pdf VIP
- 标准图集-福建省绿色搅拌站建设示范图集03.pdf VIP
- 北京市丰台区2023-2024学年七年级下学期期末考试语文试题(含解析).pdf VIP
- 可用于多型号螺钉的螺纹胶上胶工装.pdf VIP
- (高清版)B/T 17639-2023 土工合成材料 长丝纺粘针刺非织造土工布.pdf VIP
- 调色师:达芬奇视频剪辑调色从入门到精通(上篇,共上中下3篇).pptx VIP
- 提高手术室内timeout执行规范率.ppt
- 最新国家开放大学电大本科混凝土结构设计原理期末题库及答案.pdf VIP
- 2024年12月英语六级真题(第1套).pdf VIP
- 地理 云贵高原 .ppt VIP
文档评论(0)