none
VC++ 2015编译生成的ATL COM组件无法在Windows XP中注册? RRS feed

  • 问题

  • 用VC++2015开发一个ATL类型的DLL组件MyTestDll(合并代理DLL),平台工具集选择“Visual Studio 2015 - Windows XP(v140_xp)”,编译生成后的MyTest.DLL组件无法在windows XP中注册,注册命令regsvr32 MyTestDll.dll,提示错误“DllRegisterServer失败,返回代码是0xc0000005”;但MyTestDll.dll可以在windows 7中正确注册。

    开发环境:windows 7 X64  +  VS2015

    测试环境:Windows XP X86系统,已经安装了VC++2015的vcredist_x86.exe


    请热心人随便做个最简单的程序,就可以发现这个问题。
    • 已编辑 wwwfffhhh 2015年10月25日 12:08
    2015年10月25日 11:54

答案

  • 你好,

    你的dll 是debug 还是release 生成的?很抱歉现在windows XP 系统现在已经不支持了,所以没有环境测试你的问题。XP环境下应该安装VCRedist就可以运行2015 的C++程序的。

    http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx

    你是windows XP SP2 吗?你另外找一台XP机器再试一下。还有注意XP上的一些三方软件先关掉。错误0xc0000005一般是内存访问出错,在XP SP2上较为常见,有时是杀毒软件等三方软件的影响。以下链接供你参考。

    http://www.updatexp.com/0xC0000005.html

    May


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年10月27日 2:12