我用vista+vs2008写了一个activex控件,然后用depends分析了依赖的文件,我把所有的需要的文件全部拷到了一个文件夹中,然后把这个文件夹拷到一个虚拟机中安装的xp系统中,我把该文件夹的路径添加到环境变量的path中,然后我把文件夹中的所有的动态链接库注册了一下,只有一小部分成功了,大部分失败了,然后注册我写的控件,注册失败。
然后我在xp系统中安装了vs2008,没有重新编译连接,注册成功了,然后我又把源程序在xp中重新编译连接了一下。把重新编译连接的控件放到另一个刚安装完的xp系统中。还是注册失败。
请问这是什么原因?怎么样才能把用vista+vs2008写的控件成功的在xp或2003中注册?万分感谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    如果你动态链接运行库mfc atl库的话你把
    \Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT
    用到mfc的话
    Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.MFC
    用atl的话
    \Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.ATL这些dll还有你编译出来的dll放到system32目录再去注册
      

  2.   

    搞得那么麻烦,全静态编译,debug版中把/MDd改成/MTd,Release版中把/MD改成/MT
      

  3.   


    哈哈 够狠 对 这样应该可以解决问题,而且也不要考虑Windows系统之间的兼容问题了