各位大侠救我!
我使用Setup Factory 6.0汉化版进行安装文件的制作,程序是Visual Basic 6.0编写的,我使用了DATA控件和DAO来连接Access数据库。打包时我在Setup Factory 6.0界面左侧的“运行时支持”中选择了“Visual Basic 6.0(SP5)”和“MDAC 2.6 SP1”模块。但是制作完成的安装文件在别的电脑上安装后,软件不能正确运行。启动时弹出错误提示:Class not registered.
Looking for object with CLSID:{00000010-0000-0010-8000-00AA006D2EA4}软件的第一个窗口要获取计算机的硬盘ID,或许与此有关。该窗口未能显示,然后出现第二个窗口,即主界面,进行用户选择操作时,又弹出错误提示:Run-time error '91':
Object variable or With block variable not set然后就退出了。不知什么原因,该如何解决,请高手赐教!另外以前我使用Setup Factory 5.0用同样方法制作的安装文件可以在别的电脑上正确安装(那台电脑除了windows系统什么都没有装),但是不知现在为何不行?
另外,在软件不能正确运行而我没有办法解决时,在这台电脑上也安装了Visual Basic 6.0,这个软件居然就能正确运行了。
我使用Setup Factory 6.0汉化版进行安装文件的制作,程序是Visual Basic 6.0编写的,我使用了DATA控件和DAO来连接Access数据库。打包时我在Setup Factory 6.0界面左侧的“运行时支持”中选择了“Visual Basic 6.0(SP5)”和“MDAC 2.6 SP1”模块。但是制作完成的安装文件在别的电脑上安装后,软件不能正确运行。启动时弹出错误提示:Class not registered.
Looking for object with CLSID:{00000010-0000-0010-8000-00AA006D2EA4}软件的第一个窗口要获取计算机的硬盘ID,或许与此有关。该窗口未能显示,然后出现第二个窗口,即主界面,进行用户选择操作时,又弹出错误提示:Run-time error '91':
Object variable or With block variable not set然后就退出了。不知什么原因,该如何解决,请高手赐教!另外以前我使用Setup Factory 5.0用同样方法制作的安装文件可以在别的电脑上正确安装(那台电脑除了windows系统什么都没有装),但是不知现在为何不行?
另外,在软件不能正确运行而我没有办法解决时,在这台电脑上也安装了Visual Basic 6.0,这个软件居然就能正确运行了。
解决方案 »
- vb怎么在webbrowser里显示里面鼠标在里面的坐标!
- listbox 复选选择的问题。。
- 高手帮忙看看(其中部分代码来自以前“zdingyun”同志的帮助):这样的程序能否利用串口接收不定长的字节数据(附源代码)
- 困扰我多时了。。。
- 我做了一个软件,在2000中完全正常,可在98里必须安装MDAC_TYP才行,见内!!50分!
- 如何用VB删除EXCEL中的记录
- 123
- 有人知道ActiveReports报表怎么自定义打印纸张大小吗?
- 如何解决用webbrowser自制的浏览器在打开新窗口时自动调用IE浏览器的问题?
- 何地下载VB6-PARK6
- 帮我看一下程序啊,我不知道错哪里了
- Setup Factory 制作的安装文件不能正确运行,急救!!!
regsvr32
或用其他的打包工具
如Inno Setup 5
如何注册?在本机注册还是在要安装软件的那台电脑上注册?
没有人帮我解答吗?
建议在重新打一次包,mdac要保持版本同步!
我估计问题还是出在ODBC上,但是我不知该怎么打包ODBC。我电脑上有以前下载的Setup Factory的支持模块安装文件,有MDAC2.6、MDAC2.7、dcom95、jet40,安装并在Setup Factory的安装文件夹runtimes里拷贝了相关执行文件(如MDACTYP.EXE)后,就可以在Factory 6.0界面左侧的“运行时支持”中选择。但是以前下载的ODBC支持模块现在不能正确安装,导致在Factory 6.0中也没有ODBC这个选择,所以不能一起打包。另外同样的原因我也不知道该如何打包MDAC2.8
我应该怎么办?高手救我!!!
chinayokel:Inno Setup我试过了,使用倒是方便,就是不知道怎么能打包MDAC等
既然是这样,肯定是有部分DLL或者是OCX文件(第三分控件你自己考虑,我说的是VB程序所必需的),具本人实验证明,以下文件是必须打包到安装程序中的:
Cmdlgchs.dll
Comdlg32.ocx
Mscmcchs.dll
Mscomct2.ocx
Msvcrt.dll
Tabctchs.dll
Tabctl32.ocx
Vb6chs.dll
Vb6stkit.dll
我按你列的文件都依次打包了,还打包了DAO360.dll,但是问题依旧。不过错误提示倒是变成中文的了:“类未注册”等等
组件是DAO.DBEngine.35 ,dll是:DAO350.DLLDAO360.dll版本对你的程序是否太高了?楼主再试试!
mfc42.dll
原因是因为把注册表中的CLSID:{00000010-0000-0010-8000-00AA006D2EA4}值给删除了。
而且因为setup factory工程中dao350.dll及相关文件,选择了“永不覆盖相同文件”,这样它就不会在安装的过程中注册。只要修改为“总是覆盖存在的文件”就OK了,当然自己去找一个老版的mdac(dao 3.5)来安装也可以。
结贴啦!另外我还有两个问题请教:
1、为什么在setup factory中自动扫描VB工程不会自动添加dao350.dll这个文件而需要再手工添加?
2、我这个程序是早以前做的,当时没有安装VB6sp5,所以引用的是DAO 3.51。现在还是这个程序,我在VB中菜单 工程/引用 中把DAO3.51去掉,勾选DAO 3.6,程序中代码不变,这样可否?我试着这样做,调试没有问题,然后重新生成执行文件,再用setup factory打包,不打包dao350.dll而打包dao360.dll,在别的电脑上安装,系统仍然出现原有错误,意即仍然需要dao350.dll文件,这又是为什么?此贴已结,请各位朋友到http://community.csdn.net/Expert/topic/4196/4196952.xml?temp=.4121515
帮我一把,还有100分奉送!谢谢了!