我用VB6.0做的工程想拷到别的机子上运行。我使用了Setup Factory 7.0来制作安装包。制作出来的安装包在别的机子上可以成功安装(机子上没有装过VB6.0),但是运行的时候提示错误3706,未找到提供程序,该程序可能没有正确安装。
   我的机子是XP,SP2系统,目标机是SP3的系统。
   我在网上查了查,好像和ADO有关系。但是我的ADO连接代码全是手工编写的,路径也都是相对路径,使用的是Microsoft.Jet.OLEDB.3.51。这个是什么原因呢?有遇到过相同问题的朋友么?

解决方案 »

  1.   

    1)工程向导中注意:
    如果有的话,你的应用程序使用了以下哪些技术 的选项
    为从属扫描Vissual Basic工程文件 的 Vissual Basic版本选择2)XP SP3加了好多安全补丁,这些补丁可能会影响到你的程序不能运行.3)建议再找一台没有装过VB6的XP sp2的机子测测你的安装程序。
      

  2.   

    别外建议使用Microsoft.Jet.OLEDB.4.0;Microsoft.Jet.OLEDB.3.51不支持ACCESS 2003。
      

  3.   


    刚才我试了下1),创建出来的安装文件比以前的大了些,但是安装的时候出现了错误:
    注册COM(ACTIVEX)控件失败:C:\WINDOWS\system32\Macromed\Flash\Flash10c.ocx
    DLLREGISTERSERVER返回失败代码(0) 这个是怎么回事啊?我一会再试试SP2的机子和Microsoft.Jet.OLEDB.4.0。
    4.0和3.51语法好像有些不一样,直接改成4.0报错误。
      

  4.   

    Setup Factory 7.0中选择你的C:\WINDOWS\system32\Macromed\Flash\Flash10c.ocx属性从不覆盖试试。
      

  5.   


    刚试了下,安装的时候没问题了。打开运行还是提示错误3706,未找到提供程序,该程序可能没有正确安装。
    我改成Microsoft.Jet.OLEDB.4.0再试试
      

  6.   

    Microsoft.Jet.OLEDB.4.0这个一改,怎么老提示FROM子语句错误    Dim ConnStr As String
        ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;" & "Data Source=" & App.path & "\test.mdb"
        Adodc1.ConnectionString = ConnStr
        Adodc1.CommandType = adCmdTable
        Adodc1.RecordSource = "user"
        Adodc1.Refresh
        Set DataGrid1.DataSource = Adodc1然后报Adodc1.Refresh这行错误。test.mdb已经改为VERSION7.0
      

  7.   


    我一直用 VB 自带的打包程序,很少出问题。稍麻烦一点的是,每次都到 Win98 下打包。
      

  8.   


    Adodc1.RecordSource = "user"
    你的ACCESS库中有user表中注意拼写错误
      

  9.   

    你的ACCESS库中要有user表,注意拼写错误 
      

  10.   

    Setup Factroy 7.0使用说明书 中文版
    http://download.csdn.net/source/1421217
      

  11.   

    库中有user表,拼写没有错误啊
    我登录界面的连接代码,也报同样的错误Dim conn As New ADODB.Connection
        Dim rs As New ADODB.Recordset
        Dim ConnStr, MySql, password As String
        ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.path & "\test7.mdb"
        MySql = "select password from user where username='" & txtUserName.Text & "'"
        conn.Open ConnStr
        rs.CursorLocation = adUseServer
        rs.Open MySql, conn, adOpenForwardOnly提示是rs.Open MySql, conn, adOpenForwardOnly这行出错。晕死了想做个安装包这么麻烦额,还没有编的这么容易
      

  12.   

    用ADO控件直接,连接数据库,数据选择你要的表,然后测试,测试成功后,把字串粘贴过来.
      

  13.   

    别外的这一个是打包的DLL文件截图,你参考一下:
      

  14.   

    Private Sub Command1_Click()
        Dim ConnStr As String
        ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\zyq-system\works\四川GPRS电网监控系统\gprs-monitor-last7\gprs-monitor-last7\wgbc.mdb;Persist Security Info=False"
        Adodc1.ConnectionString = ConnStr
        Adodc1.CommandType = adCmdTable
        Adodc1.RecordSource = "wgbc"
        Adodc1.Refresh
        Set DataGrid1.DataSource = Adodc1另外,这是我连接我的数据库测试的没有问题.End Sub
      

  15.   

    使用控件测试连接是成功的,然后选择表的时候,提示FROM子语句错误。
      

  16.   


    Private Sub Form_Load()
        Dim ConnStr As String
        ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.path & "\test7.mdb;" & "Persist Security Info=False"
        Adodc1.ConnectionString = ConnStr
        Adodc1.CommandType = adCmdTable
        Adodc1.RecordSource = "user"
        Adodc1.Refresh
        Set DataGrid1.DataSource = Adodc1
    End Sub
    我只是用了相对路径啊。应该不是这个问题吧,晕死了
      

  17.   

    我的数据库文件是使用的VB6.0IDE中的外接程序-可视化数据管理器创建的ACCESS VERSION7.0
      

  18.   

    test7.mdb在你的程序存盘的文件夹内里吗?
      

  19.   

    写成绝对路径还是一样。FROM子语句错误。
    实时错误 '-2147217900 (80040e14)':
    对象 'Refresh'的方法 'IAdodc'失败