环境:VS2005 C# XP工程中引用了shdocvw.dll,本机运行一切正常。但程序移到别的机器上就异常,怎么办?

解决方案 »

  1.   

    有没有把 那个 shdocvw.dll 带过去啊  还有路径要一样
      

  2.   

    把dll copy到对应的目录下,重新编译。如果还不行的话,把dll删除后重新导入一下
      

  3.   

    shdocvw.dll 是system32下的系统DLL,原先我把它拷到安装目录里,这们加引用,但安装时提示无法注册。考虑到是和系统的冲突,就引用了system32下的shdocvw,编译成功,但客户机上不能运行
      

  4.   

    在References里对着你引用的dll点右键属性,看看Copy Local的值是否设置正确。
      

  5.   

    shdocvw.dll是COM组件,如果操作系统版本一样的话,都应该有的,就算要注册,也得用regsvr32命令来注册,直接复制过去是没用的。
      

  6.   

    你怎么保证他的dll的位置和你的一样,而且版本和你的一样
    让他用你的dll试试看
      

  7.   

    开始我把该DLL放到安装目录,然后引用。在目标机器上安装时提示无法注册该DLL(VS做的安装布暑)
      

  8.   

    shdocvw.dll是IE组件...如果其他计算机上的IE版本和你引用的不同就可能发生异常...除非统一客户端IE版本,否则是没办法解决的...
      

  9.   

    另外就算是同样版本的IE,如果有更改过shdocvw.dll版本的安全补丁,有没有打补丁也会影响...一句话,你就不该用这个组件...
      

  10.   

    我机器IE版本和目标机器IE版本前三个小数点内都一样
      

  11.   

    vrhero :我用这个组件来更改webbrowser控件,不用怎么行呢?自己声明定义?
      

  12.   

    sorry:貌似改webbrowser的不是用的它,好像可以去掉,我看看