用vc2008 写了个OCX并打包成.cab给WEB用,在他的机器上出现错误,但可以手动注册OCX却可以.不知道什么?
错误如下:
Debug Error!
Program:C:\Program Files\Internet Explorer\IEXPLORE.EXER6034
An application has made an attempt to load the C runtime library without using a manifest.
This is an unsupported way to load Visual C++ DLLs.You need to modify your application to build with a manifest.For more information,see the "visual c++ Libraries as Shared Side-by-Side Assemblies" topic in the product ducumentation. 

解决方案 »

  1.   

    你打包的时候还要带上你开发的dll等用到的VC run time 运行库的dll以及manifest文件,可以参考vc2008中的redistribution package
      

  2.   

    那些DLL文件都加了,还加了msvcr90d.dll,msvcp90d.dll,msvcm90d.dll和Microsoft.VC90.DebugCRT.manifest,刚开始是因为缺少这4个文件而注册不上,后来加上后,那边可以手动注册成功了,但Cab包却提示错误.是打包时的inf文件里写的DLL文件顺序有关系吗,还是我编译的有问题.
      

  3.   

    估计跟 inf 有关,其实用静态链接不行吗?
      

  4.   

    项目属性设置的是:在静态库中使用MFC.运行时库选择的是:多线程(/MT)
      

  5.   

    请参考参考vc2008中的redistribution package
      

  6.   

    inf文件中可以执行命令,建议你在cab包中加上redistribution package,然后在inf文件中加上安装package的命令。另外,你测试的机器是什么系统?感觉报错信息是因为UAC的原因