程序在其他机器上运行,报了run-time error '339 '错误,如何解决?

8250089 2008-01-03 02:13:16
打包后在其他机器上安装,运行报错:
run-time error '339'
component 'MSDATGRD.OCX' or one of its dependencies not correctly registered:a fiel is missing or invalid
应该是'MSDATGRD.OCX' 控件没有注册吧。具体应该怎么做呢?才能在别的机器上正常运行,用户不知道控件注册这些东西,只会安装使用。
谢谢大家~
...全文
32889 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyz729 2011-01-19
  • 打赏
  • 举报
回复
sssss
LXXLLL20082100203 2011-01-10
  • 打赏
  • 举报
回复
~好东西!~
zjn6933 2010-09-10
  • 打赏
  • 举报
回复
原来是控件没有注册呀
snakeever 2010-08-04
  • 打赏
  • 举报
回复
很棒,学习了
还想懒够 2008-01-04
  • 打赏
  • 举报
回复
也可以使用InstallShield,在微软的网站上有相关的MergeModule可下载,可自动安装后进行注册
chuting1 2008-01-04
  • 打赏
  • 举报
回复
一是打包时加上'MSDATGRD.OCX'
二是拷贝上'MSDATGRD.OCX'到c:\windows\system32,用regsvr32 c:\windows\system32\msdatgrd.ocx 即可

东方之珠 2008-01-03
  • 打赏
  • 举报
回复
to 8250089:
这个问题我碰到过。还有一个办法可以解决,可以避免你手工注册,那就是添加打包文件的时候有一个选择导入你的VB工程,如果你的VB工程中使用了MSDATGRD.OCX控件,那么setupfactory会自动搜集你所使用的所有控件并注册;这样导入进来的控件,在文件属性中可以看到有关安装时要求注册的信息。
8250089 2008-01-03
  • 打赏
  • 举报
回复
to chenjl1031 :
我试了一下,我用setupfactory 7.0,创建工程把文件加进来后,右键单击文件选择最下面“文件属性”,然后选“高级”,有一项OLE/ACTIVEX,选中其中的“注册COM接口”。但是点“确定”后提示:"注册COM接口设置对于以下文件已被禁用,它不支持DLLRegisterSever"。不知这是什么原因。

最后我加了一个.bat文件,regsvr32 MSDATGRD.OCX;然后将该文件和程序一起打包。这样问题解决了。
谢谢大家~~~~~~
一会儿给大家加分!!!!
guyehanxinlei 2008-01-03
  • 打赏
  • 举报
回复
在打包时需要将所用到的插件全部放进去,SetupFactory打包工具还挺好用,会自动将程序所用到的支持文件全部引入进来,楼主可以选择其中的必要文件进行打包。
mynbasky 2008-01-03
  • 打赏
  • 举报
回复
如果不大包的话,建议做一个批处理。进行注册。bat文件 的内容:regsvr32 MSDATGRD.OCX 。说明bat文件和 MSDATGRD.OCX 必须在 同一目录。
东方之珠 2008-01-03
  • 打赏
  • 举报
回复
应该可以,用setupfactory打包的时候,右键单击文件选择最下面“属性”,然后找到注册COM组件。
8250089 2008-01-03
  • 打赏
  • 举报
回复
谢谢,我试试
我把MSDATGRD.OCX拷贝到要打包的文件里,然后一起打包就可以了吧?
东方之珠 2008-01-03
  • 打赏
  • 举报
回复
使用打包安装工具:Setup Factory 7.0.1 汉化版(修正) 不提示。自动识别版本问题,若版本高就自动覆盖,版本低就不复制。
下载地址:http://download.zol.com.cn/detail/9/89213.shtml
东方之珠 2008-01-03
  • 打赏
  • 举报
回复
打包的时候将MSDATGRD.OCX打包进去,安装程序会自动注册。建议用setupfactory打包。

7,786

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧