首页 新闻 搜索 专区 学院

关于c#打包cab后安装activex失败的原因,求救

0
悬赏园豆:30 [已解决问题] 解决于 2012-03-29 10:29

最近用了c#做了一个测试的activex控件,控件制作好了,也打包成cab了,在网页访问的时候也有提示安装,点击安装后就没有反应了,网页下面显示完毕。但是重新刷新后还是提示安装与否,但是总是安装不成功,这个是什么问题了?求教。

噹里个噹的主页 噹里个噹 | 菜鸟二级 | 园豆:202
提问于:2012-03-26 15:36
< >
分享
最佳答案
0

可以尝试着封装一个OCX啊,然后在JS里面调用。

收获园豆:20
憤怒的小鳥 | 菜鸟二级 |园豆:206 | 2012-03-26 16:35

能提供相关的资料吗?我试试

噹里个噹 | 园豆:202 (菜鸟二级) | 2012-03-26 16:39

@黑精灵: 打包OCX方法,VS新建一个Activex项目,然后编写一个测试的方法(注:为了使JS端方便调用,这个方法的参数及返回值不要使用指针这种JS不支持的类型)。然后编译,在relase里面会获取到.ocx文件。然后通过cmd命令:regsvr32 test.ocx 就可以注册ocx了。注册成功后,在注册表中找到这个ocx的classid。最后在JS页面中,通过object标签引入ocx到页面。记得object标签需要2个重要的参数,一个是ocx的路径,另一个就是classid。如果以上操作都没问题的话,运行IE浏览器的时候就会提示加载Activex控件了。在JS中调用OCX中的方法如下:例如object标签的id=“testid”,OCX中的方法名为:test()。那么JS代码如下:

function test01(){

       var result=testid.test();

  alert(result);

}

憤怒的小鳥 | 园豆:206 (菜鸟二级) | 2012-03-27 11:30

@憤怒的小鳥: 

这个,vs里面没有activex项目啊,只有控件库项目。我这边使用c#开发的。

噹里个噹 | 园豆:202 (菜鸟二级) | 2012-03-27 15:56

@黑精灵: activex项目 是C++ MFC的

憤怒的小鳥 | 园豆:206 (菜鸟二级) | 2012-03-27 20:44

@憤怒的小鳥: c#也有的,继承usercontrol就好了。问题解决了,是打包成cab的时候inf文件路径写错了。不过谢谢你哈

噹里个噹 | 园豆:202 (菜鸟二级) | 2012-03-29 10:28
其他回答(2)
1

你有些依赖的包没有打进去,所以安装不成功,你看下你打包后的文件大小,与其他文件的大小比较下

收获园豆:10
az235 | 园豆:8283 (大侠五级) | 2012-03-26 18:15

在客户端单独安装这个msi后,客户端就能看见了啊~初步怀疑是没有下载成功下来。

支持(0) 反对(0) 噹里个噹 | 园豆:202 (菜鸟二级) | 2012-03-26 19:18
0

请问,那个路径要怎么填?

LiuZf | 园豆:202 (菜鸟二级) | 2012-10-10 17:24

哪个?

支持(0) 反对(0) 噹里个噹 | 园豆:202 (菜鸟二级) | 2012-10-17 21:53

@小咖啡_东篱: 谢谢你,我说的是cab包的路径,我照网上的方法弄好了:).

支持(0) 反对(0) LiuZf | 园豆:202 (菜鸟二级) | 2012-10-19 08:37

@LiuZf: 求方法,791320764@qq.com,谢谢

支持(0) 反对(0) 千里草无一师 | 园豆:200 (初学一级) | 2016-12-12 10:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册