网站大量收购独家精品文档,联系QQ:2885784924

C实现ActiveX控件开发与部署安装打包篇.pdfVIP

C实现ActiveX控件开发与部署安装打包篇.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C实现ActiveX控件开发与部署安装打包篇

因为C#开发的Dll是没有办法直接在页面中调用的,而且使用regsvr32是没办法注册的,只用 使用regasm才可注册成功,所以我们需要把它处理一下。 首先,我们在刚才开发用的解决方案中,创建一个“安装项目” 然后添加一个“项目输出” 选择“主输出” 在建立的输出上右键属性,注意Register这一项一定要是“vsdrpCOM”。标识使用regasm来完 成注册 另外提醒,在“检测到的依赖项”中双击“Microsoft .NET Framework”,然后“启动条件”的.Net Framework上右键属性这里可以调整安装包以来的framework版本,在安装项目右键属性的“系 统必备”中,可以指定环境必须的framework版本。这些如果你是仅需要低版本要求时,是需要 更改的,否则可能到目标主机上部署时会遇到莫名其妙的问题。 妥了,开始生成安装包。会生成一个exe,一个msi 。这里我们使用msi即可。 另外注意,因为我们是使用msi的方式部署控件,这样就会有一个控件的安装过程 (可以静 默),所以你可以指定安装包的版本,用于以后自动升级;可以制作卸载程序,用于手动卸载 等等,看各位的需求了,简单贴上来一个制作卸载的过程,供大家参考: 拷贝文件C:/Windows/System32/msiexec.exe文件,修改文件名为Uninstall.exe,添加到安装项 目中,然后创建一个快捷方式。 在 【用户的“程序”菜单下边】添加一个文件夹ActiveX Unstall,将快捷方式拖动到这里边。 在卸载控件上点击右键,属性: 设置Arguments,就是指定要卸载的程序,后面的ProductCode可以这样获得: 选中项目,然后鼠标放到右侧的“属性”上,就可以看到ProductCode 了: 现在我们有了这个msi,下面我们开始打成cab包 先去微软下载cabsdk(下载地址:/kb/310618),我们需要里面的 CA BA RC.EX E工具 然后我们开始编写cab安装配置文件install.inf (文件名可以自定义) 内容如下: [version] signature $CHICAGO$ AdvancedINF 2.0 [Setup Hooks] HOOKRUN1 HOOKRUN1 [HOOKRUN1] run msiexec.exe /i %EXTRACT_ DIR%/QRCodeActiveX Install.msi /qn 也有人提出过下面的形式: [Version] signature $CHICAGO$ AdvancedINF 2.0 [Add.Code] WebControl.dll WebControl.dll Chart.dll Chart.dll ;需要注意是在[Add.Code]区出现的文件要根据依赖性进行排序 [WebControl.dll] file-win32-x86 thiscab RegisterServer yes clsid {5B7E1537-103F-4484-8326-2AA643E4537F} DestDir 11 ;默认目录C:/WINDOWS/Downloaded Program Files FileVersion 1,0,0,0 [Chart.dll] file-win32-x86 thiscab RegisterServer yes clsid {0711C135-284C-4082-BE3D-C4 1B9B668527} DestDir FileVersion 3,2,2697,18420 但经过实际测试这样是不行的,因为 RegisterServer的注册方式实际上是调用了regsvr32完成 了控件的自动注册,而我们用c#实现的这个dll,不能通过regsvr32来完成注册,而是需要通过 regasm来完成。所以这样的话,上面的配置脚本会导致注册失败。反过来讲,如果我们使用 的是ocx的方式,上面的方法就是可行的。 而对于上面正确的脚本而言,有些人反映在某些系统环境下无法自动调用msiexec.exe,这样 的话可能需要调整一下思路,编写一个批处理run.bat set CURDIR %cd% msiexec.exe /i Setup.msi /qn 然后修改

文档评论(0)

yaobanwd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档