我写个小程序。用MS SQL Server的DTS导入/导出程序生成VB脚本,然后在VB程序中调用……程序在装有Server的机子上可以正常运行,而未装的机子却出“ActiveX 部件不能创建对象,错误429”。

解决方案 »

  1.   

    手工安装MDAC2.8MDACTYP.EXE或打包生成安装包在此机器上安装后再运行试试
      

  2.   


    呵呵,肯定了,因为你引用的对象组件在出错的机器上没有啊.就像Office组件一样,你没有安装,是建立不了对象的
      

  3.   


    你那程序内部引用了一个或者多个SQL的子对象了
      

  4.   

    你的程序调用了SQL Server的功能,当然在运行时需要安装SQL Server。
      

  5.   

    我的在程序里应用了三个引用:
    Microsoft DTSPackage Object Library   dtspkg.dll 
    Microsoft DTSDataPump Scripting Object Library  dtspump.dll 
    Microsoft DTS Custom Tasks Object Library  custtask.dll在客户机上可以编译通过,就是执行exe时出现“ActiveX 部件不能创建对象,错误429”。
    我也看了一些帮助,如下文:
        Yes it bothered me a lot for some time. The solution is actually very easy once you know it.All you have to do is to add Licenses, but NOT to your class but to RegistryThe entire .reg file that fixes the problem loks like:Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Licenses\2c49f800-c2dd-11cf-9ad6-0080c7e7b78d]
    @="mlrljgrlhltlngjlthrligklpkrhllglqlrk"Hust save this to a file (don't forget to include "Windows Registry Editor Version 5.00" line) and run it on the machine that needs to use Winsock (which DOESN'T have the VB on it). And that's it!Hope this helps,
    Misa.Btw, the solution with Licenses.Add("MSWinsockLib.Winsock") will not work because there is no license for MSWinsockLib, only for MSWinsockP.S. Thanks for posting this problem it helped me find what the problem with my ActiveX DLL was找它这做了,不行!!??那位同志帮帮忙!
      

  6.   

    无法创建对象错误,
    你的组件没有注册
    请用regsvr32 注册