把路径加上引号
""""+"C:\Program Files\mydll.dll"+""""类似这样。你的代码我没看明白

解决方案 »

  1.   

    Chice_wxg(我怕谁?我是谁!我是流氓我最贼。)说得对
    这样改一下
    shellx = Shell("regsvr32.exe """ & xX & """", vbMaximizedFocus)
      

  2.   

    LoadLibrary ("c:\program")faild ?
    是COM组件吗?是用VB写的DLL吗?
    只有支持自注册的COM DLL才能用Regsvr32来注册。
      

  3.   

    同意 上面的
    'Dim shellx
    Dim xX As String
    Text4.Text = "yyy.dll"
    xX = App.Path & "\" & Text4.Text
    Shell "regsvr32.exe """ & xX & """", 3
      

  4.   

    气死我了,怎么都被他们说了。
    不过,其实还有一个解决办法,就是打包时指定你的这个DLL安装路径为
    WINSYSPATH,那样这个DLL文件就会被安装到C:\WINDOWS\SYSTEM,
    注册时就可以不用路径,直接
    Shell("regsvr32.exe " & Text4.text, vbMaximizedFocus)
    就可以了。
    还是我的办法简单。
      

  5.   

    regsvr32 好像只能用短路径格式吧 试着用GetShortPathName转换一下
      

  6.   

    谢谢 各位!xxlroad 是解决问题的有效方法。
    问题主要是文件路径中带有空格引起的。
      

  7.   

    谢谢 各位!xxlroad 是解决问题的有效方法。
    问题主要是文件路径中带有空格引起的。